关于css 中position使用的浅谈
在css中有一种属性position。在W3C上我们可以找到他又一下几种属性:absolute、fixed、relative、static、inherit。但是position的使用却并不是简简单单的将以上的属性值写入css就可以大功告成的,要想使用position,就要考虑这几种属性值在不同父级元素中的效果,以及自身标签中其他属性的值。
下面就具体解释一下这几个属性值的用法,不过首先你要理解“盒模型”,如果不明白,就要自学一下了(不是本文讨论的问题)。笔者也是看了其他博主的博文后,结合自己的理解整理的。所以借鉴了一些他人的思想。
1、static:
即默认的值,如果不对元素设置的话又没有设置为‘继承’,就相当于没做设置,所以很少看到有将position设置为static的情况,但只是少用,而不是不用。
2、relative(相对):
使用这个元素时,要先找到该元素的父元素,还要知道trbl属性(top、right、bottom、left)。所谓相对,就是在父元素内部,设定子元素相对父元素中自己原来的的位置,比如:top:20px;就是距离父元素中自己原来的的位置偏下20像素,一般来说只需要指定横向上的一个和纵向上的一个,即可达到子元素定位的效果。另外,要强调一点,relative定位的子元素是不能重叠的,即他会考虑其他元素而布局的。
设置之后,原来的框还在,但自己已经偏移到原框偏移了。
3、absolute(绝对):
即在父元素中不考虑同级子元素,用trbl属性(top、right、bottom、left)定位,但是有重叠,即在同一个父元素中,几个子元素使用相同的trbl属性(top、right、bottom、left),就会出现在同一个位置。因此会出现遮盖,这时候我们需要z-index设置显示优先级,值为自然数,即数值越大,显示层越靠前,越有可能被用户看到。值得注意的是,在W3C中指出“生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。”
即在使用position:absolute时,应该先看看父元素。我们已经知道,如果static是一个默认值,即使用position:absolute前,先对父元素设置成一个“最近的已经定位的祖先元素”通常将父元素(被参考的先祖元素)设为position:relative。
4、fixed
fixed与相似,只不过他的“参考先祖元素”是浏览器,即浏览器直属部队。
5、inherit
即继承父元素的position值。
关于css 中position使用的浅谈的更多相关文章
- 深入理解css中position属性及z-index属性
深入理解css中position属性及z-index属性 在网页设计中,position属性的使用是非常重要的.有时如果不能认识清楚这个属性,将会给我们带来很多意想不到的困难. position属性共 ...
- .net中对象序列化技术浅谈
.net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储 ...
- CSS中Position属性
也许你看到这个标题觉得很简单,确实这是一篇关于CSS中Position属性基础知识的文章,但是关于Position的一些细节也许你不了解. 1.简介 position有五个属性: static | r ...
- CSS中position和header和overflow和background
<!DOCTYPE html> <!--CSS中position属性--> <html lang="en"> <head> < ...
- 对kotlin和java中的synchronized的浅谈
synchronized在java中是一个关键字,但是在kotlin中是一个内联函数.假如分别在java和kotlin代码锁住同一个对象,会发生什么呢,今天写了代码试了试.首先定义people类 12 ...
- CSS中"position:relative"属性与文档流的关系
前言 近期遇到一个问题--"position:relative"到底会不会导致元素脱离文档流?主流观点是不会,但都给不出一个有说服力的论据.最后我自己佐证了一番,总算有了个结果:& ...
- CSS中Position属性static、absolute、fixed、relative
在html中网页可以看成一个立体的空间,一个完整的页面是由很多个页面堆积形成的,如下图所示 CSS中Position属性有四个可选值,它们分别是:static.absolute.fixed.rel ...
- 深入理解css中position属性及z-index属性 https://www.cnblogs.com/zhuzhenwei918/p/6112034.html
深入理解css中position属性及z-index属性 请看出处:https://www.cnblogs.com/zhuzhenwei918/p/6112034.html 在网页设计中,positi ...
- CSS属性中的display属性浅谈;
首先我们要知道什么是块级元素和行内元素有什么区别: 承接上篇文章:(浅谈HTML和body标签) 块级元素:浏览器解析为独占一行的元素(例如:div.table.ul等.),浏览器会在该元素的前后显示 ...
随机推荐
- 用 JS 做一个数独游戏(一)
用 JS 做一个数独游戏(一) 数独的棋盘由 9x9 的方格组成,每一行的数字包含 1 ~ 9 九个数字,并且每一列包含 1 ~ 9 这 9 个不重复的数字,另外,整个棋盘分为 9 个 3x3 的块, ...
- POJ 1860——Currency Exchange——————【最短路、SPFA判正环】
Currency Exchange Time Limit:1000MS Memory Limit:30000KB 64bit IO Format:%I64d & %I64u S ...
- php数组转json对象并保留数字索引
本文要解决的问题是php不带索引的数组转换为json对象(而非默认的json数组) php中数组转json使用的方法是系统自带的:json_encode php中数组转json的规则是:当没有指定索引 ...
- Java-Excel写与读
很多时候,一个软件应用程序需要生成Microsoft Excel文件格式的报告.有时,一个应用程序甚至希望将Excel文件作为输入数据.例如,一个公司开发的应用程序将财务部门需要所有输出生成自己的Ex ...
- jquery-fullpage插件
jquery fullpage.js全屏滚动插件/jquery-easing插件 // 前端自动化工具安装插件 在页面引入: <link rel="stylesheet" h ...
- REP-0118:can not create temporary file(无法创建临时文件)
解决办法: 查看一下注册表里面的reports_tmp 的路径 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_DevSuiteHome1 .是不 ...
- 如何解决ArcGIS Runtime SDK for Android中文标注无法显示的问题
自10.2版本开始,我就一直被ArcGIS Runtime SDK for Android的中文标注无限困扰.无论是驻留于内存中的Graphic 的文本符号TextSymbol,还是新增的离线geod ...
- maven下nutz与servlet报错org.nutz.mvc.NutFilter cannot be cast to javax.servlet.Filter
使用maven搭建nutz时,加入servlet报错:org.nutz.mvc.NutFilter cannot be cast to javax.servlet.Filter 十二月 03, 201 ...
- 心得整理之一--RDLC多数据源多表
我将项目中的一部分提炼出来,写了这个Demo. 先说一下需求, 从 API接口, 获取数据源, 调用RDLC 生成PDF文件. (后面还有涉及到使用福昕PDf阅读器进行设置文件自定义内容,以供外部程序 ...
- 被遗忘的设计模式——空对象模式(Null Object Pattern)
GoF(四人帮)那本<设计模式 可复用面向对象软件的基础>可谓是设计模式方面的经典之作,其中介绍的23种设计模式, 也可谓是经典中的经典.但是,设计模式的种类绝不仅仅是这23种,除此之外还 ...