前端CSS基础11(相对定位,绝对定位,固定定位,粘性定位)

前端CSS基础11(相对定位,绝对定位,固定定位,粘性定位)

  • CSS相对定位(position: relative;)
    • 相对定位的参考点在哪?
  • CSS绝对定位(position: absolute)
    • 如何设置绝对定位?
    • 绝对定位的参考点在哪里?
    • 什么是包含块?
    • CSS绝对定位元素的特点:
  • CSS固定定位(position: fixed)
    • 如何设置为固定定位?
    • 固定定位的参考点在哪里?
    • 固定定位元素的特点
  • CSS粘性定位(position:sticky;)
    • 如何设置为粘性定位?
    • 粘性定位的参考点在哪里?
    • 粘性定位元素的特点
    • 小试代码
  • 定位的层级
  • CSS定位的特殊应用
    • 让定位元素的宽充满包含块
    • 让定位元素在包含块中居中

CSS相对定位(position: relative;)

相对定位是CSS中一种定位方式,它会使元素相对于其原本在文档流中的位置进行移动,但仍占据该位置。要使用相对定位,可以在CSS中为目标元素设置position: relative;。然后,可以通过调整top, right, bottom, left属性来控制元素相对于原始位置的偏移。

相对定位的参考点在哪?

  • 相对于发生移动之间的位置来移动,相对于自己原来的位置。

在这里插入图片描述
相对定位:

        .box2{
            background-color: #666;
            position:relative;
            left:100px; 
        }

在这里插入图片描述

  • 如果给一个元素开了定位,层级就会比较高一些,可以覆盖其他元素。
  • 如果多个元素同时开了定位,后来者居上,后来的可以覆盖之前的。
  • 一般定位和margin和浮动不在一起用,会引起混乱。

CSS绝对定位(position: absolute)

绝对定位是CSS中一种定位方式,它会使元素相对于其最近的已定位父元素进行定位,如果没有已定位的父元素,则相对于文档的根元素进行定位。要使用绝对定位,可以在CSS中为目标元素设置position: absolute;。然后,可以通过设置top, right, bottom, left属性来确定元素在页面上的精确位置。

如何设置绝对定位?

  • 给元素设置position: absolute即可实现绝对定位。
  • 可以使用left、 right、top、 bottom四个属性调整位置。

绝对定位的参考点在哪里?

  • 参考它的包含块。

什么是包含块?

  1. 对于没有脱离文档流的元素:包含块就是父元素
  2. 文档流是什么:文档流(Document Flow)是指 HTML 文档中元素按照其在 HTML 中的顺序自上而下排列的方式。
  3. 脱离文档流是指通过 CSS 的定位属性(如position: absolute;、position: fixed;)或浮动属性(如float: left;、float: right;)等方式,让元素不再按照文档流的默认布局方式进行排列。当一个元素脱离文档流时,它可以自由地相对于其默认位置移动或者与其他元素。
  4. 对于脱离文档流的元素:包含块是第一个拥有定位属性的祖先元素(如果所有祖先都
    没定位,那包含块就是整个页面)。

CSS绝对定位元素的特点:

  1. 脱离文档流,对后面的元素、玩有影响。
  2. left不能和right一起设置,top和bottom不能一起设置。
  3. 绝对定位、浮渤不能同时设置,如果同时设置,浮动失效,以定为主
  4. 绝对定位的元素,也能通过margin调整位置,但不推荐这样做。
  5. 无论是什么元素(行内、行内块、块圾)设置为绝对定位之后,都变成了定位元素。
  6. 何为定位元素? 默认宽、 高都被内容所撑开,且能自由设置宽高。

CSS固定定位(position: fixed)

如何设置为固定定位?

  • 给元素设置position: fixed 即可实现固定定位。
  • 可以使用left、right 、top 、bottom 四个属性调整位置。

固定定位的参考点在哪里?

参考它的视口
什么是视口? 对于 PC浏览器来说,视口就是我们看网页的那扇窗户。

