S1/使用HTML语言和CSS开发商业站点/08-定位网页元素

在CSS中有3种基本的定位机制,分别是标准流、浮动和绝对定位。通常在网页中除非专门指定某种元素的定位,否则所有元素都在标准流中定位,也就是说标准流中元素的位置由在XHML中的位置决定。

在前面的章节已经学习了标准流和浮动,使用浮动的方式可以定位网页元素。但是仅使用浮动一种方式,完成不了网页中很多更为复杂的网页效果。

Position属性

Position属性yufloat属性一样,都是CSS排版中非常重要的概念。Position从字面意思上看就是指定盒子的位置,指它相对父级的位置和相对它自身应该在的位置。position属性有4个属性值,这4个值分别代表着不同的定位类型。

Static:默认值,没有定位,元素按照标准流进行布局。

Relative:相对定位,使用相对定位的盒子位置常以标准流的排版方式为基础,然后使盒子相对于它在原本的标准位置偏移指定的距离,相对定位的盒子仍在标准流中,他后面的盒子仍以标准流方式对待它。

Absolute:绝对定位,盒子的位置以包含它的盒子为基准进行偏移。绝对定位的盒子从标准流中脱离。这意味着他们对其后的其他盒子的定位没有影响,其他盒子就好像这个盒子不存在一样。

Fixed:固定定位,它和绝对定位类似,只是以浏览器窗口为基准进行定位,也就是当拖动浏览器窗口的滚动条时,依然保持对象位置不变。

Fixed属性值目前在一些浏览器中还不被支持,在实际的网页制作中也不常应用,因此这里就不详细介绍了。

Static

Static为默认值,他表示盒子保持在原本应该在的位置上,没有任何移动的效果。因此,前面章节讲解的例子实际上都是static方式。

Relative

使用relative属性值设置元素的相对定位,除了将position属性设置为relative之外,还需要指定一定的偏移量,水平方向使用left或right属性来指定,垂直方向使用top或bottom属性来指定。

这里用到了top和left两个CSS属性,前面已经提过在CSS中一共有4个属性配合position属性来进行定位,除了top和left外,还有right和bottom。这4个属性只有当position属性设置为absolute、relative或fixed时才有效。并且position属性取值不同时,它们的含义也是不同的。Top、right、bottom和left这4个属性除了可以设置为像素值,还可以设置为百分数。

相对定位元素的规律:

1、设置相对定位的盒子会相对他原来的位置,通过指定偏移,到达新的位置。

2、设置相对定位的盒子仍在标准流中,他对父级盒子和相邻的盒子都没有任何影响。

结论:设置了position属性的网页元素,无论是在标准流中还是在浮动时,都不会对他的父级元素和相邻元素有任何影响,它只针对自身原来的位置进行偏移。

Absolute(绝对定位)

1、使用了绝对定位的元素以它最近的一个“已经定位”的“祖先”元素为基准进行偏移。如果没有已经定位的祖先元素,那么会以浏览器窗口为基准进行定位。

2、绝对定位的元素从标准文档流中脱离,这意味着它们对其它元素的的定位不会造成影响。

关于上述第一条结论中,有两个带引号的定语,需要进行一些解释。

“已经定位”元素:position属性被设置,并且设置为除static之外的任意一种方式,那么该元素被定义为“已经定位”的元素。

“祖先”元素:就是从文档流的任意节点开始,走到根节点,经过的所有节点都是他的祖先,其中直接上级节点是它的父节点,以此类推。

结论:如果设置了绝对定位,而没有设置偏移量,那么他将保持在原来的位置。这个性质在网页中可以用于需要使某个元素脱离标准流,而仍然希望它保持在原来的位置的情况。

Z-index属性

在CSS中,z-index属性用于调整元素定位时重叠层的上下位置。

Z-index属性在立体空间中表示垂直于页面方向的Z轴。Z-index属性的值为整数,可以是正数,也可以是负数。当元素被设置了position属性时,z-index属性可以设置各元素之间的重叠高低关系。Z-index属性默认值为0,z-index值大的层位于其值小的层上方,当两个层的z-index值一样时,将保持原有的高低覆盖关系。

设置层的透明度


属性


说明


举例


Opacity:x


X值为0~1,值越小越透明


Opacity:0.4;


Filter:alpha(opacity=x)


X值为0~100,值越小越透明


Filter:alpha(opacity:40);

由于这两种方法在使用中存在浏览器兼容的问题,IE9、firefox、chrome、opera和safari使用属性opacity来设定透明度,IE8.0及更早的版本使用滤镜filter:alpha(opacity=x)来设定透明度。但是在实际网页制作中,并不能确定用户的浏览器,因此在使用CSS设定元素的透明度时,通常在样式表中同时设置这两种方法,以适应所有的浏览器。

由此可以知道,网页中的元素都含有两个堆叠层级,一个是未设置绝对定位时所处的环境,这时所有层的z-index属性值总是0,如同页面中的图片层,下方文本层;另一个是设置绝对定位时所处的堆叠环境,这个环境所处的位置由z-index属性来指定,如同页面中的透明层和其上方的文本层,z-index值大的层覆盖值小的层。如果需要设置了绝对定位的层在没有设置绝对定位的层下方,只需要设置绝对定位的层的属性z-index值为负值即可。

时间: 2024-12-16 17:40:20

S1/使用HTML语言和CSS开发商业站点/08-定位网页元素的相关文章

