GVKun编程网logo

CSS中"position:relative"属性与文档流的关系(css文档流如何理解)

10

本文将分享CSS中"position:relative"属性与文档流的关系的详细内容,并且还将对css文档流如何理解进行详尽解释,此外,我们还将为大家带来关于1、绝对定位(position:absol

本文将分享CSS中"position:relative"属性与文档流的关系的详细内容,并且还将对css文档流如何理解进行详尽解释,此外,我们还将为大家带来关于1、绝对定位(position: absolute) 2、相对定位(position: relative) 3、固定定位(position: fixed)、CSS - 定位属性position使用详解(static、relative、fixed、absolute)、css position relative and absolute 布局、CSS position 属性 absolute relative 等五个值的解释的相关知识,希望对你有所帮助。

本文目录一览:

CSS中

CSS中"position:relative"属性与文档流的关系(css文档流如何理解)

总结

以上是小编为你收集整理的CSS中"position:relative"属性与文档流的关系全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

1、绝对定位(position: absolute) 2、相对定位(position: relative) 3、固定定位(position: fixed)

1、绝对定位(position: absolute) 2、相对定位(position: relative) 3、固定定位(position: fixed)

绝对定位如果父级不使用position:relative,而直接使用position:absolute绝对定位,这个时候将会以body标签为父级,使用position:absolute定义对象无论位于DIV多少层结构,都将会被拖出以<body>为父级(参考级)进行绝对定位。

  1. 绝对定位(position: absolute)
    实现相对于其它元素进行定位,使用时通常是父级定义position:relative定位,子级定义position:absolute绝对定位属性,并且子级使用left或right和top或bottom进行绝对定位。
     
  2. 相对定位(position: relative)
    如果想为元素设置层模型中的绝对定位,需要设置position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口
     
  3. 固定定位(position: fixed)
    fixed:表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed;属性功能相同。以下代码可以实现相对于浏览器视图向右移动100px,向下移动50px。并且拖动滚动条时位置固定不变。

 

http://www.cnblogs.com/xuan-0107/p/4543463.html

CSS - 定位属性position使用详解(static、relative、fixed、absolute)

CSS - 定位属性position使用详解(static、relative、fixed、absolute)

position 属性介绍

(1)position 属性自 CSS2 起就有了,该属性规定元素的定位类型。所有主流浏览器都支持 position 属性。

(2)position 的可选值有四个:static、relative、absolute、fixed。下面分别进行介绍。(其实还有个 inherit,不过这个是 IE 特有的,这里就不做讨论)

<h3 id="position: static(默认值)"> position: static(默认值)</h3>

1,基本介绍
(1)static 是默认值。表示没有定位,或者说不算具有定位属性。
(2)如果元素 position 属性值为 static(或者未设 position 属性),该元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。

2,使用样例

css:

<style>
  div {
    width: 200px;
    height: 100px;
    background-color: #C9FFFF;
  }
</style>

html:

<div></div>
<input type="text"/>

我们不设置元素的 postion 属性值,那么默认的显示效果如下:

<div></div> <input type="text"/>

<h3 id="position: relative(相对定位)"> position: relative(相对定位)</h3>

1,基本介绍

(1)relative 生成相对定位的元素,相对于其正常位置进行定位。
(2)相对定位完成的过程如下:

首先按默认方式(static)生成一个元素(并且元素像层一样浮动了起来)。
然后相对于以前的位置移动,移动的方向和幅度由 left、right、top、bottom 属性确定,偏移前的位置保留不动。

2,样例代码

下面代码将文本输入框 position 设置为 relative(相对定位),并且相对于默认的位置向右、向上分别移动 15 个像素。

css:

  div {
    width: 200px;
    height: 100px;
    background-color: #C9FFFF;
  }
   
  input {
    position: relative;
    left: 15px;
    top: -15px;
  }

html:

<div></div>
<input type="text" />

运行效果如下:

详情见我的博客: https://artdong.github.io/blo...

1,基本介绍

(1)absolute 生成绝对定位的元素。
(2)绝对定位的元素使用 left、right、top、bottom 属性相对于其最接近的一个具有定位属性的父元素进行绝对定位。
(3)如果不存在这样的父元素,则相对于 body 元素,即相对于浏览器窗口。

2,样例代码

下面代码让标题元素相对于它的父容器做绝对定位(注意父容器 position 要设置为 relative)。
同时通过 top 属性让标题元素上移,使其覆盖在父容器的上边框。
最后通过 left 和 margin-left 配合实现这个绝对定位元素的水平居中。

css:

  #box {
    width: 200px;
    height: 100px;
    -webkit-box-flex:1;
    border: 1px solid #28AE65;
    border-radius:6px;
    padding: 20px;
    position: relative;
    font-size: 12px;
  }
 
  #title {
    background: #FFFFFF;
    color: #28AE65;
    font-size: 15px;
    text-align: center;
    width: 70px;
    height: 20px;
    line-height: 20px;
    position: absolute;
    top: -10px;
    left: 50%;
    margin-left: -35px;
  }

