<section>
<h2>123</h2>
</section>
section {
overflow: hidden;
height: 300px;
width: 100%;
position: relative;
background: #ccc;
}
h2 {
margin-top: 10%;
margin-left: 10%;
padding-top: 10%;
padding-left: 10%;
}
我才知道margin,padding的百分比竟然是相对与父元素的宽度来进行计算了,这样就很不方便了,那么有谁知道,如何设置padding,margin 才能让它相对于父元素的宽和高分别计算呢?
假设inner把padding–top设为60%,那它的高度就等于上内边距,等于自身宽度的60%(因为它是block,宽度和父级宽度相等),position设为relative。
把section元素的position设为absolute,宽高都是100%。那么它内部的元素内边距和外边距的百分比虽然相对于父级section的宽度,但因为section宽高比已知,可以换算出来。
假设我们要实现的h2元素margin-left是父级宽度的10%,margin-top是父级高度的10%。
代码如下:
结果:
中间那块区域(64个格子组成的长方形)的margin-top是高度的10%,margin-left是宽度的10%;