当前位置: 首页 > Web前端 > HTML5

7Web前端程序员必须会用CSS的技巧

时间:2023-04-05 21:25:53 HTML5

1.当元素的margin的top和bottom和padding的top和bottom为一个单位时,是相对于父元素的width而不是我们想象中的height;举个例子:其实出现这种现象,我们可以巧妙地利用margin/padding的百分比值来实现高度自适应(多用于占位和避免闪烁)。在这里,我建了一个前端学习交流群:132667127,自己整理的最新前端资料和进阶开发教程。如果你愿意,你可以加入一个小组一起学习和交流。当然,元素高度的百分比是相对于其父元素高度的百分比,min-height和max-height这个规则也适用。2、对于有定位属性的元素,当top和bottom单位为百分比时,百分比是相对于父元素的高度。同样,left和right是相对于父元素的宽度。关于这一点,昨天查资料写这篇文章时——最全面的元素水平和垂直居中方法总结,发现有大牛也误会了——CSS布局奇葩技巧——各种方法之八定心点。3.边框宽度不允许使用百分比值,不做解释。4.width:100%当父容器中有绝对定位的子元素时,子元素设置width:100%其实是指padding+content相对于父容器的宽度。当子元素为非绝对定位元素时,width:100%指的是子元素的内容,等于父元素的内容宽度。将上述子元素的position改为relative后,其宽度就变成了父元素的宽度。5、你知道line-height:150%和line-height:1.5的区别吗?如果你知道,你可以跳过这里。不知道的继续往下看:例如:上面可以看到,当line-height有单位时,子元素继承父元素的line-height,当没有单位时,它的行高等于无单位数乘以子元素本身的字体大小。显然,为了避免意外,建议选择unitless。6、ex和ch的单位是ex:取当前效果字体的x高度,如果无法确定x高度,则用0.5em计算;ch:以节点使用的字体中的“0”字符为基准,则找不到0.5em;ex和ch单位,如em和rem,取决于当前字体和字体大小。但不同的是,这两项是基于字体的计量单位,取决于设置的字体。ch单位通常定义为数字0的宽度。你可以在EricMeyers的博客中找到关于它的一些有趣的讨论,例如,将等宽字体中的字母“N”的宽度设置为40ch,然后它可以包含另一种字体的40个字母。该单元的传统用途主要是用于盲文排版,但肯定还有其他可以应用的地方。ex定义为当前字体中小写x字母的高度或1em的1/2。很多时候,它是字体的中间标记。x-高度;小写字母的高度x这些单位有很多用途,主要用于微调排版。比如sup元素(上角的文字标记)可以通过position:relative;bottom:1ex;来实现。以类似的方式,您可以实现底角文本标记。浏览器默认的方法是使用上标和下标特定的垂直对齐规则,但是如果你想要更细粒度更精确的控制,你可以这样做:css代码7,使用calc时运算符之间必须有空格,否则它可能无效。