CSS- 跟着李南江学编程

本文详细介绍了CSS中对齐块级元素的三种方法:使用margin属性、position属性和float属性,包括各自的工作原理和浏览器兼容性问题。同时,还探讨了创建导航栏的基础知识,提供垂直和水平导航栏的实现技巧。
摘要由CSDN通过智能技术生成

在 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 以及更早的版本存在一个问题。如果容器元素(在我们的案例中是

)设置了指定的宽度,并且省略了 !DOCTYPE 声明,那么 IE8 以及更早的版本会在右侧增加 17px 的外边距。这似乎是为滚动条预留的空间。当使用 position 属性时,请始终设置 !DOCTYPE 声明:

实例
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值