1. 绝对定位的盒子居中
加了绝对定位的盒子不能通过margin: 0 auto 水平居中,但是可以通过以下计算方法实现水平和垂直居中。
(1) left: 50%;:让盒子的左侧移动到父级元素的水平中心位置。
(2) margin-left:-100px;:让盒子向左移动自身宽度的一半。
<style>
.box {
position: absolute;
left: 50%;
margin-left: -100px;
width: 200px;
height: 200px;
background-color: pink;
}
</style>
<style>
.box {
position: absolute;
left: 50%;
margin-left: -100px;
width: 200px;
height: 200px;
top: 50%;
margin-top: -100px;
background-color: pink;
}
</style>
2. 定位特殊特性
绝对定位和固定定位也和浮动类似。
(1) 行内元素添加绝对或者固定定位,可以直接设置高度和宽度。(比如span)
(2) 块级元素添加绝对或者固定定位,如果不给宽度或者高度,默认大小是内容的大小。(比如div)
3. 脱标的盒子不会触发外边距塌陷
浮动元素、绝对定位(固定定位)元素的都不会触发外边距合并的问题。
4. 绝对定位(固定定位)会完全压住盒子
浮动元素不同,只会压住它下面标准流的盒子,但是不会压住下面标准流盒子里面的文字(图片),但是绝对定位(固定定位)会压住下面标准流所有的内容。
浮动之所以不会压住文字,因为浮动产生的目的最初是为了做文字环绕效果的,文字会围绕浮动元素。
<style>
.box {
float: left;
width: 200px;
height: 200px;
background-color: pink;
}
</style>
<style>
.box {
position: absolute;
width: 200px;
height: 200px;
background-color: pink;
}
</style>