CSS中的位置定位总结

embedded/2024/9/18 12:28:04/ 标签: css, javascript, 前端

文章目录

  • 静态定位
  • 相对定位
  • 绝对定位
  • 固定定位

静态定位

静态定位(position:static)/默认的文档流布局

  1. 块级元素按照书写顺序从上往下依次排列
  2. 行内/行内块元素按照书写顺序从左到右依次排列,一行放不下才换行
  3. 文档流中的元素都是紧密排布的,没有大的空隙,且没有堆叠现象
    代码:
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>静态定位</title><style>css">.box {width: 350px;height: 350px;background-color: rgb(199,237,204);}.box2 {width: 200px;height: 200px;background-color: #e8e8e8;}</style></head><body><div class="box">box</div><div class="box2">box2</div></body>
</html>

在这里插入图片描述

相对定位

相对定位(position:relative)

  1. 不会脱离文档流,不会释放布局空间
  2. 定位参照物:自己作为静态定位元素时的位置
  3. 可以使用top/bottom/left/right修改自己的位置
  4. 可能会出现堆叠现象,可以使用z-index调整层级
  5. 用途 1:微调自己的位置
  6. 用途 2:为使用绝对定位的后代元素提供定位参照物
    代码:
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>相对定位</title><style>css">.box {width: 350px;height: 350px;background-color: rgb(199,237,204);position: relative;top:50px;}.box2 {width: 200px;height: 200px;background-color: #e8e8e8;}</style></head><body><div class="box">box</div><div class="box2">box2</div></body>
</html>

在这里插入图片描述
当给box元素设置top属性值为50px时:
在这里插入图片描述

绝对定位

绝对定位(position:absolute)
1) 会脱离文档流,释放布局空间
2) 定位参考物:离自己最近的具有非静态定位属性的祖先元素,会逐级向上找,终点是html
所以我们可以使用"自绝父相",但若父级有非静态定位属性,就不用专门加了
3) 可以使用top/bottom/left/right修改自己的位置
4) 可能会出现堆叠现象,可以使用z-index调整层级
5) 用途:在页面上覆盖到其他元素上方的指定位置

脱离文档流演示代码:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>绝对定位</title><style>css">* {margin: 0;}.fu {width: 350px;height: 350px;background-color: rgb(199,237,204); /* 设置为半透明,方便看到底部覆盖到的元素 */position: relative;top: 30px;left: 50px;}.zi {width: 200px;height: 200px;background-color: #e8e8e8;position: absolute;top: 60px;left: 80px;}.zi2 {width: 200px;height: 220px;background-color: red;}</style></head><body><div class="fu"><div class="zi">zi</div></div></body>
</html>

在这里插入图片描述
代码:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>绝对定位</title><style>css">* {margin: 0;}.fu {width: 350px;height: 350px;background-color: rgb(199,237,204); position: relative;top:30px;left: 50px;}.zi {width: 200px;height: 100%;background-color: #e8e8e8;}.zi2 {width: 200px;height: 220px;background-color: red;}</style></head><body><div class="fu"><div class="zi">zi</div><div class="zi2">zi2</div></div></body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改一下代码将zi2元素改为p元素:
在这里插入图片描述
在这里插入图片描述
这里需要注意的是:通过上图也可以看到 当zi2元素的width和height明确指定了的前提下,若同时设置top:0和bottom:0,生效的只有top:0;同理同时设置的left:0和right:0,生效的只有left:0;
若没有给zi2元素设置width,那么在绝对定位下,其同时设置left:0和right:0;zi2元素的宽会扩展到fu元素的整个宽度。
在这里插入图片描述
若没有给zi2元素设置height,那么在绝对定位下,其同时设置top:0和bottom:0;zi2元素的高度会扩展到fu元素的整个高度。
在这里插入图片描述
当父块级元素的位置设置为相对定位,子块元素的位置设置为绝对定位,top/bottom/left/right都设置为0,margin设置为auto;
可实现子块级元素在父元素中,水平居中且垂直居中。
在这里插入图片描述
在这里插入图片描述
可以看到此时的margin:auto;不仅在水平方向均分外间距生效,垂直方向上也进行了均分外间距且生效,从而实现块级子元素水平和垂直方向居中显示。

固定定位