固定定位元素的特点

  1. 脱离文档流,对后面的兄弟元素、父元素有影响。
  2. left 不能和right一起设置,top 和bottom不能一起设置。
  3. 固定定位和浮动不能同时设置,如果同时设置,浮动失效,以固定定位为主。
  4. 固定定位的元素,也能通过margin调整位置,不推荐这样做。
  5. 无论是什么元素(行内、行内块、块级)设置为固定定位之后,都变成了定位元素。
  6. 何为定位元素? 默认宽、 高都被内容所撑开,且能自由设置宽高。

CSS粘性定位(position:sticky;)

如何设置为粘性定位?

  • 给元素设置position:sticky啊实现粘性定位。
  • 可以使用left、 right、 top、 bottom 四个属性调整位置,不过最常用的是top值。

粘性定位的参考点在哪里?

离它最近的一个拥有“滚动机制"的祖先元素,即便这个祖先不是最近的真实可滚动祖先。

粘性定位元素的特点

  1. 不会脱离文档流,它是一 种专门用于窗口滚动时的新的定位方式。
  2. 最常用的值是top值。
  3. 粘性定位和浮动可以同时设置,但不推荐这样做。
  4. 粘性定位的元素,也能通过margin调整位置,但不推荐这样做。
  5. 粘性定位和相对定位的特点基本一致,不同的是:粘性定位可以在元素到达某个位置时将其固定。

小试代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        body{
            height: 2000px;
        }
        .page-head{
            height: 100px;
            background-color: orange;
            line-height: 100px;
            text-align: center;
            font-size: 20px;
        }
        .item1{
            background-color: #CCC;
        }
        .first{
            background-color: blue;
            height: 40px;
            font-size: 30px;
            position: sticky;
            top:0px;
        }

    </style>
</head>
<body>
    <div class="page-head">头部</div>
    <div class="content">
        <div class="item1">
            <div class="first">A</div>
            <h2>A1</h2>
            <h2>A2</h2>
            <h2>A3</h2>
            <h2>A4</h2>
            <h2>A5</h2>
            <h2>A6</h2>
            <h2>A7</h2>
            <h2>A8</h2>
        </div>
        <div class="item1">
            <div class="first">A</div>
            <h2>A1</h2>
            <h2>A2</h2>
            <h2>A3</h2>
            <h2>A4</h2>
            <h2>A5</h2>
            <h2>A6</h2>
            <h2>A7</h2>
            <h2>A8</h2>
        </div>
        <div class="item1">
            <div class="first">B</div>
            <h2>B1</h2>
            <h2>B2</h2>
            <h2>B3</h2>
            <h2>B4</h2>
            <h2>B5</h2>
            <h2>B6</h2>
            <h2>B7</h2>
            <h2>B8</h2>
        </div>
        <div class="item1">
            <div class="first">C</div>
            <h2>C1</h2>
            <h2>C2</h2>
            <h2>C3</h2>
            <h2>C4</h2>
            <h2>C5</h2>
            <h2>C6</h2>
            <h2>C7</h2>
            <h2>C8</h2>
        </div>
    </div>
</body>
</html>

定位的层级

  1. 定位元素的显示层级比普通元素高,无论什么定位,显示层级都是一样的。
  2. 如果位置发生重叠,默认情况是:后写的元素,会显示在前面元素之上(后来者居上)。
  3. 可以通过css属性z-index调整元素的显示层级。
  4. z-index 的属性值是数字,没有单位,值越大显示层级越高。
  5. 只有定位的元素设置z-index有效。
  6. 如果z-index 大的元素,依然没有覆盖掉z-index值小的元素,那么请检查包含块的层级,极有可能是包含块的层级拖累了此元素导致覆盖错误。

CSS定位的特殊应用

注意:

  1. 发生固定定位、绝对定位后,元素都变成了定位元素,默认宽高被内容撑开,且依然可以设置宽高。
  2. 发生相对定位后,元素依然是之前的显示模式。
  3. 以下所说的特殊应用,只针对绝对定位和固定定位的元素,不包括相对定位的元素。

