css中的宽高以及百分比参照

百分比数参照物

  • 属性值设置为百分比时,所参照的对象:

    参照父元素宽度:padding,margin,width,text-indent

    参照父元素高度:height

    参照自身:transform中的translate()

DOM属性之 OffsetWidth / ClientWidth / ScrollWidth

  • OffsetWidth 对象所在元素的实际宽度
    dom.offsetWidth = dom_content + padding + border(包含滚动条)+ margin

  • ClientWidth 对象内容的可视区域的宽度
    dom.clientWidth = dom_content + padding(不包含滚动条)

  • ScrollWidth 对象的实际内容的宽度(包含滚动区域中未显示完全的部分)
    dom.scrollWidth = real_content + padding

其他单位

vh:窗体高度     vw:窗体宽度     em:继承字体倍数   rem:根节点字体倍数

1.em

在做手机端的时候经常会用到的做字体的尺寸单位。

说白了 em就相当于“倍”,比如设置当前的div的字体大小为1.5em,则当前的div的字体大小为:当前div继承的字体大小*1.5
但是当div进行嵌套的时候,em始终是按照当前div继承的字体大小来缩放。

2.rem

r就是root的意思,意思是相对于根节点来进行缩放,当有嵌套关系的时候,嵌套关系的元素的字体大小始终按照根节点的字体大小进行缩放。

3.vh

vh就是当前屏幕可见高度的1%,也就是说 height:100vh == height:100%;

但是有个好处是当元素没有内容时候,设置height:100%该元素不会被撑开,

但是设置height:100vh,该元素会被撑开屏幕高度一致。

4.vw

vw就是当前屏幕宽度的1%

补充一句,当设置width:100%,被设置元素的宽度是按照父元素的宽度来设置,但是100vw是相对于屏幕可见宽度来设置的,所以会出现50vw 比50%大的情况

posted @ 2019-01-16 22:29  朝日asahi  阅读(1111)  评论(0编辑  收藏  举报