Re: [问题] CSS 阶层问题一箩筐

楼主: iamnodoubt (Have Fun)   2015-05-06 22:35:01
※ 引述《befdawn (贝夫洞)》之铭言:
: 各位好,最近在 udemy 初学 CSS,想请求前辈指点一二
: 这是我练习打的码
: http://jsbin.com/robupe/1/edit?html,output
: 1. 请问关于阶层问题,
: 为何 background-color: #eee; 要放在 #bar li,不能放在 #bar 或者 #bar ul 内呢?
: 2. 同样地,
: 为何 margin: 0; 要放在 #bar ul 内,不能放在 #bar 或者 #bar li 内呢?
: 3. 究竟该怎么看待这样的阶层与属性的关系?目前找不到逻辑,只知道试三次总会成功
: ,但想找个可寻之法。(感觉需要经验去累积?Orz)
: 先谢谢各位前辈了!
因为子元素用float
母元素没办法被子元素撑开
你开dev tool去看ul跟#bar的box-model就知道了
height=0
最常用的应该是overflow
其他你看这篇文章
https://css-tricks.com/all-about-floats/
作者: befdawn (橙花雨露)   2015-05-06 23:23:00
谢谢回复!我知道为何背景不能用在 #bar 的原因了(母元素的 #bar 与 #bar ul 会没有东西包住)但还是不太理解 margin: 0; 不能放在其他两处的原因?
作者: evilzero24 (沉默是金)   2015-05-06 23:39:00
2.每个元素有自己的 margin ,会放在 ul 是因为他原本自是有默认的margin,因为在此是要拿来做选单,所以把他全清掉。div 及 li margin 默认就是 0 所以才没有特别去清除默认值
作者: befdawn (橙花雨露)   2015-05-06 23:53:00
了解!! 太感谢!想顺便问 overflow 也是这部分的吗?感觉有点像是分段落(格式的分段落?)
作者: mmis1000 (秋月恋枫)   2015-05-07 02:58:00
个人建议,可以用normalrize.css之类,拿掉那些默认样式可以让你少踩一堆地雷
作者: evilzero24 (沉默是金)   2015-05-07 09:01:00
ul li 一开始只是符号清单,ul前方会有 margin是很正常的,只是被我们拿来做成选单所以才需要清除默认。不过若要做跨浏览器的话,就建议去查 reset.css了每个人观念都不大相同,提出我的建议参考参考overflow 一开始只是照它字面上的定义,只是可以清除float 的附加效果吧 XDDD建议原 PO 去更仔细的看 float 的使用与清除会比较好
作者: befdawn (橙花雨露)   2015-05-07 09:50:00
谢谢建议!!:D

Links booklink

Contact Us: admin [ a t ] ucptt.com