在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使用的浅谈的更多相关文章

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

    深入理解css中position属性及z-index属性 在网页设计中,position属性的使用是非常重要的.有时如果不能认识清楚这个属性,将会给我们带来很多意想不到的困难. position属性共 ...

  2. .net中对象序列化技术浅谈

    .net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储 ...

  3. CSS中Position属性

    也许你看到这个标题觉得很简单,确实这是一篇关于CSS中Position属性基础知识的文章,但是关于Position的一些细节也许你不了解. 1.简介 position有五个属性: static | r ...

  4. CSS中position和header和overflow和background

    <!DOCTYPE html> <!--CSS中position属性--> <html lang="en"> <head> < ...

  5. 对kotlin和java中的synchronized的浅谈

    synchronized在java中是一个关键字,但是在kotlin中是一个内联函数.假如分别在java和kotlin代码锁住同一个对象,会发生什么呢,今天写了代码试了试.首先定义people类 12 ...

  6. CSS中"position:relative"属性与文档流的关系

    前言 近期遇到一个问题--"position:relative"到底会不会导致元素脱离文档流?主流观点是不会,但都给不出一个有说服力的论据.最后我自己佐证了一番,总算有了个结果:& ...

  7. CSS中Position属性static、absolute、fixed、relative

    在html中网页可以看成一个立体的空间,一个完整的页面是由很多个页面堆积形成的,如下图所示   CSS中Position属性有四个可选值,它们分别是:static.absolute.fixed.rel ...

  8. 深入理解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 ...

  9. CSS属性中的display属性浅谈;

    首先我们要知道什么是块级元素和行内元素有什么区别: 承接上篇文章:(浅谈HTML和body标签) 块级元素:浏览器解析为独占一行的元素(例如:div.table.ul等.),浏览器会在该元素的前后显示 ...

随机推荐

  1. 树莓派安装Raspbian系统以及相关配置(通过Windows)

    1.准备 树莓派3B+(E14) 一张内存卡 (至少16G) 一个读卡器 普通电脑显示器,键盘,鼠标 2.操作系统烧制(下面的操作都是在Windows中操作,通过读开启读取内存卡) Raspbian系 ...

  2. 自动化构建工具maven

    Maven是目前最流行的自动化构建工具,对于生产环境下多框架.多模块整合开发有重要作用.Maven 是一款在大型项目开发过程中不可或缺的重要工具. 一.什么是构建? 构建并不是创建,创建一个工程并不等 ...

  3. 移动端的click点透问题

    在移动端开发中,有时会出现click点透的问题. 一.什么是click点透 以下情况,在B元素上有半透明红色遮盖层A,黄色B元素内有可点击链接C. tips:以下举例仅针对webkit内核浏览器,所有 ...

  4. 基于Python实现邮件发送

    import smtplibfrom email.mime.text import MIMETextemail_host = 'smtp.163.com' # 邮箱地址email_user = 'sz ...

  5. php防止重复提交问题总结

    用户提交表单时可能因为网速的原因,或者网页被恶意刷新,致使同一条记录重复插入到数据库中,这是一个比较棘手的问题.我们可以从客户端和服务器端一起着手,设法避免同一表单的重复提交. 1.使用客户端脚本 提 ...

  6. Ubuntu15.10下安装Docker

    1.首先查看linux系统版本 head -n 1 /etc/issue 2.升级包管理器 sudo apt-get update sudo apt-get install apt-transport ...

  7. Javascript学习一Object

    构造函数 new Object() new Object(value) 参数 value     可选的参数,声明了要转换成Number对象.Boolean对象或String对象的原始值(即数字.布尔 ...

  8. 5.vs的各个组成部分

    启动vs (1).双击vs的打开图标 (2).输入devenv 编写项目时,命名的时候,尽量不要使用中文. 我们暂时将.cs文件理解为是一个类文件.   在 视图菜单 下可以打开 解决方案资源管理器 ...

  9. 管理员账户权限不足 解决方案 类似没有XXX权限之类的问题解决方法

  10. 连接Mysql时出现java.math.BigInteger cannot be cast to java.lang.Long问题

    今天遇见这样一个坑.在连接数据库进行查询数据时,大家可能会遇见这样一个问题:java.math.BigInteger cannot be cast to java.lang.Long,然后去检查代码中 ...