让定位元素的宽充满包含块

  • 块宽想与包含块一致,可以给定位元素同时设置left 和right 为0。
  • 高度想与包含块一致,top 和bottom设置为0。

让定位元素在包含块中居中

  1. 方案一:
left:0;
right:0;
top:0;
bottom:0;
margin:auto;
  1. 方案二:
left: 50%;
top: 50%;
margin-left:负的宽度一半;
margin-top:负的高度一半;

注意:该定位的元素必须设置宽高! ! !

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/575991.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序:6.事件

什么事事件 事件就是渲染层到逻辑层的通讯方式&#xff0c;比如提交表单&#xff0c;按钮点击都可以看作一个事件。 小程序中常用的事件 事件对象属性列表 当事件回调时&#xff0c;会收到一个事件对象event&#xff0c;他详细属性如夏表所示&#xff1a; target和curren…

yudao-cloud微服务系统系统模块+后台管理系统成功运行

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 系列文章目录 第一章 芋…

【软件测试】终于有人讲明白:bug的分类和定级了!

01、bug的定义 一般是指不满足用户需求的则可以认为是bug&#xff0c;狭义指软件程序的漏洞或缺陷&#xff0c;广义指测试工程师或用户提出的软件可改进的细节、或与需求文档存在差异的功能实现等 对应三个测试目的&#xff1a; 为了发现程序的代码或业务逻辑错误 为了检查产…

《第二行代码》第二版学习笔记(6)——内容提供器

文章目录 一 运行时权限2.权限分类3 运行时申请权限 二、内容提供器1、 ContentResolver的基本用法2、现有的内容提供器3、创建自己的内容提供器2.1 创建内容提供器的步骤2.2 跨程序数据共享 内容提供器&#xff08;Content Provider&#xff09;主要用于在不同的应用程序之间实…

2024年大数据应用、智能控制与软件工程国际会议(BDAICSE2024)

2024年大数据应用、智能控制与软件工程国际会议(BDAICSE2024) 会议简介 我们诚挚邀请您参加2024年大数据应用、智能控制和软件工程国际会议&#xff08;BDAICSE2024&#xff09;。这次会议将在美丽的长沙市举行。 本次大会旨在汇聚全球大数据应用、智能控制、软件工程等领…

WebGIS

文章目录 GIS的全名是Geographic Information System&#xff0c;中文全名是地理信息系统。 它是在计算机硬、软件系统支持下&#xff0c;对整个或部分地球表层&#xff08;包括大气层&#xff09;空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术…

Windows搭建php文件管理服务Tiny File Manager并发布至公网可访问

文章目录 1. 前言2.Tiny File Manager网站搭建2.1.Tiny file manager下载和安装2.2 Tiny file manager网页测试2.3 内网穿透工具下载安装 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试总结 1. 前言 今天&#xff0c;笔者就为大家介绍一款只有两个文件…

大数据第七天

文章目录 吐槽一下这个是怎么需要真的这么大吗? 内核错误内核软死锁&#xff08;soft lockup&#xff09;我这个cpu很高吗?大模型都说了不超过80就行了 FinBi安装FinBI下载链接安装时间比较长 吐槽一下 dbeaver 查询hive 数据信息是真的慢&#xff0c;没有一点快的方式&…

鲁棒控制理论学习:静态状态反馈H∞控制器

鲁棒性&#xff0c;即系统的健壮性&#xff0c;是指在异常和危险情况下系统能够维持其功能和性能的能力。在控制系统中&#xff0c;鲁棒性表现为系统在参数摄动下维持某些性能的特性。例如&#xff0c;当控制系统面临输入错误、磁盘故障、网络过载或有意攻击等挑战时&#xff0…

dist包在windows的nginx下部署运行

