课程表

CSS 基础教程

CSS 样式

CSS 框模型

CSS 定位

CSS 选择器

CSS 高级

总结/实例

CSS 速查手册

工具箱
速查手册

CSS 对齐

当前位置:免费教程 » HTML/CSS » CSS

在 CSS 中,可以使用多种属性来水平对齐元素。

对齐块元素

块元素指的是占据全部可用宽度的元素,并且在其前后都会换行。

块元素的例子:

  1. <h1>
  2. <p>
  3. <div>

对于文本对齐,请参见 CSS 文本一章。

在本教程中,我们将向您展示出于布局目的如何水平对齐块级元素。

使用 margin 属性来水平对齐

可通过将左和右外边距设置为 "auto",来对齐块元素。

注释:除非已经声明了 !DOCTYPE,否则使用 margin:auto 在 IE8 以及更早的版本中是无效的。

把左和右外边距设置为 auto,规定的是均等地分配可用的外边距。结果就是居中的元素:

实例

  1. .center
  2. {
  3. margin-left:auto;
  4. margin-right:auto;
  5. width:70%;
  6. background-color:#b0e0e6;
  7. }

亲自试一试

提示:如果宽度是 100%,则对齐没有效果。

注释:在 IE5 中,对于块元素存在一个外边距处理方面的 BUG。如需使上面的例子在 IE5 中有效,请添加一些额外的代码。亲自试一试

使用 position 属性进行左和右对齐

对齐元素的方法之一是使用绝对定位:

实例

  1. .right
  2. {
  3. position:absolute;
  4. right:0px;
  5. width:300px;
  6. background-color:#b0e0e6;
  7. }

亲自试一试

注释:绝对定位元素会被从正常流中删除,并且能够交叠元素。

跨浏览器兼容性问题

当像这样对齐元素时,对 <body> 元素的外边距和内边距进行预定义是一个好主意。这样可以避免在不同的浏览器中出现可见的差异。

当使用 position 属性时,IE8 以及更早的版本存在一个问题。如果容器元素(在我们的案例中是 <div class="container">)设置了指定的宽度,并且省略了 !DOCTYPE 声明,那么 IE8 以及更早的版本会在右侧增加 17px 的外边距。这似乎是为滚动条预留的空间。当使用 position 属性时,请始终设置 !DOCTYPE 声明:

实例

  1. body
  2. {
  3. margin:0;
  4. padding:0;
  5. }
  6. .container
  7. {
  8. position:relative;
  9. width:100%;
  10. }
  11. .right
  12. {
  13. position:absolute;
  14. right:0px;
  15. width:300px;
  16. background-color:#b0e0e6;
  17. }

亲自试一试

使用 float 属性来进行左和右对齐

对齐元素的另一种方法是使用 float 属性:

实例

  1. .right
  2. {
  3. float:right;
  4. width:300px;
  5. background-color:#b0e0e6;
  6. }

亲自试一试

跨浏览器兼容性问题

当像这样对齐元素时,对 <body> 元素的外边距和内边距进行预定义是一个好主意。这样可以避免在不同的浏览器中出现可见的差异。

当使用 float 属性时,IE8 以及更早的版本存在一个问题。如果省略 !DOCTYPE 声明,那么 IE8 以及更早的版本会在右侧增加 17px 的外边距。这似乎是为滚动条预留的空间。当使用 float 属性时,请始终设置 !DOCTYPE 声明:

实例

  1. body
  2. {
  3. margin:0;
  4. padding:0;
  5. }
  6.  
  7. .right
  8. {
  9. float:right;
  10. width:300px;
  11. background-color:#b0e0e6;
  12. }

亲自试一试

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号