css中的⼏个⼩tip(⼀)
1.元素的margin-top、margin-bottom及padding-top、padding-bottom使⽤百分⽐作为单位时,其是相对⽗元素的宽度width,⽽不是我们想象的⾼度height;如图
<style type="text/css">
.parent{
outline: 1px solid orange;
width: 200px;
height: 300px;
padding: 10px;
margin: 10px;
}
.child{
outline: 1px solid purple;
width: 200px;
height: 80px;
padding-top: 10%;      /*20px = ⽗容器的width值200px * 10% */
padding-bottom: 5%;    /*10px = 200px * 5% */
margin-top: 20%;      /*40px = 200px * 20%*/
margin-bottom: 15%;    /*30px = 200px * 15%*/
}
<body>
<div class="parent">
<div class="child"></div>
</div>
</body>
⼦盒⼦参数如下:
2.含有定位属性的元素,其top、bottom单位为百分⽐时,该百分⽐是相对⽗元素的⾼度height。left、right则是相对⽗元素的宽度width.
.parent{
outline: 1px solid orange;
width: 200px;
height: 300px;
padding: 0px;
margin: 0px;
position: relative;
}
.child{
outline: 1px solid purple;
width: 200px;
height: 80px;
position: absolute;
top: 5%;  /* 15px = 300px * 5% 上边框离⽗盒⼦上边框15px的距离*/
left: 20%;  /*  40px = 200px * 20% 左边框离⽗盒⼦左边框40px的距离 
                  也就是⼦盒⼦左上⾓的坐标为x=15,y=40(⽗盒⼦左上⾓为原点)  */
}
3.边框宽度不能⽤百分⽐表⽰
4.width:100%
4.1当⽗容器⾥有绝对定位的⼦元素时,⼦元素设置width:100%实际上指的是相对于⽗容器的padding+content的宽度。
r如图:
1<style type="text/css">
2    .parent{
3        outline: 1px solid orange;
4        width: 200px;
5        height: 300px;
6        padding: 10px;
7        margin: 10px;
8        position: relative;
9    }
10    .child{
11        outline: 1px solid purple;
12        width: 100%;  /* width = 220px = ⽗容器的padding+content*/
13        height: 80px;
14        position: absolute;
15        top: 0;
16        left: 0;
17    }
18</style>
4.2 当⼦元素是⾮绝对定位的元素时(可以是相对定位),或者如果都没有定位,width:100%才是指⼦元素的 content ,其等于⽗元素的
content宽度。
.parent{
outline: 1px solid orange;
width: 200px;
height: 300px;
padding: 10px;
margin: 10px;
}
.child{
outline: 1px solid purple;
width: 100%;  /* width:200px = ⽗盒⼦的content*/
height: 80px;
}
.parent{
outline: 1px solid orange;
width: 200px;
height: 300px;
padding: 10px;
margin: 10px;
position: relative;
}
.child{
margin属性值可以为百分比
outline: 1px solid purple;
width: 100%;
height: 80px;
position: relative;
}
5. 设为flex布局后,⼦元素的float、clear和vertical-align属性将失效
6. vertical-align直接使⽤将失效,要搭配display:inline-block使⽤;或者将line-heigth设置的和height⼀样⾼,⽂字也可以垂直居中。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。