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

关于CSSunit%

时间:2023-04-03 00:24:47 HTML

Tips的一些总结:关于包含块的知识,可以先阅读《关于CSS中设置overflow属性的值为hidden的相关理解》一文,下面会讲到。height设置高度的百分比时,简单理解就是相对于父节点的高度计算。你可以看到一个例子(点击这里查看)。我们设置了父节点的高度和兄弟节点的高度,最后发现设置100%高度的结果和父节点的高度是一致的。那么,如果我们不设置父节点的高度会怎样呢?还是看例子(点这里查看),发现height:100%是无效的。是的,第一个孩子只是撑起了父节点。如果你添加一个位置会发生什么?修改示例(点击此处查看)。哈哈哈,又高高在上了。大家可能会好奇,如果我设置父节点的高度,用子节点撑起父节点(同时加定位)呢?查看示例(单击此处查看)。结果根据父节点计算。padding内间距padding可以分别设置上下左右四个方向的间距。不管是哪个方向,如果以百分比为单位,都是参照父元素的宽度计算的。我们来看一个例子(点此查看),我们为div设置了padding:10%,尝试缩放浏览器可以发现padding只有在浏览器的宽度变化时才会变化,这也初步验证上述到达。进一步,我们修改示例(点此查看):添加一层固定宽度的父节点。按理说,由于父节点的宽度是固定的,所以无论浏览器宽度(即body的宽度)如何变化,都不会影响padding的值,但事实恰恰相反。为什么?由于我们已经为paddingdiv设置了绝对定位,此时,这个div已经脱离了文档流。根据物理父div计算padding会不会不合适?所以上面说的父节点不是物理上的,而是布局上的。准确的说,是包含块。由于设置了绝对定位,此时它的包含块已经变成了body,所以padding的百分比还是相对于body的宽度来计算的。那么,padding的这个特性可以总结出哪些技巧呢?如果我们现在有一个宽度不确定的容器,但我们希望里面的子元素始终是容器宽度的一半怎么办?是的,padding链接宽度和高度的这个特性,你可以看到最后的例子(点击这里查看)。