关于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等.),浏览器会在该元素的前后显示 ...
随机推荐
- RobotFramework读取mysql和oracle数据库
一.robotframework连接mysql数据库 1.安装databaselibrary.pymysql 通过cmd命令执行:pip install robotframework-database ...
- spring webapp的配置文件放置在项目外的方法
在web.xml中,填写 <context-param> <param-name>CFG_HOME</param-name> ...
- python 实现连接mysql并读一条数据写到csv一条数据
import MySQLdb as mdb import csv with open('my.csv', 'w+', newline='') as csv_file: writer = csv.wri ...
- [转]HTML字符实体(Character Entities),转义字符串(Escape Sequence)
为什么要用转义字符串? HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用.这些符号是不显示在我们最终看到的网页里的,那如果我们希 ...
- 在Application_Error获取Asp.Net未处理异常信息
在Application_Error获取Asp.Net未处理异常信息 protected void Application_Error(object sender, EventArgs e) { // ...
- 【计算机网络】一步一步学习IP路由流程
TCP/IP协议簇是目前互联网应用最广的协议栈,谈到TCP/IP协议栈就不能不讲一讲IP路由的问题,因为在我们使用的网络通信中几乎每时每刻都在发生着IP路由的事件…….当你在网络世界中还是一位新手的时 ...
- 如何修改FlashFXP默认编辑工具使用记事本打开
FlashFXP如果不设置默认编辑工具,那么当你打开html文档的时候,默认会用word打开,很不方便,其实简单的设置下,可以默认以任何工具打开.具体设置方法如下: 选项>>关联文件. 然 ...
- SQL内外连接的区别
项目当中,需要将SQL server中的部分数据导入mongo中,由于SQL是关系型数据库的原因,需要联合多表进行查询,因此,了解了下SQL中内外连接的相关概念,以作备注: 1.内联接(典型的联接运算 ...
- OC跟Swift混编
OC项目中使用Swift 本文版权归作者所有,如需转载请联系孟祥月 CSDN博客:http://blog.csdn.net/mengxiangyue 独立博客:http://mengxiangyue ...
- SpringBoot常用应用程序属性
参考地址: https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.h ...