一、Horizontal Align
当涉及到CSS中元素的水平对齐(Horizontal Align),可以运用多种属性来进行设置。
二、块元素对齐
块级元素是在HTML和CSS中常见的一种元素类型。块级元素通常以块的形式展示在页面上,并且会占据一行或者多行的宽度。
块元素的例子:
- <H1>
- <p>
- <div>
文本对齐,请参阅《CSS文本》。
三、中心对齐
块元素可以将左右Margin设置为”auto”来实现水平居中对齐。margin属性可任意拆分为左,右页边距设置自动指定,结果都是出现居中元素:
实例:
.center { margin-left:auto; margin-right:auto; width:70%; background-color:#b0e0e6; }
注意:
- 如果宽度是 100%,对齐是没有效果的;
- 在IE8中使用margin:auto属性无法正常工作,除非声明;
- IE5 中块元素有一个 margin 处理 BUG。为了使上述例子能工作,在 IE5 中,需要添加一些额外的代码。
实例:
<style> .container { text-align:center; } .center { margin-left:auto; margin-right:auto; width:70%; background-color:#b0e0e6; text-align:left; } </style>
四、左、右对齐
1、使用position属性
元素对齐的方法之一是使用绝对定位:
实例:
.right { position:absolute; right:0px; width:300px; background-color:#b0e0e6; }
注意:绝对定位与文档流无关,所以它们可以覆盖页面上的其它元素。
2、使用float属性
使用 float 属性是对齐元素的方法之一:
实例:
.right { float:right; width:300px; background-color:#b0e0e6; }
五、垂直居中对齐
CSS 中一个简单的设置垂直居中对齐的方式就是头部顶部使用 padding:
.center { padding: 70px 0; border: 3px solid green; }
如果要水平和垂直都居中,可以使用 pinsert 和 text-align: center:
.center { padding: 70px 0; border: 3px solid green; text-align: center; }
六、跨浏览器兼容性
对于类似的元素对齐情况,预先确定好元素的margin和padding确实是一个好主意,这样可以避免在不同浏览器中出现可视化上的差异。这是因为不同的浏览器可能会对元素的默认样式进行微小的调整,导致元素在不同浏览器中呈现的效果有所不同。通过预先确定好margin和padding,可以固定元素的外观,从而确保在不同浏览器中得到一致的显示效果。
IE8 和早期有一个问题,当使用 float 属性时。如果一个容器元素(在本例中<div class=“container”>)指定的宽度,!DOCTYPE 声明缺失,IE8 和早期版本会在右边增添 17px 的 margin。这似乎是一个滚动的预留空间。使用 float 属性始终设置在 DOCTYPE 声明中!
实例:
body { margin:0; padding:0; } .right { float:right; width:300px; background-color:#b0e0e6; }