html:

<div id="box">
 <div id="title">标题</div>
 欢迎访问我的博客
</div>

运行效果如下,标题元素虽然是在边框容器的内部。但由于其使用绝对定位,并做位置调整,最后显示效果就是覆盖在父容器边框上。

详情见我的博客: https://artdong.github.io/blo...

1,基本介绍
(1)fixed 生成绝对定位的元素,该元素相对于浏览器窗口进行定位。
(2)固定定位的元素不会随浏览器窗口的滚动条滚动而变化,也不会受文档流动影响,而是始终位于浏览器窗口内视图的某个位置。

2,样例代码
(1)下面代码让输入框位于浏览器窗口的底部。

css:

  input {
    position: fixed;
    bottom: 10px;
  }

html:

<ol>
 <li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li>
 <li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li>
 <li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li>
 <li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li>
</ol>
<input type="text" />

(2)可以看到不管滚动条如何滚动,输入框始终处于窗口的最下方。

详情见我的博客: https://artdong.github.io/blo...


更多angular1/2/4/5、ionic1/2/3/4、react、vue、微信小程序、nodejs等技术文章、视频教程和开源项目,请扫一扫下面的二维码关注微信公众号——全栈弄潮儿

微信公众号.png

css position relative and absolute 布局

css position relative and absolute 布局

Created by Jerry Wang, last modified on Sep 01, 2014

</html>
<style type="text/css">
.highlight 
{
  background-color:yellow;
  text-decoration:underline;
  width: 100px;
  height: 100px;
  display: block;
}
.div1{
 background-color: red;
 width: 100px;
 position: absolute;
 top: 90px;
 left: 50px;
}
.div2{
 background-color: blue;
 width: 100px;
 left: 100px;
}
.rule100{
 background-color: black;
 width: 100px;
}
</style>
<p>Jerry''s <span>Hello</span></p>
<div>div1
 <div>div2</div>
</div>
<div>"100px"</div>
</html>
case 1: 当 #div2 position 为缺省值 static(Elements render in order, as they appear in the document flow)时,按照其在 document flow 内的位置进行布局:
case2: position:absolute(  The element is positioned relative to its first positioned (not static) ancestor element ).
因为现在 div1 的 position 布局为 absolute,则 div2 会按照 div1 的相对位置进行布局。div1 start x offset = 50px, div2 本身的 left = 100px, 因此 div2 以相对于 document 100+50 = 150px 的起始位置进行布局:

注意在 absolute 的情况下,div2 不仅位置改变,同时也脱离了 document flow,因此其原来在 div1 内的位置已经不再存在:
case3: position: relative (  The element is positioned relative to its normal position ).
div2 原本在 div1 内的位置为相对 document 偏移 50px,因此最后的水平方向偏移为 150px. div2 虽然从表面上看已经偏离了原来的位置,但是实际上在 document flow 中仍然未改变,因此从视觉上相比 case2,case3 中的 div1 具有 case2 的 2 倍高度。
case4: div1 的 position 设置为 static. 此时 top attribute 则不再起作用。
 
case5: div1 的 position 设置仍然为 static,body 的 position 为 absolute. div2 的 css:
   
.div2{
 background-color: blue;
 width: 100px;
 left: 200px;
 top: -40px;
 position: absolute;
}
   
div2 在 ui 上消失,因为其 y 坐标在原点上方,并且从 document flow 里移除,因此 div1 的高度同 case2.
如果 div2 改为 relative,则其 y 坐标为 static case 下的值减去 40,最后布局如下:

要获取更多 Jerry 的原创文章,请关注公众号 "汪子熙":

本文同步分享在 博客 “汪子熙”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与 “OSC 源创计划”,欢迎正在阅读的你也加入,一起分享。

CSS position 属性 absolute relative 等五个值的解释

CSS position 属性 absolute relative 等五个值的解释

http://www.jb51.net/css/68072.html

关于CSS中"position:relative"属性与文档流的关系css文档流如何理解的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于1、绝对定位(position: absolute) 2、相对定位(position: relative) 3、固定定位(position: fixed)、CSS - 定位属性position使用详解(static、relative、fixed、absolute)、css position relative and absolute 布局、CSS position 属性 absolute relative 等五个值的解释的相关信息,请在本站寻找。

本文标签: