收藏 分享(赏)

CSS元素的定位介绍.doc

上传人:buyk185 文档编号:6213171 上传时间:2019-04-02 格式:DOC 页数:9 大小:64.50KB
下载 相关 举报
CSS元素的定位介绍.doc_第1页
第1页 / 共9页
CSS元素的定位介绍.doc_第2页
第2页 / 共9页
CSS元素的定位介绍.doc_第3页
第3页 / 共9页
CSS元素的定位介绍.doc_第4页
第4页 / 共9页
CSS元素的定位介绍.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、 相对定位是一个非常容易掌握的概念。如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,可以通过设置垂直或水平位置,让这个元素“相对于”它的起点进行移动。如果将 top 设置为 20px,那么框将在原位置顶部下面 20 像素的地方。如果 left 设置为 30 像素,那么会在元素左边创建 30 像素的空间,也就是将元素向右移动。#box_relative position: relative;left: 30px;top: 20px;如下图所示:注意,在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其它框。那么我们就会想了怎么让框三把框二覆盖呢,很

2、自然的想到把框3的 z-index 设为一个优先级高的值如100,但是这样并不能得到我们想要的结果,必须把框 2的 z-index 设为优先级低的如-1,我猜想是因为框2已经脱离了文档流,所以只设置框3 的 z-index 对框2起不到作用,所以只能对框2操作了。大家也可以去试试代码如下在 ie7下通过:Untitled Pagespanbackground-color: Red;width: 30px;height: 30px;#box_relativeposition: relative;left: 10px;top: 10px; background-color: gray;z-inde

3、x:-1;CSS 绝对定位绝对定位使元素的位置与文档流无关,因此不占据空间。这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。普通流中其它元素的布局就像绝对定位的元素不存在一样:#box_relative position: absolute;left: 30px;top: 20px;如下图所示:是要记住每种定位的意义。所以,现在让我们复习一下学过的知识吧:相对定位是“相对于”元素在文档中的初始位置,而绝对定位是“ 相对于 ”最近的已定位祖先元素,如果不存在已定位的祖先元素,那么“相对于”最初的包含块。注释:根据用户代理的不同,最初的包含

4、块可能是画布或 HTML 元素。提示:因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其它元素。可以通过设置 z-index 属性来控制这些框的堆放次序。同样的道路如果想让框1,3 在2之上的话也需要在框 2上设置 z-index,而且如果只在框1, 3上设置的话无效。大家也可以去试试代码如下在 ie7下通过:Untitled Pagespanbackground-color: Red;width: 30px;height: 30px;#box_relativeposition: absolute;left: 20px;top: 20px; background-color: gray;

5、CSS 浮动请看下图,当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘:再请看下图,当框 1 向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边缘。因为它不再处于文档流中,所以它不占据空间,实际上覆盖住了框 2,使框 2 从视图中消失。 (经过网友的提醒,发现在 ie(6和7)浏览器中无法做到如教程中所说的那样,在 ff 中做到了,但是框2的文本会跑到框3中去。代码在第二条评论中。 )如果把所有三个框都向左移动,那么框 1 向左浮动直到碰到包含框,另外两个框向左浮动直到碰到前一个浮动框。如下图所示,如果包含框太窄,无法容纳水平排列的三个浮动元

6、素,那么其它浮动块向下移动,直到有足够的空间。如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”:CSS float 属性在 CSS 中,我们通过 float 属性实现元素的浮动。如需更多有关 float 属性的知识,请访问参考手册:CSS float 属性。行框和清理浮动框旁边的行框被缩短,从而给浮动框留出空间,行框围绕浮动框。因此,创建浮动框可以使文本围绕图像:要想阻止行框围绕浮动框,需要对该框应用 clear 属性。clear 属性的值可以是 left、right 、both 或 none,它表示框的哪些边不应该挨着浮动框。为了实现这种效果,在被清理的元素的上外边距上

7、添加足够的空间,使元素的顶边缘垂直下降到浮动框下面:这是一个有用的工具,它让周围的元素为浮动元素留出空间。让我们更详细地看看浮动和清理。假设希望让一个图片浮动到文本块的左边,并且希望这幅图片和文本包含在另一个具有背景颜色和边框的元素中。您可能编写下面的代码:.news background-color: gray;border: solid 1px black;.news img float: left;.news p float: right;some text这种情况下,出现了一个问题。因为浮动元素脱离了文档流,所以包围图片和文本的 div 不占据空间。如何让包围元素在视觉上包围浮动元素呢

8、?需要在这个元素中的某个地方应用 clear:不幸的是出现了一个新的问题,由于没有现有的元素可以应用清理,所以我们只能添加一个空元素并且清理它。.news background-color: gray;border: solid 1px black;.news img float: left;.news p float: right;.clear clear: both; some text这样可以实现我们希望的效果,但是需要添加多余的代码。常常有元素可以应用 clear,但是有时候不得不为了进行布局而添加无意义的标记。不过我们还有另一种办法,那就是对容器 div 进行浮动:.news bac

9、kground-color: gray;border: solid 1px black;float: left;.news img float: left;.news p float: right;some text这样会得到我们希望的效果。不幸的是,下一个元素会受到这个浮动元素的影响。为了解决这个问题,有些人选择对布局中的所有东西进行浮动,然后使用适当的有意义的元素(常常是站点的页脚)对这些浮动进行清理。这有助于减少或消除不必要的标记。事实上,W3School 站点上的所有页面都采用了这种技术,如果您打开我们使用 CSS 文件,您会看到我们对页脚的 div 进行了清理,而页脚上面的三个 div 都向左浮动。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > CSS/Script

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报