S1/使用HTML语言和CSS开发商业站点/05-CSS美化网页

<span>标签 在HTML中,<span>标签是被用来组合HTML文档中的行内元素的,它没有固定的格式表示,只有对它应用CSS样式时,他才会产生视觉上的变化. <span>标签可以为<p>标签中的部分文字添加样式,而且不会改变文字的显示方向.他不会像<p>标签和标题标签那样,每对标签独占一个矩形区域. 字体样式 常用字体属性 属性名 含义 举例 Font-family 设置字体类型 Font-family:"隶书"; Fon

S1/使用HTML语言和CSS开发商业站点/04-初识CSS

CSS全称为层叠样式表. CSS基本语法结构 CSS规则由两部分构成,即选择器和声明.声明必须放在大括号{}中,并且声明可以是一条或多条:每条声明由一个属性和值组成,属性和值用冒号分开,每条语句以英文分号结尾.如下所示. h1{ font-size:12px; color:#F000; } font-size:12px;和color:#F000;表示两条声明,声明中font-size和color表示属性,而12px和#F000则是对应的属性值. 注意:在CSS的最后一条声明中,用以结束的“;”可

S1/使用HTML语言和CSS开发商业站点/06-盒子模型

盒子模型属性有边框.内边距和外边距. 1.边框(border):对应包装盒的纸壳,他一般具有一定的厚度. 2.内边距(padding):位于边框内部,是内容与边框的距离,即对应包装盒的填充部分,所以也被称为填充. 3.外边距(margin):位于边框外部,边框外面周围的间隙,所以也被称为边界. 盒子模型除了边框.内边距.外边距之外,还应包括元素内容本身,所以完整的盒子模型平面结构图所示. 因为盒子是矩形结构,所以边框.内边距.外边距这些属性部分都分别对应上(top)下(bottom)左(left

S1/使用HTML语言和CSS开发商业站点/01-HTML基础

HTML会是一种超文本标记语言(Hyper Text Mark Language),也就是说,HTML不是一种编程语言,仅是一种标记语言(Markup Language). 网页基本信息: 1.DOCTYPE声明 HTML代码中最上面有两行关于“DOCTYPE”文档类型的声明,他约束HTML文档结构,检验是否符合相关Web标准,同时高速浏览器,使用哪种规范来解释这个文档中的代码.DOCTYPE声明必须位于HTML文档的第一行,XHTML3.0规定了3种级别的声明. (1)Strict(严格类型)

S1/使用HTML语言和CSS开发商业站点/07-浮动

浮动 在标准文档流中,一个块级元素在水平方向会自动伸展,直到包含它的元素的边界,在竖直方向和其他的块级元素依次排列. 要实现浮动需要在CSS中设置float属性,默认值为none,也就是标准文档流块级元素通常显示的情况.如果将float属性的值设置为left或right,元素就会向其父元素的左侧或右侧浮动,同时默认情况下,盒子的宽度不再伸展,而是根据盒子里面的内容和宽度来确定,这样就能够实现网页布局中的“1-2-1”或“1-3-1”布局类型. 浮动在网页中的应用 在CSS中,使用浮动(float

S1/使用HTML语言和CSS开发商业站点/02-列表、表格和框架

列表的分类: 1.无序列表 使用<ul>标签作为无序列表的声明,使用<li>标签作为每个列表项的起始.<ul>标签有一个type属性,这个属性的作用就是制定在显示列表时所采用的项目符号类型. type属性的取值 取值 说明 disc 项目符号显示为实体圆心,默认值 square 项目符号显示为实体方心 circle 项目符号显示为空心圆 2.有序列表 无序列表与有序列表的区别就在于,有序列表的各个列表项有先后顺序,所以会使用数字进行标识.有序列表使用<ol>

S1/使用HTML语言和CSS开发商业站点/03-表单

表单的内容 创建表单后,就可以在表单中放置控件以接受用户的输入.这些控件通常放在<form>……</form>标签对之间一起使用,也可以在表单之外用来创建用户界面. 表单标签及表单属性 在HTML中,使用<form>标签来实现表单的创建,该标签用于在网页中创建表单区域,属于一个容器标签,其他表单标签需要在它的范围中才有效,<input>便是其中一个,用以设定各种输入资料的方法.表单标签有两个常用的属性,如下表所示. <form>标签的属性 属性

使用HTML语言和CSS开发商业站点(9)

#div_1 dl{ margin:0px;/*dl默认有外边距 跟ul一样*/ padding:0px; height:46px; margin-top:15px;} #div_1 dl dd{ margin:0px;/*dd默认有外边距*/ float:left; margin-left:10px; height:100%; line-height:46px; } 好的,使用HTML语言和CSS开发商业站点 就到这里结束    接下来是    使用Java实现面向对象编程 多多关注.评论,谢

HTML语言和CSS开发商业站点 错题

1.关于css为什么会出现Bug说法不正确的是(). (选项两项) A.编写CSS样式是需要在不同浏览器中实现表现一致 B.各大主流浏览器由于不同厂家开发,浏览器使用的内核不同,支持CSS的程度不同 C.网页制作师在编写CSS样式时命名不规范,样式本身有BUG D.网页设计师在设计时起名不对 正确答案是 C.D 分析:各大主流浏览器由于不同厂家开发,各大厂商处于自身利益,因而浏览器使用的内核不同,支持CSS的程度不同,导致了显示差异,因此编写CSS样式时需要考虑在不同浏览器中实现表现