CSS中几种常用的定位方法,直接上干货!

什么是定位?

元素可以使用的顶部,底部,左侧和右侧属性定位。然而,这些属性无法工作,除非是先设定

position属性。他们也有不同的工作方式,这取决于定位方法。

position 属性指定了元素的定位类型, 用于指定一个元素在文档中的定位方式。

属性:

  • relative 相对定位
  • absolute 绝对定位
  • fixed    固定定位
  • sticky   粘性定位
  • 属性值为以上四种的元素称为定位元素
  • static  默认值 属性值为static时不是一个定位元素

在定位中 我们通过top right bottom left  这四个属性决定定位元素的位置。

相对定位:position : relative

在相对定位中,定位元素是根据自己原本所在位置进行定位,相对定位不会脱离文档流,在文档流中不会影响其他元素,偏移量根据给定的值,值可以为负数;

  • top  数值越大越往下  顶部与原位置差
  • bottom 数值越大越往上  底部与原位置差
  • left 数值越大越往右  左边与原位置差
  • ight 数值越大越往左  右边与原位置差

 特点    占原位置,在文档流中占位置。

绝对定位 :position:absolute

绝对定位中,定位依据是定位元素的父级,直到找到body元素,绝对定位的元素会脱离文档流,行内可以设置宽高,块元素不独占一行,由内容撑开宽高;

  • top  数值越大越往下  顶部与定位父级的顶部之差
  • bottom 数值越大越往上  底部与定位父级的底部之差
  • left 数值越大越往右  左边与定位父级的左边之差
  • right 数值越大越往左  右边与定位父级的右边之差

特点  脱离文档流 

固定定位:position:fixed

根据浏览器窗口的位置和大小进行定位,元素的位置在屏幕内容滚动时不会改变位置,固定定位的元素会移出文档流;

  • top 根据窗口的上边进行定位
  • bottom 根据窗口的下边进行定位
  • left 根据窗口的左边进行定位
  • right 根据窗口的右边进行定位

粘性定位:position:sticky

粘性定位可以看作是相对定位和固定定位的混合,元素在跨越阈值前为相对定位,之后为固定定位;

.stickyElement{

width: 100%;

height: 30px;

background-color: #FFFFAA;

position: sticky;

top: 10px;

}

特征:

在元素滚动到距离窗口 top小于10px之前,元素为相对定位,之后元素将固定在top为10px的位置,直到窗口滚回,

粘性定位为新增的CSS3内容,旧浏览器可能不支持。

扩展:

z-index  z轴

元素显示的顺序

取值为正整数

