css布局定位系列:相对定位

2016-01-29 11:46 5 1 收藏

css布局定位系列:相对定位,css布局定位系列:相对定位

【 tulaoshi.com - Html 】

 英文原文:http://brainjar.com/css/positioning/default.asp 

  翻译:零度,转载请注明本文英文原文出处以及本文地址!由于我英文水平有限,有不懂的地方还请阅读原文,欢迎交流!

  相对定位

  当一个元素被指明为{position:relative;}的时候,它开始是遵守正常流规则的(也就是说,如果你不给他任何规则,他就和正常的一样,译者注),它周围元素相应的被定位。然后,元素盒根据它的属性值偏移。

css布局定位系列:相对定位

  请注意上面元素周围的盒子是正常布局的,包括垂直边距的折叠,因此,采用相对定位的元素有可能覆盖其他元素。

  浏览器兼容性
  浏览器在处理相对定位元素覆盖其他元素的方法上是存在分歧的。不幸的是,W3C标准并没有指明应该怎么处理这个问题。
  因此,像IE5.5和Netscape6.0,会将相对定位元素显示在他周围元素的上面。而其余的,比如Opera5.0,将使用缺省栈指令,从而是将相对定位元素显示在文档流里比它先出现元素的前面,比它后出现元素的后面。
  栈指令在绝对定位参考中有详细的描述。但是请注意你可以使用z-index属性去设定它的显示顺序(z-index的值越大,元素越靠前显示!)

  可以联合使用top,right,left和bottom四个属性来设置相对定位元素的偏移值。每一个属性值被解释为元素外边框相对于原来正常位置的距离。

  请注意这些偏移值是有约束的。例如,假设你同时设定了left和right属性的值,如果其中一个元素的值不是另外一个值的相反值的话(比如4和-4,译者注),那么right属性的值将会被忽略。设定某一个具体的宽度值也有可能使偏移值被忽略。这个规则同样适用于top,bottom以及height属性。

  在实际中,你将很有可能只设定left,right中的任一个以及top,bottom中的任一个。

  子节点定位(Descendant Positioning)

  相对定位元素是否建立一个新的包含块以定位(相对定位或者绝对定位)子元素是不确定的,他们遵守非定位元素一样的规则。

  如果相对定位元素是块级元素,那么它将建立一个新的包含块。在它里面的元素使用元素的偏移量作为基础定位。也就是说,子元素的偏移量是一个复合值(包含块偏移量加上它自己的偏移量)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/html/)

  如果相对定位元素是行类元素,它的偏移量和它的子元素没有关系,相反,它和它的子元素共享同一个父级包含块。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/html/)

  浏览器兼容性

  最初的W3C标准声明,相对定位元素总是建立一个包含块。然而,后续标准修正了这个声明,指出相对定位元素和普通元素一样。

  有一些浏览器包括了这个修正但是有一些没有。由于这个差别,你可能希望避免这样的情况,总是使用一个块级元素用于相对定位。

来源:https://www.tulaoshi.com/n/20160129/1483296.html

延伸阅读
标签: Web开发
定位属性将是网虫们打开幸福之门的钥匙: 绝对定位 H4 { position: absolute; left: 100px; top: 43px } 这项CSS规则让浏览器将起始位置精确地定在距离浏览器左边100象素,距离其顶部43象素的位置,请观看代码的执行效果。 注意这里唯一设置了的是左边和顶部,也就说,文字将从左到右,从上到下载入浏览窗口。 左边...
标签: Web开发
注:在做这节教程的时候,我又上网查了相关资料,看了大量的文章,做了大量的测试,最后总结出下面这些文字,洋洋洒洒一整篇,不过需要大家一句话一句话的看,一定要仔细喽!还有对于课程中的说的,最好一边看,一边练,不练绝对看不懂! 定位(position) 布局页面说容易非常容易,只需要记住这节课最后一句话就可以了,说困难,那是相当的...
标签: Web开发
1. position:static|无定位 position:static是所有元素定位的默认值, 一般不用注明,除非有需要取消继承的别的定位 example: #div-1 { position:static; } 2. position:relative|相对定位 使用position:relative,就需要top,bottom,left,right4个属性来配合,确定元素的位置。 如果要让div-1层向下移动20px,左移4...
标签: Web开发
在CSS中,实现分栏布局有两种方法。第一种方法是使用四种CSS定位选项(absolute 、static、relative和fixed)中的绝对定位(absolute positioning),它可以将文档中的某个元素从其原本位置上移除,并重新定位在期望的任何地点之上。第二种则是使用CSS中的浮动(float)概念。 绝对定位或浮动都能够用来实现分栏效果。二者可以独立使...
绝对定位或浮动都能够用来实现分栏效果。二者可以独立使用,也可以结合在一起,相辅相成。 进入论坛参与讨论 但是,我们常用的布局并没有这么简单,除了三栏之外,我们还需要一个页头和一个页脚,如下图: 这时候,再用绝对定位布局就行不通了,因为绝对定位的元素会从文档流中完全移除,这时,页脚会紧挨着页头,显示在页头的下方。 如...

经验教程

403

收藏

57
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部