设置方法:1、使用“margin:0px auto”语句设置水平对齐;2、使用position属性,配合top、bottom、left和right属性设置左或右对齐;3、使用“float:right|left”语句设置左或右对齐。
本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。
1、使用 margin 属性来水平对齐
可通过将左边距和右边距设置为“auto”来对齐元素。但前提是必须声明!DOCTYPE,否则在IE8是无效的。这样就可以居中元素了,例如:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>document</title> <style> div{ margin: 0px auto; width: 70%; height: 300px; background-color: red; } </style> </head> <body> <div></div> </body> </html>
提示:如果宽度是 100%,则对齐没有效果。
2、使用 position 属性进行左和右对齐
使用这种方法在兼容性这一块无疑是最好的方法了,但当使用 position 属性时,请始终设置 !DOCTYPE 声明,在IE8 以及更早的版本存在一个问题。如果容器元素(在我们的案例中是 <div class="container">)设置了指定的宽度,并且省略了 !DOCTYPE 声明,那么 IE8 以及更早的版本会在右侧增加 17px 的外边距。例如:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>document</title> <style> body{ margin: 0; padding: 0; } .container{ position: relative; width: 100%; } .right{ position: absolute; right: 0px; width: 300px; height: 50px; background-color: red; } </style> </head> <body> <div class="container"> <div class="right"></div> </div> </body> </html>
3、使用 float 属性来进行左和右对齐
当使用 float 属性时,IE8 以及更早的版本存在一个问题。如果省略 !DOCTYPE 声明,那么 IE8 以及更早的版本会在右侧增加 17px 的外边距。这似乎是为滚动条预留的空间。当使用 float 属性时,请始终设置 !DOCTYPE 声明:例如:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>document</title> <style> body{ margin: 0; padding: 0; } .right{ float: right; width: 300px; height: 50px; background-color: red; } </style> </head> <body> <div class="container"> <div class="right"></div> </div> </body> </html>
推荐学习:css视频教程