案例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>定位</title><style>body{margin: 0;}.relativeElement{position:relative;width: 300px;height: 300px;background-color: #FFAAAA;z-index: 2;}.normalElement{width: 300px;height: 900px;background-color: #AAFFAA;}.absoluteElement{width: 100px;height: 100px;background-color: #AAAAFF;position: absolute;top: 20px;left: 20px;z-index: 10;}.fixedElement{width: 100%;height: 30px;background-color: #FFFFAA;position: fixed;left: 0;top: 0;z-index: 99;}.stickyElement{width: 100%;height: 30px;background-color: #FFFFAA;position: sticky;top: 10px;}</style>
</head>
<body><div class="relativeElement"><span class="absoluteElement"></span><div style="width:100px;height:100px;background-color:#AAFFAA;z-index: 9;position: absolute;"></div></div><div class="stickyElement">粘性导航条</div><div class="normalElement"><!-- <div class="absoluteElement"></div> --></div><div class="normalElement" style="background-color: #AAFFFF"></div><!-- <div class="fixedElement">导航条——吸顶导航</div> -->
</body>
</html>

赶紧点赞收藏运行一下吧!

CSS绝对定位(absolute)、相对定位(relative)方法(详解)相关推荐

  1. dw css定位,css关于position属性的用法详解(绝对定位和相对定位的混淆)

    挺久没用,有点忘了关于position这个属性的用法,导致在练手的时候又犯了跟最开始新手才会犯的错误,那就是absolute和relative的用法. 在此首先看一下官方对这两个属性值的解释: pos ...

  2. CSS HACK收集:在IE6下hack的方法详解

    原文:http://www.html5cn.org/article-5027-1.html +  针对IE7 * 针对ie6和ie7 _ 针对ie6 最好采用条件注释的方法 本篇文章小编为大家介绍CS ...

  3. HTML使用CSS的方法详解

    HTML使用CSS的方法详解 在尝试学习 CSS 之前,您应该了解 HTML 的基础知识,或者同时学习 HTML 和 CSS. html是超文本编辑语言,是用来定义页面结构的,html有很多图文或者视 ...

  4. javascript写css样式,原生javascript实现读写CSS样式的方法详解

    原生javascript实现读写CSS样式的方法详解 发布于 2017-05-24 15:05:31 | 120 次阅读 | 评论: 0 | 来源: 网友投递 JavaScript客户端脚本语言Jav ...

  5. css怎么使元素绝对定位有过度效果_小猿圈web前端讲解div+css绝对定位和相对定位...

    最近很多网友问我绝对定位和相对定位怎么区分,怎么使用?绝对是什么地方的绝对,相对又是相对于什么地方而言的呢?那他们又有什么样的特性,可以做出什么样的效果呢?关于两者之间又有什么样的技巧呢?下面小猿圈w ...

  6. html中style布局放哪,CSS样式表与格式布局详解

    样式表 CSS(Cascading Style Sheets  层叠样式表),作用是美化HTML网页. 内联样式表: 例: 内联样式表 内嵌样式表:必须写在head标签里 例: p { 样式;} he ...

  7. 从零开始学前端 - 7. CSS盒模型 margin和padding详解

    作者: 她不美却常驻我心 博客地址: https://blog.csdn.net/qq_39506551 微信公众号:老王的前端分享 每篇文章纯属个人经验观点,如有错误疏漏欢迎指正.转载请附带作者信息 ...

  8. css绝对定位与相对定位结合使用

    css绝对定位与相对定位结合使用 1.绝对定位与相对定位 绝对定位使元素的位置与文档流无关,因此不占据空间.这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普 ...

  9. python语言的格式框架_django框架模板语言使用方法详解

    本文实例讲述了django框架模板语言使用方法.分享给大家供大家参考,具体如下: 模板功能 作用:生成html界面内容,模版致力于界面如何显示,而不是程序逻辑.模板不仅仅是一个html文件,还包括了页 ...

  10. php 修改 wordpress,修改WordPress中文章编辑器的样式的方法详解

    这篇文章主要介绍了修改WordPress中文章编辑器的样式的方法详解,同时文中也推荐了两款取代默认文章编辑器的插件,需要的朋友可以参考下 自定义文章编辑器的样式每一个 WordPress 主题的文章样 ...

最新文章

  1. oracle分页数据,oracle 分页 数据重复 数据不正确
  2. 自动化安装Cacti(1.0.1/2/3)脚本
  3. 《Stellaris》游戏分析报告
  4. Lind.DDD.RedisClient~对StackExchange.Redis调用者的封装及多路复用技术
  5. 揭开 Facebook Growth Hacking 的神秘面纱,微信、人人为何都在效仿?
  6. docker搭建单节点mongodb
  7. 均匀带电的无限大平面划成无限长直线积分计算场强
  8. 【原创】C++关于创建和使用静态链接库
  9. 学习笔记---Javascript闭包
  10. wordpress数据字典
  11. c语言开发环境win10,老司机解决win10系统搭建C语言开发环境的操作技巧
  12. 计算机在流体力学中的应用,哈尔滨工业大学-工程流体力学课程
  13. UE4 从文件夹读取音乐文件并播放
  14. 在python中输入圆的半_极客起源 - geekori.com - 问题详情 - python动态圆更新糅合到地图显示里...
  15. spring boot 集合 shiro
  16. SQL语言的基础操作(二)
  17. 原始套接字的花花世界
  18. UUID 通用唯一识别码(Universally Unique Identifier)介绍
  19. 本科+研究生七年之痒,我的经历希望能给你启发和坚持
  20. phpstudy+gv32-CSM

热门文章

  1. 《企业网络构建与安全管理教程》上册
  2. XCTF BUG( 越权 修改forwarded头 文件上传) UNFINSH(二次注入 python脚本) 学习过程
  3. TCS3200颜色传感器测试实验
  4. 国内外RFID技术研究现状与发展趋势
  5. 连续时间傅里叶变换的性质
  6. 希伯特19+9步行者1-0热火 乔治24+7詹皇25+10+5
  7. 一篇文章彻底学会画数据流图
  8. 371页20万字2021版智慧城市信息化综合建设方案
  9. HTML发展史及登录页面的开发
  10. Html中行内元素有哪些?块级元素有哪些?