- HTML中文网
- 联系QQ:88526
- QQ交流群

- 微信公众号

CSS 对齐 - 水平 & 垂直对齐
元素居中对齐
要使一个元素水平居中对齐可以使用 margin: auto;来实现
设置元素的宽度将防止它溢出到容器的边缘
元素通过指定宽度,并将两边的空外边距平均分配
div{ width:100px; margin:auto; padding: 20px; border: 1px solid #ccc; } </style> </head> <body> <div>元素居中对齐</div>
点击 "运行实例" 按钮查看在线实例
效果图:
注意:如果没有设置 width 属性值(或者设置 100%),居中对齐将不起作用
文本居中对齐
设置文本在元素内居中对齐,可以使用 text-align: center;
div{ width:100px; text-align: center; padding: 20px; border: 1px solid #ccc; }
点击 "运行实例" 按钮查看在线实例
效果图:
使用 position 属性设置左和右对齐
我们可以使用 position: absolute; 属性来对齐元素
div{ position:absolute; width:100px; right:0; padding: 20px; border: 1px solid #ccc; }
点击 "运行实例" 按钮查看在线实例
效果图:
注意:绝对定位元素会被从正常流中删除,并且能够交叠元素
跨浏览器兼容性问题
当使用 position 来对齐元素时, 通常 <body>元素会设置 margin 和 padding,这样做的好处是可以避免在不同的浏览器中出现可见的差异
当使用 position 属性时,IE8 以及更早的版本存在一个问题。如果容器元素设置了指定的宽度,并且省略了 !DOCTYPE 声明,那么 IE8 以及更早的版本会在右侧增加 17px 的外边距。这似乎是为滚动条预留的空间。当使用 position 属性时,请始终设置 !DOCTYPE 声明
float属性设置左右齐
注意:如果子元素的高度大于父元素,且子元素设置了浮动,那么子元素将溢出,这时候可以使用 "clearfix(清除浮动)" 来解决问题
.parent{ width:400px; padding: 25px; border: 1px solid #ccc; } .clearfix{ overflow: auto; } .child{ width:200px; height: 100px; border: 1px solid #444; float: left; }
点击 "运行实例" 按钮查看在线实例
效果图:
注意:当使用 float 属性时,IE8 以及更早的版本存在一个问题。如果省略 !DOCTYPE 声明,那么 IE8 以及更早的版本会在右侧增加 17px 的外边距。这似乎是为滚动条预留的空间。所以当使用 float 属性时,请始终设置 !DOCTYPE 声明
水平垂直居中定位:
可以使用text-align: center,line-height来实现文本水平垂直居中
.parent{ width:450px; height:300px; background-color: pink; text-align: center; line-height: 300px; font-size: 20px; }
点击 "运行实例" 按钮查看在线实例
效果图:
推荐手册