CSS 知识点总结

81 阅读2分钟

一、line-height继承问题

下面有一段代码,请问div的行高是多少?

image.png

答案是60px,20*300% = 60px

image.png

这道问题的考点是:当line-height的值是百分比的时候,继承的是计算之后的结果,也就是20 * 300%=60,是这样计算的;当line-height的是px时,直接继承

二、rem

移动端需求的公司会问,为了验证你是否具备移动开发的最基本能力。 主要就是问rem是什么,和em、px的区别,以及是如何进行响应式布局的

  • rem是相对长度单位,和em不同的是rem总是相对于根元素,而不像em一样使用级联的方式来计算尺寸
  • em也是相对长度单位,任意浏览器的默认字体高都是 16px
  • px是绝对长度单位

参考了juejin.cn/post/694561… 这篇文档 image.png

为了解决这个弊端,我们可以用vh/vw来解决

  • vh 视口高度的百分之一
  • vw 视口宽度的百分之一

` vw是根据窗口的宽度,分成100等份,100vw就表示满宽,50vw就表示一半宽。(vw 始终是针对窗口的宽),同理,vh则为窗口的高度。

vm只和当前设备的宽度有关系,%有继承关系 `

三、padding和margin

边距又分为内边距(padding)和外边距(margin)。

margin是盒子的外边距,即盒子与盒子之间的距离,而padding是内边距,是盒子的边与盒子内部元素的距离。

四、块级元素和内联元素

这道题就是会问你块级元素有哪些和内联元素有哪些及特点,以及之间怎么相互转换

2.1 块级元素

  • 常见的块级元素有div p h1 h2... ul ol等
  • 块级元素会独自占据一行,可以声明宽和高
  • display:block可以把元素转换为块级元素

2.2 行内元素

  • 常见的行内元素有 span a input button
  • 行内元素会出现在一行,不会起新行。不能直接声明宽高,如果要声明宽高需要把元素转换为行内或者行内块元素。
  • display:inline把元素转换为行内元素

2.3 行内块元素

  • 不自动换行,可以声明宽高
  • display: inline-block将元素转换为行内块元素

五、如何让谷歌浏览器支持小字体

image.png

image.png

chrome浏览器字体最小最小是12号字体,不能再变小了,所以需要使用transform变为多少倍

image.png

方所为原来的0.5倍。结果图:

image.png