CSS中Position 的用法
CSS中Position 的用法
CSS中Position 的用法
语法:
position:static | relative | absolute | fixed
取值:
static :默认值,无特殊定位,对象遵循正常文档流。top,right,bottom,left等属性不会被应用,默认值。
relative:相对定位,对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。
absolute:绝对定位,对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index属性定义。
fixed:固定定位,对象脱离正常文档流,使用top,right,bottom,left等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。
四个属性的详细介绍:
说到这里我们不得不提一下一个定义——文档流,很多书对文档流这个概念只是一笔带过,没有详细解答,但我根据自己的经验和理解对它进行了总结,文档流其实就是文档的输出顺序,也就是我们通常看到的由左到右、由上而下的输出形式,在网页中每个元素都是按照这个顺序进行排序和显示的,而float和position两个属性可以将元素从文档流脱离出来显示。
默认值就是让元素继续按照文档流显示,不作出任何改变。
比如:<li class="1"></li><li class="2"></li>
当1固定了位置。1的样式 float:left;width:100px; height:800px;
2的样式为 float:left; position:relative;margin-left:20px;width:50px;
2的位置在1的右边,距离120px.
absolute,绝对定位
位置被设置为absolute后,被设置的元素会被定义到包含它的元素内的指定坐标(X坐标、Y坐标)。
比如:position:absolute;left:20px;top:80px; 这个容器始终位于距离浏览器左20px,距离浏览器上80px的这个位置。它不会随着窗口大小变化,只是固定在一个特定的坐标轴上面;
固定位置,fixed
在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。但是目前它在IE6中不被支持,只有IE7和Firefox浏览器可以识别
position
注意事项:
1、当Position属性值为Relative时对象原来占有的位置保留,其后面的对象按原来文档流仍然保持原来的位置Top的值表示对象相对原位置向下偏移的距离bottom的值表示对象相对原位置向上偏移的距离两者同时存在时,只有Top起作用。left的值表示对象相对原位置向右偏移的距离right的值表示对象相对原位置向左偏移的距离两者同时存在时,只有left起作用。
2、当Position属性值为absolute时对象从文档流中抽取出来,原占有的位置被后面的对象顶替上来Top的值表示对象上边框与浏览器窗口顶部的距离bottom的值表示对象下边框与浏览器窗口底部的距离两者同时存在时,只有Top起作用;如果两者都未指定,则其顶端将与原文档流位置一致,即垂直保持位置不变。left的值表示对象左边框与浏览器窗口左边的距离right的值表示对象右边框与浏览器窗口右边的距离两者同时存在时,只有left起作用;如果两者都未指定,则其左边将与原文档流位置一致,即水平保持位置不变。
在Position属性值为absolute的同时,如果有一级父对象(无论是父对象还是祖父对象,或者再高的辈分,一样)的Position属性值为Relative时,则上述的相对浏览器窗口定位将会变成相对父对象定位,这对精确定位是很有帮助的。
positon 与 display
元素分为内联元素和区块元素两类(当然也有其它的),在内联元素中有个非常重要的常识,即内两元素是不可以设置区块元素所具有的样式,例如:width | height。
relative : 原来是什么类型的依旧是什么类型。
absolute | fixed : 元素就被重置为了区块元素,例如:打算为span元素指定大小,并绝对定位
<span style="position:absolute; width:100px; height:50px;">span</span>这是完全正确的,
<span style="position:absolute; display:block; width:100px; height:100px;">span</span>,这里的display:block就是多余的了。
position 与 float
一个元素若设置了 position:absolute | fixed; 则该元素就不能设置float。这是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是“定位流(这是自己起的名字,呵呵)”。
但是 relative 却可以。因为它原本所占的空间仍然占据文档流。
- vue控制div滚动条(vue3实现CSS无限无缝滚动效果)
- css文本怎么控制边距(css中text-overflow属性与文本截断详解)
- css元素最完整表现形式(CSS 伪元素::marker详解)
- css背景的属性有哪些(简述CSS中的背景属性background)
- div和css怎么铺背景(css3实现一个div设置多张背景图片及background-image属性实例演示)
- CSS3中user-select的用法
- cssflex布局案例(CSS Flexbox的具体用法详解)
- css3样式设计图片(CSS3 制作的彩虹按钮样式)
- css3按钮闪烁(纯CSS3代码实现switch滑动开关按钮效果)
- css3渐变背景教程(css3实现背景图片颜色修改的多种方式)
- css3loading教程(详解纯CSS3制作的20种loading动效)
- html怎么使用css居中(HTML+CSS实现单列布局水平居中布局)
- css的字体大全(CSS 常用中文字体 Unicode 编码表)
- css3中基本选择符(CSS3 clip-path 用法介绍详解)
- css里margin是什么意思(正确理解CSS中的margin合并的用法)
- css3行内样式表图解(详解css3自定义滚动条样式写法)
- 乡村爱情15 宋晓峰怀疑自己孩子,腾飞与姜奶奶亲子鉴定出结果(宋晓峰怀疑自己孩子)
- 《乡村爱情13》开播,新版刘能以假乱真,编剧思维进入瓶颈(新版刘能以假乱真)
- 当年的 白洋淀战神 练肌肉 嘎子哥也成为行走的荷尔蒙(当年的白洋淀战神)
- 肌肉小子陈康, 亚洲巨兽 黄哲勋,哪个才是你的菜(肌肉小子陈康亚洲巨兽)
- 新闻周刊 青岛网红 赵厂长 编段子一箩筐输出快乐,陪父亲十二载勇斗病魔(新闻周刊青岛网红)
- 44岁夏雨演谋女郎爸,大其24岁却看不出,互动不怕袁泉吃醋(44岁夏雨演谋女郎爸)
热门推荐
- iis搭建网站的地址(IIS站点所有文件直接下载 强制下载)
- oracle for update nowait和for update区别
- 颜色识别模块抓取物体(Referer原理与图片防盗链实现方法详解)
- dedecms图集功能(DEDECMS给图集图片加上自动编号教程)
- dede模板如何修改(dede文章页面如何显示作者的头像默认只能显示作者用户名)
- js条件语句教学(浅谈JS如何写出漂亮的条件表达式)
- Web页面的字体有哪些
- vue如何检查数组变化(Vue2中无法检测到数组变动的原因及解决)
- react重点和难点(关于React状态管理的三个规则总结)
- 定时删除linux日志(Linux使用shell脚本定时删除历史日志文件)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9