position 属性规定应用于元素的定位方法的类型(static、relative、fixed、absolute 或 sticky)。

常见的固定定位,例如手机端的导航,快捷按钮。例如本站的“返回顶部”按钮以及荷花图片,都是固定在浏览器右边位置的。

元素其实是使用 top、bottom、left 和 right 属性定位的。但是,除非首先设置了 position 属性,否则这些属性将不起作用。根据不同的 position 值,它们的工作方式也不同。

一、position: static;

HTML 元素默认情况下的定位方式为 static(静态)。

静态定位的元素不受 top、bottom、left 和 right 属性的影响。

position: static; 的元素不会以任何特殊方式定位;它始终根据页面的正常流进行定位:

举例

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>7.1 position定位</title></head><style>div {position: static;border: 3px solid #73AD21;text-align: center;}</style><body><div><h2>《游子吟》</h2><p>慈母手中线,游子身上衣。</p><p>临行密密缝,意恐迟迟归。</p><p>谁言寸草心,报得三春晖。</p></div></body>
</html>

运行后如图:

二、position: relative;

position: relative; 的元素相对于其正常位置进行定位。

设置相对定位的元素的 top、right、bottom 和 left 属性将导致其偏离其正常位置进行调整。不会对其余内容进行调整来适应元素留下的任何空间。

举例:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>7.1 position定位</title></head><style>div {position: relative;left: 30px;border: 3px solid #73AD21;text-align: center;}</style><body><div><h2>《游子吟》</h2><p>慈母手中线,游子身上衣。</p><p>临行密密缝,意恐迟迟归。</p><p>谁言寸草心,报得三春晖。</p></div></body>
</html>

运行后如图:

三、position: fixed;

position: fixed; 的元素是相对于视口定位的,这意味着即使滚动页面,它也始终位于同一位置。 top、right、bottom 和 left 属性用于定位此元素。

举例

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>7.1 position定位</title></head><style>div {text-align: center;}span {position: fixed;bottom: 0;right: 0;width: 60px;height: 60px;text-align: center;line-height: 60px;border: 3px solid #73AD21;}</style><body><div><h2>《游子吟》</h2><p>慈母手中线,游子身上衣。</p><p>临行密密缝,意恐迟迟归。</p><p>谁言寸草心,报得三春晖。</p></div><span>点赞</span></body>
</html>

运行后如图:

四、position: absolute;

position: absolute; 的元素相对于最近的定位祖先元素进行定位(而不是相对于视口定位,如 fixed)。

然而,如果绝对定位的元素没有祖先,它将使用文档主体(body),并随页面滚动一起移动。

注意:“被定位的”元素是其位置除 static 以外的任何元素。

举例

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>7.1 position定位</title></head><style>div.relative {position: relative;width: 400px;height: 200px;border: 3px solid #8faaa2;}span.absolute {position: absolute;top: 30px;right: 10px;width: 60px;height: 60px;line-height: 60px;text-align: center;border: 3px solid #55aa7f;}</style><body><div class="relative"><h2>《游子吟》</h2><p>慈母手中线,游子身上衣。</p><p>临行密密缝,意恐迟迟归。</p><p>谁言寸草心,报得三春晖。</p><span class="absolute">点赞</span></div></body>
</html>

运行后如图:

说明:此例注意和上一个例子区分开,span是在div父元素里面,只有父元素定位relative,才能使span元素absolute定位生效。

五、position: sticky;

position: sticky; 的元素根据用户的滚动位置进行定位。

粘性元素根据滚动位置在相对(relative)和固定(fixed)之间切换。起先它会被相对定位,直到在视口中遇到给定的偏移位置为止 - 然后将其“粘贴”在适当的位置(比如 position:fixed)。

例如:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>7.1 position定位</title></head><style>div.sticky {position: -webkit-sticky;position: sticky;top: 0;padding: 5px;background-color: #cae8ca;border: 2px solid #4CAF50;}</style><body><p>请试着在这个框架内<b>滚动</b>页面,以理解粘性定位的原理。</p><div class="sticky">我是有粘性的!</div><div style="padding-bottom:2000px"><p>在此例中,当您到达元素的滚动位置时,粘性元素将停留在页面顶部(top: 0)。</p><p>向上滚动以消除粘性。</p><p>一些启用滚动的文本.. Lorem ipsum dolor sit amet, illum definitiones no quo, maluisset concludaturque et eum,altera fabulas ut quo. Atqui causae gloriatur ius te, id agam omnis evertitur eum. Affert laboramusrepudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae voluptatibus.</p><p>一些启用滚动的文本.. Lorem ipsum dolor sit amet, illum definitiones no quo, maluisset concludaturque et eum,altera fabulas ut quo. Atqui causae gloriatur ius te, id agam omnis evertitur eum. Affert laboramusrepudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae voluptatibus.</p></div></body>
</html>

运行后如图:

详解 CSS position定位的五种方式_网页制作_青青个人博客

详解 CSS position定位的五种方式相关推荐

  1. Bootstrap4+MySQL前后端综合实训-Day01-PM【position定位的四种方式、Flex布局语法教程及案例(概念、容器属性、项目属性)、双飞翼布局复习、Bootstrap4 教程】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记] 目   录 HTML中的三种元素(块元素.内联元素.内联块元素) position定位的四种方式 ...

  2. html正方形边框,详解HTML设置边框的三种方式

    HTML设置边框的三种方式 border-width: 1px 2px 2px; border-style: solid dashed dotted; border-color:red green b ...

  3. Spring框架学习教程,详解Spring注入bean的几种方式

    首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入. 依赖注入是指:让调用类对某一接口的实现类的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖. Sprin ...

  4. vue路由跳转写法在html,详解vue 路由跳转四种方式 (带参数)

    1.  router-link 1. 不带参数 //name,path都行, 建议用name // 注意:router-link中链接如果是'/'开始就是从根路由开始,如果开始不带'/',则从当前路由 ...

  5. CSS水平垂直居中的五种方式

    CSS水平垂直居中的几种方式 absolute and -margin 需要设置盒子的宽度和高度 .father{border:1px solid red;width: 80vh;height: 90 ...

  6. 详解PHP实现定时任务的五种方法

    定时运行任务对于一个网站来说,是一个比较重要的任务,比如定时发布文档,定时清理垃圾信息等,现在的网站大多数都是采用PHP动态语言开发的,而对于PHP的实现决定了它没有Java和.Net这种AppSer ...

  7. 详解交换两个数的五种思路

    目录 •写在前面 •利用新变量 •利用加减法 •利用乘除法 •利用异或 •利用移位 •写在前面 交换两个数?听起来这不是很简单嘛,感觉没什么好讲的.不过这么想是因为很多时候都想简单了,没有把编程的巧妙 ...

  8. 全面详解Android实现多线程的几种方式(史上最全,最详细)

    一.前言 Android多线程实现方式包括: 1.基础使用 继承Thread类 实现Runnable接口 Handler 2.复合使用 AsyncTask HandlerThread IntentSe ...

  9. 详解vue 路由跳转四种方式 (带参数)

    本文介绍了vue 路由跳转四种方式 (带参数),本文通过实例代码给大家介绍的详细,具有一定的参考借鉴价值,需要的朋友可以参考下 1. router-link 1. 不带参数 <router-li ...

最新文章

  1. mysql加索引优化sql_MySQL添加索引优化SQL
  2. Linux自学日记1
  3. wince2秒快速启动TOC分析
  4. 我和学姐聊了下他在阿里这9年的成长,受益颇多!
  5. H5新增特性之语义化标签
  6. 移动端 点击图片放大
  7. 采集商标网的10个经典方法
  8. 电脑可以联网但是有的网页打不开
  9. 68个dlib的landmarks
  10. 主机开启后,显示器显示NO SIGNAL,无信号
  11. Android 常用 RGB值以及中英文名称
  12. 旺旺qq html,如何在网页HTML中嵌入QQ、MSN、旺旺、Gtalk快速对话框代码
  13. 解决VScode调试C++文件名不能出现中文的情况
  14. SSH框架 Bean property * is not writable or has an invalid setter method错误分析与解决方法
  15. SLAM导航机器人零基础实战系列:(六)SLAM建图与自主避障导航——2.google-cartographer机器人SLAM建图...
  16. 为什么说“去中心化”是互联网的未来?
  17. Mybatis generator自动生成mybatis配置和类信息
  18. 什么是百度竞价排名?
  19. java的ssi框架_Java-Spring MVC:在两个JSPS之间导航的最佳实...
  20. Android 12.0关机界面全屏显示(UI全屏显示)

热门文章

  1. 实训五 思科路由器端口的基本配置
  2. L3-011 直捣黄龙 (30 分)
  3. hadoop怎么读?怎么发音
  4. 游戏行业工资怎么样? 游戏建模这个工作前景怎么样
  5. IOS笔记UI--禁止scrollview上下拖动
  6. 360手机刷机 360手机解锁 360手机屏幕锁 360手机密码忘了
  7. 成都拓嘉辰丰电子商务有限公司:拼多多退店有多麻烦
  8. 关于python爬虫(requests)设置http代理的源码demo
  9. CAPP是利用计算机技术,浅谈CAPP 技术在企业的应用
  10. OpenGL学习笔记之坐标变换学习