css中position:relative的真正理解

  其实话说一直以来也没真正去理解好position:relative的用法的真实意义。

  我想很多人实实在在用的多都是position:relative和position:absolute结合起来一起用的。

  position属性是用四种定位。默认的是static。

  position:absolute(绝对定位)
——是脱离文档流,相对于父级元素(包含这个position:relative)定位,当然如果没有,那就是相对于body定位的。

  position:relative(相对定位) ——单独使用,我不知道很多人是不是也跟我一样忽略过它,relative
也是不脱离文档流,“这个元素会偏移某个距离。但是该元素仍保持其未定位前的形状,它原本所占的空间仍保留。”,它是相对于自己来定位的,例如:#main{position:relative;top:-50px;},这时#main会在相对于它原来的位置上移50px。 

  position:fixed(固定定位)  ——
跟绝对定位有点类似,只是它的父级元素永远都是视窗本身。

  


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>position</title>
<style type="text/css">
<!--
body{
font-size:12px;
margin:0 auto;
}

div#demo{
position:relative;
border:1px solid #000;
margin:50px;
top:-50px;
line-height:18px;
overflow:hidden;
clear:both;
height:1%;
}

div#sub{
position:absolute;
right:10px;
top:10px;
}

div.relative{
position:relative;
left:400px;
top:-20px;
}

div.static,div.fixed,div.absolute,div.relative{
width:300px;
}

div.static{
background-color:#bbb;
position:static;
}

div.fixed{
background-color:#ffc0cb;
}

div.absolute{
background-color:#b0c4de;
}

div.relative{
background-color:#ffe4e1;
}
-->
</style>
</head>
<body>
<div id="demo">
<div class="static">static: 默认值。无特殊定位,对象遵循HTML定位规则 </div>
<div id="sub" class="absolute">absolute: 将对象从文档流中拖出,使用left,right,top,bottom 等属性相对于其最接近的一个最有定位设置的父对象进行绝对定位。如果不存在这样的父对象,则依据body对象。而其层叠通过z-index属性定义 </div>
<div class="fixed">fixed:未支持。对象定位遵从绝对(absolute)方式。但是要遵守一些规范 </div>
<div class="relative">relative:对象不可层叠,但将依据 left,right,top,bottom 等属性在正常文档流中偏移位置 </div>
</div>
</body>
</html>

  

  

时间: 2024-10-05 04:42:29

css中position:relative的真正理解的相关文章

CSS中&quot;position:relative&quot;属性与文档流的关系

前言 近期遇到一个问题--"position:relative"到底会不会导致元素脱离文档流?主流观点是不会,但都给不出一个有说服力的论据.最后我自己佐证了一番,总算有了个结果:"position:relative"不会导致元素脱离文档流. 博文地址:CSS中"position:relative"属性与文档流的确切关系 "relative"与文档流 说到标准,最权威的自然莫过于CSS标准文档.经过一番繁琐的查找之后(w3c网站

css中position:relative和overflow:hidden的问题

<div style="height:100px; width:100px; background:#CCC; overflow:hidden;"> <div style="height:300px; width:90px; background:#999; position:relative;"></div> </div> ↓ 解决方案:将父标签的position也设置成relative,代码如下: <div 

CSS 中 Position relative 和 absolute区别

Relative Positioning A relative positioned element is positioned relative to its normal position. The reserved space for the element is still preserved in the normal flow. relative 位置是相对元素的父元素的位置.left, top 是相对其父元素进行调整, 但是位置还是和DOM中的看起来一致(in normal flo

深入理解css中position属性及z-index属性

深入理解css中position属性及z-index属性 在网页设计中,position属性的使用是非常重要的.有时如果不能认识清楚这个属性,将会给我们带来很多意想不到的困难. position属性共有四种不同的定位方法,分别是static.fixed.relative.absolute.最后将会介绍和position属性密切相关的z-index属性. 第一部分:position: static static定位是HTML元素的默认值,即没有定位,元素出现在正常的流中,因此,这种定位就不会收到t

【拼爹坑爹不比爹】深入理解css中position属性及z-index属性

总结:拼爹坑爹不比爹 1,定位移动:距左上角left+top;(移动后对于移动前:如果值为负数,则直接换成整数:如果值为整数,则直接改变相对方向.)2,单一父元素不设值,子z-index才奏效:"不比爹"3,多个父元素,"拼爹坑爹"(子凭父贵,子贵父不贵)(爹设值,因外有body)4,多个父元素多子元素,各父各子高低相互比,就是不比爹:>< [转]深入理解css中position属性及z-index属性 在网页设计中,position属性的使用是非常重要

css中position属性(absolute/relative/static/fixed)

css中position属性(absolute/relative/static/fixed): position:static   无特殊定位,是html元素默认的定位方式,对象遵循正常文档流.top,right,bottom,left等属性不会被应用. position:relative 对象遵循正常文档流,相对的是它原本在文档流中的位置而进行的偏移,但将依据top,right,bottom,left等属性在正常文档流中偏移位置.而其层叠通过z-index属性定义. position:abso

Css中Position定位属性与层级关系

今天同事发现一个有意思的问题,关于position的层级关系的,他要不说我也没注意过 测试后果然有趣,有待深入研究: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Css中Position定位属性与层级关系</title> 6 <style type="text/css"> 7 #W{ 8

CSS中Position属性

也许你看到这个标题觉得很简单,确实这是一篇关于CSS中Position属性基础知识的文章,但是关于Position的一些细节也许你不了解. 1.简介 position有五个属性: static | relative | absolute | fixed | inherit static 和 inherit : 没什么值得介绍的. relative : 相对于元素自身的定位. absolute :相对于包含块的定位. fixed : 相对于窗口的定位. 2.包含块 包含块就是 top | righ

CSS中position属性的理解,相对位置relative,绝对位置absolute,固定fixed,页脚固定的实现2种方法

页脚固定的底部的两种方式: 1.使用fixed属性值 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title></title> 5 </head> 6 <body> 7 <div style="height: 1500px;width: 100%;background-color: green;margin-bottom: 320px;"> 8 9 <