nginx 附带下载包 我用夸克网盘分享了「nginx-1.18.0.zip」 链接&#xff1a;https://pan.quark.cn/s/e87bbf87a742 将dist放到html文件目录下 3.找到nginx的配置文件&#xff0c;conf 下&#xff0c;用编辑器打开 nginx.conf 编辑。 location ^~/api {rewrite ^/api/(.*)…

python--使用pika库操作rabbitmq实现需求

Author: wencoo Blog&#xff1a;https://wencoo.blog.csdn.net/ Date: 22/04/2024 Email: jianwen056aliyun.com Wechat&#xff1a;wencoo824 QQ&#xff1a;1419440391 Details:文章目录 目录正文 或 背景pika链接mqpika指定消费数量pika自动消费实现pika获取队列任务数量pi…

小型内衣裤洗衣机哪个牌子好?六大选购锦囊私藏分享

内衣洗衣机是现代家庭必不可少的小家电&#xff0c;它不仅方便快捷&#xff0c;还能够保持衣物清洁和卫生。然而&#xff0c;市场上洗衣机品牌众多&#xff0c;质量和性能参差不齐&#xff0c;使得消费者购买时难以做出选择。那么&#xff0c;小型内衣裤洗衣机哪个牌子好&#…

【java9】java9新特性之增强@Deprecated注解

一个使用Deprecated注解的元素&#xff0c;无论是一个类或是一个方法&#xff0c;可能是由以下原因导致了不应该再使用它&#xff1a; 使用它可能会导致错误&#xff1b;在未来的版本中不被兼容&#xff1b;在未来的版本中可能会被删除&#xff1b;存在更好的更有效的替代方法…

机械臂过程

rosdep install --from-paths src --ignore-src --rosdistro melodic0、安装机械手臂 官方教程&#xff1a; 前人教程&#xff1a;UR5机械臂仿真实例 rosdep update 出错&#xff0c;使用小鱼的大佬的 一键配置 wget http://fishros.com/install -O fishros && . fish…

软件测试报告的用途

软件测试报告的用途十分广泛&#xff0c;主要体现在以下几个方面&#xff1a; 评估软件质量&#xff1a;软件测试报告是对软件进行全面、系统测试后的总结&#xff0c;通过报告中的各项数据和结果&#xff0c;可以评估软件的质量水平&#xff0c;包括功能的完整性、性能的稳定…

STM32学习和实践笔记(22):PWM的介绍以及在STM32中的实现原理

PWM是 Pulse Width Modulation 的缩写&#xff0c;中文意思就是脉冲宽度调制&#xff0c;简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术&#xff0c;其控制简单、灵活和动态响应好等优点而成为电力电子技术最广泛应用的控制方式&#xff…

C++中布隆过滤器

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;linux &#x1f525;座右铭&#xff1a;“不要等到什么都没有了…

获取boss直聘城市地区josn数据

获取boss直聘城市地区josn数据 当我需要爬取多个城市的地区的时候&#xff0c;只能手动点击&#xff0c;然后一个一个看 结果&#xff1a; 能看到所有区域所有子地区的地区代码 解析该JSON数据 import pandas as pd import requests code[] area[] 城市代码101210100 res…

微信小程序使用 Vant Weapp 中 Collapse 折叠面板 的问题!

需求&#xff1a;结合Tab 标签页 和 Collapse 折叠面板 组合成显示课本和章节内容&#xff0c;并且用户体验要好点&#xff01; 如下图展示&#xff1a; 问题&#xff1a;如何使用Collapse 折叠面板 将内容循环展示出来&#xff1f; js中的数据是这样的 代码实现&#xff1…

「屡教不改」又被罚,谁还在相信山姆?

值得信赖的品质」「全球进口品牌」……「更好的生活尽在山姆」。 作为全球最大的会员制商店&#xff0c;山姆这几年可以说在中国线下零售市场集体遇劫的背景下&#xff0c;逆势崛起&#xff0c;甚至可以说做到了独树一帜。‍‍‍‍‍‍ 背后的原因是什么&#xff1f;会员制这一…