块元素是一个元素,占用了全宽,先后都是换行符。php
块元素的例子:css
<h1>html
<p>浏览器
<div>布局
文本对齐,请参阅 CSS文本 章节。.spa
在这一章中,咱们会告诉你块元素如何水平对齐布局。code
块元素能够把左,右页边距设置为"自动"对齐。orm
Note: 在IE8中使用margin:auto属性没法正常工做,除非声明 !DOCTYPEhtm
margin属性可任意拆分为左,右页边距设置自动指定,结果都是出现居中元素:文档
.center { margin-left:auto; margin-right:auto; width:70%; background-color:#b0e0e6; }
提示: 若是宽度是100%,对齐是没有效果的。
注意:IE5中块元素有一个margin处理BUG。为了使上述例子能工做,在IE5中,须要添加一些额外的代码。 实例
元素对齐的方法之一是使用绝对定位:
.right { position:absolute; right:0px; width:300px; background-color:#b0e0e6; }
注意:绝对定位与文档流无关,因此它们能够覆盖页面上的其它元素。
元素的填充,始终是一个好主意。这是为了不在不一样的浏览器中的可视化差别。
IE8和早期有一个问题,当使用position属性时。若是一个容器元素(在本例中<div class="container">)指定的宽度,!DOCTYPE声明是缺失,IE8和早期版本会在右边增添17px的margin。这彷佛是一个滚动的预留空间。使用position属性时始终设置在DOCTYPE声明中!
body { margin:0; padding:0; } .container { position:relative; width:100%; } .right { position:absolute; right:0px; width:300px; background-color:#b0e0e6; }
使用float属性是对齐元素的方法之一:
.right { float:right; width:300px; background-color:#b0e0e6; }
相似这样的元素对齐时,预先肯定margin和
元素的填充,始终是一个好主意。这是为了不在不一样的浏览器中的可视化差别。
IE8和早期有一个问题,当使用float属性时。若是一个容器元素(在本例中<div class="container">)指定的宽度,!DOCTYPE声明是缺失,IE8和早期版本会在右边增添17px的margin。这彷佛是一个滚动的预留空间。使用float属性时始终设置在DOCTYPE声明中!
body { margin:0; padding:0; } .right { float:right; width:300px; background-color:#b0e0e6; }