Position定位

个人觉得position这个属性真的算是CSS的见面杀了。尤其是absolute,当年可是被虐的不轻。当然了,现在爱上了这个属性,谁用谁知道。

position属性

position是CSS的一个属性,地位较高,也是我们重点要说的一个属性。

对应了四个与之相关的位置属性,top、right、bottom、left,分别是指离上、右、下、左的距离,注意是设定后移动自身,不是挤走别的元素。

下文称位置属性即为top、right、bottom、left。

如果一个页面,不通过position的调整,在如今看来,将是极度难以忍受的。其主要包含下列属性值,不含继承的话,共有5个,以下一一例举:

  • static

    直译为静态,默认值,在其上使用position的位置属性无效。

  • relative

    直译为相对,与static近似,但在其上使用position的位置属性有效。

    注意,relative不会脱离文档流,具体见下面的图示。

  • absolute

    直译为绝对,向上寻找 第一个非static定位的标签,然后位置属性相对其有效。如果没有找到,则相对document。

    向上寻找:标签存在父子级关系,由子级向父级乃至祖宗级直到body为止。向下则相反。
    absolute会脱离文档流。

  • fixed

    直译为修正,简单粗暴,直接相对浏览器窗口显示区域定位。

    fixed会脱离文档流。

  • sticky

    直译为粘性,当相应内容显示在视觉范围内,则表现为relative定位,当内容即将逃出显示区域时,切换为fixed定位。

    sticky不会脱离文档流,即使换成了fixed。

以下针对5种定位做出图文描述

  • static

    static设置位置属性是无效的

    static为了方便理解还是与relative对比可以看出效果

  • relative

    relative设置位置属性有效,并且没有脱离原本文档流,只是显示位置变化了而已

  • absolute

    此图是证明相对于document

    absolute的最大难点就是具体相对谁的定位:

    absolute相对的是向上第一个不是static默认定位的元素,如果没有找到,则相对于document

    此图是证明相对于非static的父级标签,也可以自己试试,父级标签都是默认会如何。

  • fixed

    相对于浏览器窗口显示内容定位

    如果对fixed元素的父级元素设置了transform,则回导致fixed失效,这里有个印象就好。

  • sticky

    处在显示区域中是使用relative,当要逃出显示区域时切换为fixed

    新出的,兼容性注意下就好,非常适合做一下标题模块。


以上就是position相关的速讲知识,有疑问或者其他可以留言询问。


如果文章对你有一点帮助,我就非常的开心了。
喜欢我的文章,请关注我,定期发布技术文章,满满的干货。

源码相关

CodePen

天坑,CSS之定位Position(六分之五)的更多相关文章

  1. css 页面定位position

    position的四个属性值 relative absolute fixed static 参看实例 <div id="parent">  <div id='su ...

  2. CSS中定位position

    毋庸置疑的是,pisition是css中是最重要的属性之一. 一共有四种定位方式,static.relative.absolute.fixed. 默认的定位方式static 页面中所有的元素默认都是s ...

  3. CSS 的定位方式和含义

    CSS 的定位方式和含义 总结一下 CSS 的定位方式.CSS 的定位 position 是处理页面布局时非常重要的属性. CSS 中有 3 种基本的定位机制:普通流.浮动和绝对定位. 在没有指定的情 ...

  4. CSS:CSS Positioning(定位)

    ylbtech-CSS:CSS Positioning(定位) 1.返回顶部 1. CSS Positioning(定位) position 属性指定了元素的定位类型. position 属性的四个值 ...

  5. 总结一下CSS中的定位 Position 属性

    在CSS中,Position 属性经常会用到,主要是绝对定位和相对定位,简单的使用都没有问题,尤其嵌套起来,就会有些混乱,今记录总结一下,防止久而忘之. CSS position 属性值: absol ...

  6. div+css定位position详解

    div+css定位position详解 1.div+css中的定位position 最主要的两个属性:属性 absolute(绝对定位) relative(相对定位),有他们才造就了div+css布局 ...

  7. [转载]CSS元素的定位position

    CSS元素的定位position 属性position   值 描述 absolute                             生成绝对定位的元素,相对于 static 定位以外的第一 ...

  8. CSS.04 -- 浮动float、overflow、定位position、CSS初始化

    标准流:行内/行内块元素横向有序排列 : 块元素纵向有序排列. 浮动:Float 语法:float:left/right :  设置浮动的元素,脱离标准流 浮动的框可以向左或向右移动,直到它的外边缘碰 ...

  9. CSS之定位布局(position,定位布局技巧)

    css之定位 1.什么是定位:css中的position属性,position有四个值:absolute/relative/fixed/static(绝对/相对/固定/静态(默认))通过定位属性可以设 ...

随机推荐

  1. ASP.NET防止连续多次点击提交按钮 导致页面重复提交

    PS:实际使用中发现,第①种方法在火狐浏览中有时候有问题.第2种方法,在各个浏览器中都没问题 近做项目遇到了这样的情况: 公司网络比平常慢了不少,在点击保存按钮提交页面后需等待挺长的一段时间,忍不住手 ...

  2. 邪恶的csrf

    关于csrf是啥我就不多说了 进入正文 场景模拟 场景一 在一个bbs社区里,用户在发言的时候会发出一个这样的GET请求: #!html GET /talk.php?msg=hello HTTP/1. ...

  3. kubernets基于容器日志的报警和服务自动恢复

    demo地址 https://github.com/cclient/kubernetes-filebeat-collector 高可用还谈不上,是对kubernete一种服务异常重启恢复的补充方案 之 ...

  4. android ijkplayer简单使用

    class VideoPlayer : FrameLayout, TextureView.SurfaceTextureListener{ private var url:String? = null ...

  5. 在服务器搭建git服务器

    服务端操作 安装Git及创建用户组.用户 123 yum install gitgroupadd gitadduser git -g git 禁止用户git登录 修改/etc/passwd文件: 找到 ...

  6. 实现JS脏话筛选替换的几种途径

    一.逐个替换用replace 缺点:筛选的脏话集太少 var oSize = $(this).siblings('.flex-text-wrap').find('.comment-input').va ...

  7. 3dmax2013卸载/安装失败/如何彻底卸载清除干净3dmax2013注册表和文件的方法

    3dmax2013提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装3dmax2013失败提示3dmax2013安装未完成,某些产品无法安装,也有时候想重新安装3 ...

  8. LeetCode Day 1

    目录 1.TwoSum 2.AddTwoNumbers 4.FindMedianSortedArrays 1.TwoSum 给定一个整数数组nums和一个目标值 target,请你在该数组中找出和为目 ...

  9. 苹果联合创始人高调宣布弃用Facebook是什么梗?

    这段时间,扎克伯格非常郁闷.泄密丑闻不仅让Facebook股价大跌.引来审查等,还被众多互联网.科技大佬批判.孤立.如,"钢铁侠"马斯克就直接删除了SpaceX 和特斯拉的 Fac ...

  10. 基于hibernate的BaseDao及其实现类的设计

    以前做设计的时候dao接口和它的实现了,这样子就不必写这么多的重复代码了.但由于对反射没有了解,除非依赖hibernate的其他组件,否则写不出来.不过,有了反射,我们可以通过泛型来实现我们想要做的功 ...