固定定位(position:fixed)
1) 会脱离文档流,释放布局空间
2) 定位参照物: html根元素,但网上说的是浏览器窗口或者viewport(界面视口)
3) 可以使用top/bottom/left/right修改自己的位置
4) 可能会出现堆叠现象,可以使用z-index调整层级
5) 用途:制作覆盖整个窗口的遮罩层,
主要用于将元素固定在浏览器窗口的某个位置,无论页面如何滚动,该元素都会保持在视口的固定位置不变。
以下是 position: fixed 的一些主要使用场景:
固定导航栏:最常见的使用场景之一是将网站的导航

代码在day09code/p5.html里,需要的,可以私信。
效果如下:在这里插入图片描述


http://www.ppmy.cn/embedded/110657.html

相关文章

html中,想添加一段文字,使用什么标签最合理?

在HTML中&#xff0c;选择合适的标签来添加一段文字取决于这段文字在页面中的作用以及上下文。下面是一些常见的标签及其用途&#xff1a; <p>: 这是表示段落的最常见标签。当你要添加的是普通文本段落时&#xff0c;使用 <p> 标签是最合理的。它告诉浏览器这是一个…

用小网分测试拉杆天线参数的实验

长度线缆拉杆地线(400mm)usb线(750mm)接电脑USB频率(Mhz)驻波备注800mm400mm5节粗1节细95.551.29√62.21.064√√99.91.24√√√99.91.4239.11.7带宽大√99.551.29239.11.55带宽大√√60.751.49108.61.56237.651.95节细1节粗971.1附近多谐振点√651.12√√99.91.09402.58√√√…

局域网设备自动发现常用方法

文章目录 需求实现方法ARP (Address Resolution Protocol)Ping ip的流程抓包如下代码实现 mDNS 对比测试Avahi 介绍Avahi 安装Avahi 使用测试代码 需求 局域网设备自动发现是软件开发中的一个常见且重要的需求&#xff0c;它简化了设备间的协作机制&#xff0c;降低了软件各模…

react 使用Ant Design中DatePicker设置mode=“year“无法获取value

一、问题描述 <DatePicker placeholder"请选择年份" mode"year" onChange{this.onChange}/>// 使用上边代码&#xff0c;界面呈现出只有年份的选择器。但是&#xff0c; onChange 事件根本不会触发&#xff0c;获取不了值&#xff01;二、解决办…

爬虫3:re正则表达式获取数据

在上一章中&#xff0c;我们基本上掌握了抓取整个网页的基本技能.但是呢&#xff0c;大多数情况下&#xff0c;我们并不需要整个网页的内容,只是 需要那么一小部分&#xff0c;怎么办呢&#xff1f;这就涉及到了数据提取的问题. 本课程中&#xff0c;提供三种解析方式&#xff…

Redis中String类型的基本命令

文章目录 一、String字符串简介二、常见命令setgetmgetmsetsetnxincrincrbydecrdecrbyincrbyfloatappendgetrangesetrangestrlen 三、命令小结四、字符串内部编码五、String典型使用场景1. 缓存(Cache)功能2. 计数功能3. 共享会话&#xff08;Session&#xff09;4. 手机验证码…

国产平台刷新单细胞科研| DNBelab C4系列单细胞转录组成功案例展示

9月&#xff0c;承载着收获的欢愉&#xff0c;历经春夏的深耕广植&#xff0c;开始接触丰硕的果实。 自2015年面世&#xff0c;近十年的技术发展和经验沉淀&#xff0c;单细胞转录组研究可谓硕果累累。在这样一个美好的季节里&#xff0c;我们盘点了热门单细胞转录组技术的最新…

Qt/C++ 个人开源项目#串口助手(源码与发布链接)

一、项目概述 该串口助手工具基于Qt/C开发&#xff0c;专为简化串口通信调试与开发而设计&#xff0c;适合新手快速上手。工具具有直观的用户界面和丰富的功能&#xff0c;旨在帮助用户与串口设备建立可靠通信&#xff0c;便于调试、数据传输和分析。 二、主要功能 波特率&a…

基于SpringBoot的校园自助洗衣服务管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的校园自助洗衣服务…

Android中如何实现adb向应用发送特定指令并接收返回

1 ADB发送命令给应用 1.1 发送自定义广播给系统或应用 adb shell am broadcast 是 Android Debug Bridge (ADB) 中用于向 Android 系统发送广播的命令。通过这个命令&#xff0c;开发者可以发送自定义广播给系统或应用&#xff0c;触发应用中的广播接收器&#xff08;Broadca…

