【前段基础入门之】=>元素定位布局

2023-10-04 14:36

本文主要是介绍【前段基础入门之】=>元素定位布局,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

导语

CSS 元素定位,是目前 CSS 页面布局的一种主要方式。

文章目录

  • 相对定位
    • 开启相对定位
    • 相对定位的参考点
    • 相对定位的特点
  • 绝对定位
    • 开启绝对定位
    • 绝对定位的参考点
    • 绝对定位的特点
  • 固定定位
    • 开启固定定位
    • 固定定位的参考点
    • 固定位的特点
  • 粘性定位
    • 开启粘性定位
    • 粘性定位的参考点
    • 粘性定位的特点
  • 定位元素的层级
  • 定位的特殊应用场景

在这里插入图片描述

相对定位

开启相对定位

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

相对定位的参考点

相对与自己开启定位前的原始位置,进行定位位置改变

相对定位的特点

  1. 不会脱离文档流,元素位置的变化,只是视觉效果上的变化,不会对其他元素产生任何影响
  2. 定位元素的显示层级比普通元素高,无论什么定位,显示层级都是一样的。默认规则是
  • 定位的元素会盖在普通元素之上
  • 都发生定位的两个元素,后开启定位的元素会盖在先开启定位的元素之上。
  1. left 不能和 right 一起设置, top 和 bottom 不能一起设置
  2. 相对定位的元素,也能继续开启浮动,但不推荐这样做
  3. 相对行为的元素,也能通过 margin 调整位置,但不推荐这样做

绝对定位

开启绝对定位

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

绝对定位的参考点

  • 参考它的包含块
    在这里插入图片描述

绝对定位的特点

  1. 脱离文档流,会对后面的兄弟元素、父元素有影响
  2. left 不能和 right 一起设置, top bottom 不能一起设置(特殊场景除外
  3. 绝对定位、浮动不能同时设置,如果同时设置,浮动失效,以定位为主
  4. 绝对定位的元素,也能通过 margin 调整位置,但不推荐这样做
  5. 无论是什么元素(行内、行内块、块级)设置为绝对定位之后,都变成了定位元素

在这里插入图片描述


固定定位

开启固定定位

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

固定定位的参考点

  • 参考它当前的浏览器 视口
    在这里插入图片描述

固定位的特点

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

粘性定位

开启粘性定位

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

粘性定位的参考点

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

粘性定位的特点

  • 不会脱离文档流,它是一种专门用于窗口滚动时的新的定位方式
  • 最常用的值是 top 值。
  • 粘性定位和浮动可以同时设置,但 不推荐 这样做。
  • 粘性定位的元素,也能通过 margin 调整位置,但 不推荐 这样做。

定位元素的层级

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

定位的特殊应用场景

在这里插入图片描述

场景一:让定位元素的宽铺满 包含块(父元素)

实现:前提是定位元素没有设置固定宽高度

  1. 块宽度想与包含块一致,可以给定位元素同时设置 left,right0
  2. 高度想与包含块一致, 同时设置 top, bottom0

:向四周拉伸,铺满包含块

div {position: absolute;/* position: fixed; */top: 0;left: 0;right: 0;bottom: 0;
}

场景二:让定位元素在包含块中居中;

前提:
在这里插入图片描述

实现:

position: absolute;
/* position: fixed; */
left:0;
right:0;
top:0;
bottom:0;
margin:auto;

🚵‍♂️ 博主座右铭:向阳而生,我还在路上!
——————————————————————————————
🚴博主想说:将持续性为社区输出自己的资源,同时也见证自己的进步!
——————————————————————————————
🤼‍♂️ 如果都看到这了,博主希望留下你的足迹!【📂收藏!👍点赞!✍️评论!】
——————————————————————————————

这篇关于【前段基础入门之】=>元素定位布局的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/2213

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念