在 CSS 中,可以使用多种属性来水平对齐元素。
对齐块元素
块元素指的是占据全部可用宽度的元素,并且在其前后都会换行。
块元素的例子:
在本教程中,我们将向您展示出于布局目的如何水平对齐块级元素。
使用 margin 属性来水平对齐
可通过将左和右外边距设置为 “auto”,来对齐块元素。
注释:除非已经声明了 !DOCTYPE,否则使用 margin:auto 在 IE8 以及更早的版本中是无效的。
把左和右外边距设置为 auto,规定的是均等地分配可用的外边距。结果就是居中的元素:
实例
.center
{
margin-left:auto;
margin-right:auto;
width:70%;
background-color:#b0e0e6;
}
亲自试一试
提示:如果宽度是 100%,则对齐没有效果。
注释:在 IE5 中,对于块元素存在一个外边距处理方面的 BUG。如需使上面的例子在 IE5 中有效,请添加一些额外的代码。亲自试一试。
使用 position 属性进行左和右对齐
对齐元素的方法之一是使用绝对定位:
实例
.right
{
position:absolute;
right:0px;
width:300px;
background-color:#b0e0e6;
}
亲自试一试
注释:绝对定位元素会被从正常流中删除,并且能够交叠元素。
跨浏览器兼容性问题
当像这样对齐元素时,对 元素的外边距和内边距进行预定义是一个好主意。这样可以避免在不同的浏览器中出现可见的差异。
当使用 position 属性时,IE8 以及更早的版本存在一个问题。如果容器元素(在我们的案例中是
实例
body
{
margin:0;
padding:0;
}
.container
{
position:relative;
width:100%;
}
.right
{
position:absolute;
right:0px;
width:300px;
background-color:#b0e0e6;
}
亲自试一试
使用 float 属性来进行左和右对齐
对齐元素的另一种方法是使用 float 属性:
实例
.right
{
float:right;
width:300px;
background-color:#b0e0e6;
}
亲自试一试
跨浏览器兼容性问题
当像这样对齐元素时,对 元素的外边距和内边距进行预定义是一个好主意。这样可以避免在不同的浏览器中出现可见的差异。
当使用 float 属性时,IE8 以及更早的版本存在一个问题。如果省略 !DOCTYPE 声明,那么 IE8 以及更早的版本会在右侧增加 17px 的外边距。这似乎是为滚动条预留的空间。当使用 float 属性时,请始终设置 !DOCTYPE 声明:
实例
body
{
margin:0;
padding:0;
}
.right
{
float:right;
width:300px;
background-color:#b0e0e6;
}
clear 设置一个元素的侧面是否允许其他的浮动元素。
cursor 规定当指向某元素之上时显示的指针类型。
display 设置是否及如何显示元素。
float 定义元素在哪个方向浮动。
position 把元素放置到一个静态的、相对的、绝对的、或固定的位置中。
visibility 设置元素是否可见或不可见。
导航栏
拥有易用的导航条对于任何网站都很重要。
通过 CSS,您能够把乏味的 HTML 菜单转换为漂亮的导航栏。
导航栏 = 链接列表
导航栏需要标准的 HTML 作为基础。
在我们的例子中,将用标准的 HTML 列表来构建导航栏。
导航栏基本上是一个链接列表,因此使用
- 和
- 元素是非常合适的:
实例
亲自试一试 现在,让我们从列表中去掉圆点和外边距:实例
ul
{
list-style-type:none;
margin:0;
padding:0;
}
亲自试一试
例子解释:
list-style-type:none - 删除圆点。导航栏不需要列表项标记。
把外边距和内边距设置为 0 可以去除浏览器的默认设定。
以上例子中的代码是用在垂直、水平导航栏中的标准代码。
垂直导航栏
如需构建垂直导航栏,我们只需要定义 元素的样式,除了上面的代码之外:
实例
a
{
display:block;
width:60px;
}
亲自试一试
例子解释:
display:block - 把链接显示为块元素可使整个链接区域可点击(不仅仅是文本),同时也允许我们规定宽度。
width:60px - 块元素默认占用全部可用宽度。我们需要规定 60 像素的宽度。
提示:请同时看一看我们完整样式的导航栏实例。
注释:请始终规定垂直导航栏中 元素的宽度。如果省略宽度,IE6 会产生意想不到的结果。
水平导航栏
有两种创建水平导航栏的方法。使用行内或浮动列表项。
两种方法都不错,但是如果您希望链接拥有相同的尺寸,就必须使用浮动方法。
行内列表项
除了上面的“标准”代码,构建水平导航栏的方法之一是将
- 元素规定为行内元素:
-
实例
li
{
display:inline;
}
亲自试一试
例子解释:
display:inline; - 默认地, - 元素是块元素。在这里,我们去除了每个列表项前后的换行,以便让它们在一行中显示。
-
提示:请看一下我们完整样式的水平导航栏实例。
对列表项进行浮动
在上面的例子中,链接的宽度是不同的。为了让所有链接拥有相等的宽度,浮动
- 元素并规定 元素的宽度:
-
实例
li
{
float:left;
}
a
{
display:block;
width:60px;
}我正在跟着江哥学编程, 更多前端+区块链课程: www.it666.com