css 中相对定位和绝对定位

1. css中定位机制有三种: 标准文档流, 浮动, 绝对定位

2. 绝对定位就属于第三种定位, 用到position属性, 下面就是具体设置

相对定位:

  相对于自身原有位置(就是普通流的时候)进行偏移(设置top, left...后)

  仍然处于标准文档流中

  随即拥有偏移属性和z-index属性

绝对定位:

  建立了以包含块为基准的定位

  完全脱离了标准文档流

  随即拥有偏移属性和z-index属性

3.  先上示例代码

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>Document</title>
 8     <style type="text/css">
 9         .class1 {
10             height: 100px;
11             background-color: blue
12         }
13         .class2 {
14             position:relative; /*去掉后子元素会以html为参照物*/
15             height: 50px;
16             background-color: green;
17         }
18         .class3 {
19             height: 80px;
20             background-color: red;
21         }
22         .child {
23             height: 20;
24             position:absolute;
25             top: 10px;
26             left: 30px;
27             background-color:gold;
28         }
29     </style>
30 </head>
31 <body>
32     <div class="class1"></div>
33     <div class="class2">
34         <div class="child">
35             Jason Zeng
36         </div>
37     </div>
38     <div class="class3"></div>
39 </body>
40 </html>

祖先元素设置了定位

1 .class2 {
2     position:relative; /*去掉后子元素会以html为参照物*/
3     height: 50px;
4     background-color: green;
5 }

祖先元素没有设置定位

1 .class2 {
2     height: 50px;
3     background-color: green;
4 }

4.总结: 绝对定位时偏移参考物:

  无已定位的祖先元素(包裹它的所有层都没有设置position属性): 以<html>为偏移参照物

  有已定位的祖先元素: 以距其最近的已定位的祖先元素为偏移参照基准

时间: 2024-08-08 12:42:32

css 中相对定位和绝对定位的相关文章

详解CSS的相对定位和绝对定位

原文地址:http://www.3lian.com/edu/2015/01-31/191131.html 详解CSS的相对定位和绝对定位 感谢 3lian8 的投递 时间:2015-01-31 来源:cmsgood zcp CSS的相对定位和绝对定位通常情况下,我们元素的position属性的值默认为static 就是没有定位,元素出现在正常的文档流中,,这个时候你给这个元素设置的left,right,bottom,top这些偏移属性都是没有效果的,不会生效,比如你设置一个距离左边距偏移100p

CSS定位深入理解 完全掌握CSS定位 相对定位和绝对定位

其实前面的标准流和浮动流都很理解,就是定位不太好理解,特别是相对定位和绝对定位,很多刚开始学的同学不好区分.因此这里,小强老师和大家一起分享CSS定位的学习. 通过我们前面的学习,我们网页布局方法: 1. 标准流   (最稳定) 2. 浮动流   (float 其次) 3. 定位流    ( 稳定性最后) 定位是完全脱离标准流的一种布局方式. 其实前面的标准流和浮动流都很理解,就是定位不太好理解,特别是相对定位和绝对定位,很多刚开始学的同学不好区分.因此这里,小强老师和大家一起分享CSS定位的学

开发中如何合理使用CSS的相对定位和绝对定位

在谈论如何使用时.我们先来看看CSS对position属性的相关定义: static:无特殊定位,对象遵循正常文档流.top,right,bottom,left等属性不会被应用.relative:对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置.而其层叠通过z-index属性定义.absolute:对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位.而其层叠通过z-index属性定义. 什么是文档流? 文档流是将

css中相对与绝对定位

定位在现今的页面当中是比较常见的,比如说一些固定在左右的广告之类的. 而我们在编写代码的时候,系统会默认我们的代码为静态定位 相对定位 被看作普通流定位模型的一部分,定位元素的位置根据元素本身开始的位置进行移动.使用相对定位的元素不管它是否进行移动,元素仍要占据它原来的位置.移动元素会导致它覆盖其他的框. 代码书写为,在css样式中添加. position:relative: 下面写上要这个元素上下左右移动的像素距离. 绝对定位 相对于元素的上级或祖先元素进行定位,如果说元素的祖先元素当中,没有

css关于相对定位与绝对定位

1.一般如果我们不给元素设置position,则默认为static,此时是该元素是没有定位的,像left/right这些偏移属性都是没有效果的. 2.position:relative (相对定位) 若设置为相对定位,即可配置left/right这些偏移,相对于该元素原有位置进行偏移,并且,原有位置任占据着文档流的空间,偏移并不会挤开别的元素,所以如果发生重叠,可以通过z-index设置堆叠顺序. 3.position:absolute(绝对定位) 当一个元素设置为绝对定位的时候,在文档流中是不

css中图片使用绝对定位实现居中效果[第二篇]

昨天在知乎上各种看前端的贴,一不小心又学到了个技巧,再次我搬过来和大家分享. 还是同样的问题: 如何让一个div在父元素中居中? 在上一篇里我们用到了绝对定位position:absolute; 再结合margin的负值实现了居中的效果. 第二种解决办法 在此我们来看下新的方法: html: <div class="container"> <div class="box"></div> </div> css: .con

css中图片使用绝对定位实现居中效果

存在问题 问题如标题所说,咱们在给图片设置绝对定位的时候就会遇到无法居中图片的问题.怎么解决?margin:0 auto? 很显然这个时候设置margin是无效的. 解决方案 假设咱们的图片宽度为100px:那我们就这么写: position:absolute; left:50%; margin-left:-50px; (此处margin-left的值写该图片宽度的一半) 解释: 1.使用绝对定位,设置left值将图片移到正中间,此时图片的左边框在屏幕的中线位置 2.设置margin-left,

CSS的相对定位和绝对定位

relative的意思就是相对自己的一开始的位置进行的定位.如图: 但是这个元素的本身边距不变,还在原来位置 absolute的意思就是 如果它的父元素设置了除static之外的定位,比如position:relative,或者position:absolute以及position:fixed,那么它就会相对于它的父元素来定位,位置通过left , top ,right ,bottom属性来规定,如果它的父元素没有设置定位,那么就得看它父元素的父元素是否有设置定位 ,如果还是没有就继续向更高层的

秒懂相对定位与绝对定位,【组合拳relative,absolute】 瞬间清醒有木有?

上文:组合拳 层级关系为: <div ----------- position:relative; 不是最近的祖先定位元素,不是参照物 <div----------没有设置为定位元素,不是参照物 <div-------- position:relative 参照物 <div box1 <div box2 --–position:absolute; top:50px; left:120px; <div box3 效果图: 为改变参照物(橘色框)后的效果 层级关系为: &l