现在我们想要调试这个标题的层级关系。试着使用如下的 CSS 作用于所有的元素。
这样我们所有的元素都会添加一个边框。可以方便的看到不同元素的位置关系。
我们再对这个样式进行改进,添加 color 和 background,并且使用 !important 来修饰(我们只在 debug 的时候用到该样式,!important 是个不错的选择,来大大减少样式冲突的可能)。
修改后的标题样式如上所示。给所有元素的 color 和 background 设置一个半透明的蓝色使得 debug 界面更加清晰,而且使用半透明的颜色有一个好处是多级嵌套的地方颜色会变深(更白或更蓝)这样我们可以知道更多的细节。
我们还可以更具自己的情况对这个 debug 样式做调整,比如标题中现在用了阴影,对视觉上有一定的影响我们可以强制去掉,还有不希望显示矢量图,最终我们获得如下的样式:
1、元素的margin的top、bottom及padding的top、bottom使用百分比作为单位时,其是相对父元素的宽度width的而不是我们想象的高度height其实出现这种现象,我们可以巧用margin/padding的百分比值实现高度自适应。当然该元素高度上的百分比是相对其父元素高度的百分比的,min-height及max-height也适用这条规律。2、含有定位属性的元素,其top、bottom单位为百分比时,该百分比是相对于父元素的高度的。同理,left、right则是相对于父元素的宽度的。
3、边框宽度不允许使用百分比值。这点就不解释了。
4、width:100%,当父容器里有绝对定位的子元素时,子元素设置width:100%实际上指的是相对于父容器的padding+content的宽度。当子元素是非绝对定位的元素时width:100%才是指子元素的 content ,其等于父元素的 content宽度。
5、line-height。你知道line-height:150%和line-height:1.5的区别吗? line-height有单位时,子元素是继承父元素的line-height的,无单位时,其line-height等于无单位的数值乘以子元素本身的字体大小。显然为了不出现意外,还是建议首选无单位的。
6、ex和 ch单位。ex:取当前作用效果的字体的x的高度,在无法确定x高度的情况下以0.5em计算ch:以节点所使用字体中的“0”字符为基准,找不到时为0.5em。
ex和 ch单位,类似于 em和 rem,依赖于当前的字体和字体大小。但是,不同的是,这两货是基于字体的度量单位,依赖于设定的字体。7、使用calc时运算符之间要有空格 ,否则可能无效。
以上这7个知识点你们掌握了吗?更多的内容资讯,小编会及时发布在本平台,请及时关注哦!