Python知识点:如何使用Python进行图像批处理

在Python中进行图像批处理可以使用多种库&#xff0c;如 Pillow、OpenCV 和 imageio。这些库可以用来执行各种图像处理任务&#xff0c;如调整大小、裁剪、旋转、滤镜应用等。以下是使用这些库进行图像批处理的示例。 使用 Pillow 进行图像批处理 Pillow 是一个功能强大的图像…

pyqt自定义文本编辑器

创建一个自定义文本编辑器 在现代应用程序中&#xff0c;文本编辑器是常见的组件之一。它们可以被用于编写文档、代码或笔记。今天&#xff0c;我将向大家展示如何使用 PyQt5 创建一个自定义的文本编辑器&#xff0c;支持动态调整字体大小。 1. 项目背景 使用传统的文本编辑…

深入理解Spring Boot结合MyBatis调用MySQL,并实现主从复制读写分离

深入理解Spring Boot结合MyBatis调用MySQL&#xff0c;并实现主从复制读写分离 MyBatis作为一款灵活的持久层框架&#xff0c;与Spring Boot结合使用&#xff0c;可以为开发者提供高效、简洁的数据库访问层。本文将详细讲解如何在Spring Boot项目中结合MyBatis调用MySQL&#…

打开VSCod安装“PHP Intelephense”或“PHP Server”PHP扩展

安装PHP扩展&#xff1a; 打开VSCode&#xff0c;进入扩展视图&#xff08;或使用快捷键CtrlShiftX&#xff09;。搜索并安装“PHP Intelephense”或“PHP Server”等PHP相关扩展&#xff0c;这些扩展提供了PHP代码的智能感知、代码导航、调试等功能。 配置PHP路径&#xff1a;…

C#中的装箱和拆箱是什么

在 C# 中&#xff0c;装箱&#xff08;Boxing&#xff09;和拆箱&#xff08;Unboxing&#xff09;是与值类型和引用类型相关的概念&#xff0c;涉及到值类型的数据在托管堆&#xff08;Heap&#xff09;上的存储方式。 装箱&#xff08;Boxing&#xff09; 装箱是指将值类型…

CCRC-DSO数据安全官评AI:烧出的热度?美丽的泡沫?

中国AI产业的热潮持续高涨&#xff0c;这主要显现在企业获得融资的速度和规模上。 近期&#xff0c;智谱AI这家大模型独角兽公司完成了本年度的第三次融资&#xff0c;其投资前估值已达到惊人的200亿元&#xff1b;同时&#xff0c;无问芯穹也完成了接近5亿元的A轮融资&#x…

绑定域名解析怎么做?

在当今数字化时代&#xff0c;拥有一个网站已经成为许多个人和企业展示自己、提供服务或进行商业活动的重要方式。而要让网站能够在互联网上被访问到&#xff0c;绑定域名解析是一个关键的步骤。 绑定域名解析究竟该怎么做呢&#xff1f; 一、了解域名解析的基本概念 域名解…

Deep Active Contours for Real-time 6-DoF Object Tracking

这篇论文解决了从RGB视频进行实时6自由度&#xff08;6-DoF&#xff09;物体跟踪的问题。此前的基于优化的方法通过对齐投影模型与图像来优化物体姿态&#xff0c;这种方法依赖于手工设计的特征&#xff0c;因此容易陷入次优解。最近的基于学习的方法使用神经网络来预测姿态&am…

k8s技术架构

文章目录 Kubernetes 核心概念主要组件1. Master 节点2. Worker 节点 核心对象工作流程扩展性和插件化 kubernetes网络Kubernetes 集群网络Pod 网络Service 网络Ingress 网络网络策略 主机网络主机网络配置主机与集群网络的集成 Kubernetes 核心概念 Kubernetes&#xff08;通…

华为网络中OSPF配置与实现

OSPF原理与配置:isis介绍 1.过程&#xff1a;建立邻居&#xff1b;交互路由信息&#xff1b;链路状态&#xff1a;LSA; 报文类型&#xff1a; hello:周期性发送&#xff1b;发现和维护邻居关系&#xff1b;超时时间为周期的四倍&#xff1b; database description:DD报文描述…