当前位置: 首页 > news >正文

第八讲_css定位

css定位

  • 1. css定位介绍
  • 2. 静态定位(static)
  • 3. 相对定位(relative)
  • 4. 绝对定位(absolute)
  • 5. 固定定位(fixed)
  • 6. 粘性定位(sticky)

1. css定位介绍

在 css 中,可以通过 position 设置元素的定位模式,常见的定位模式:

  1. static(默认值):按照正常的文本流布局。
  2. relative:相对定位。
  3. absolute:绝对定位。
  4. fixed:固定定位。
  5. sticky:粘性定位。

position为非static时,可以通过topbottomrightleft设置元素的偏移量。

2. 静态定位(static)

静态定位是元素的默认定位方式,按照标准流特性摆放位置,没有边偏移。

3. 相对定位(relative)

  • 相对定位的参考点是自己原来的位置。
  • 相对定位不会脱离标准流,继续占有原来的位置。元素位置的变化,只是视觉效果上的变化,不会对其他元素产生任何影响。
  • left 和 right 不能同时使用,top 和 bottom 不能同时使用。
<style>.first {height: 100px;width: 100px;background-color: aqua;position: relative;top: 20px;left: 20px;
}
.second {height: 100px;width: 100px;background-color: blueviolet;
}
</style><div class="parent"><div class="first"></div><div class="second"></div>
</div>

4. 绝对定位(absolute)

  • 绝对定位的参考点是它的包含块。
    • 对于没有脱离标准流的元素,它的包含块就是父元素。
    • 对于脱离标准流的元素,它的包含块是第一个拥有定位属性的祖先元素。
  • 绝对定位会脱离标准流,对后面的兄弟元素、父元素有影响。
  • 绝对定位和浮动不能同时设置,如果同时设置,浮动失效。
  • left 和 right 不能同时使用,top 和 bottom 不能同时使用。
<style>
.parent {position: relative;
}
.first {height: 100px;width: 100px;background-color: aqua;position: absolute;top: 20px;left: 20px;/* 浮动不生效 */float: right;
}
.second {height: 100px;width: 100px;background-color: blueviolet;
}
</style><div class="parent"><!-- 父元素设置了定位,所以父元素就是它的包含块 --><div class="first"></div><!-- .first 设置了绝对定位,脱离了标准流。.second 就会占了它的位置 -->><div class="second"></div>
</div>

5. 固定定位(fixed)

  • 固定定位的参考点是视口。
  • 固定定位会脱离标准流,对后面的兄弟元素、父元素有影响。
  • left 和 right 不能同时使用,top 和 bottom 不能同时使用。
  • 固定定位和浮动不能同时设置,如果同时设置,浮动失效。
<style>
.container {width: 100px;height: 100px;background-color: red;position: fixed;left: 200px;top: 200px;
}</style><div class="container"></div>

ps: 在浏览器打开上述代码,视口就是浏览器,红色的块在距离浏览器顶部200px,左侧200px的位置。

6. 粘性定位(sticky)

  • 粘性定位的参考点是离它最近的拥有“滚动机制”的祖先元素。
  • 粘性定位不会脱离标准流,它是专门用于窗口滚动时的新定位方式。
<style>
.container {width: 500px;height: 200px;/* 内容超出显示滚动条 */overflow: scroll;
}.fisrt {height: 100px;background-color: red;position: sticky;top: 20px;
}
.second {height: 100px;background-color: darkorchid;
}
.third {height: 100px;background-color: blue;
}
</style><div class="container"><div class="fisrt"></div><div class="second"></div><div class="third"></div>
</div>

ps: 只要设置了定位的元素,其显示层级比普通元素高

相关文章:

第八讲_css定位

css定位 1. css定位介绍2. 静态定位&#xff08;static&#xff09;3. 相对定位&#xff08;relative&#xff09;4. 绝对定位&#xff08;absolute&#xff09;5. 固定定位&#xff08;fixed&#xff09;6. 粘性定位&#xff08;sticky&#xff09; 1. css定位介绍 在 css 中…...

找出字符串中第一个匹配项的下标(Leetcode28)

例题&#xff1a; 分析&#xff1a; 题目的意思就是&#xff1a; 先给出一个字符串pattern&#xff0c;要拿着pattern字符串和原始字符串&#xff08;origin&#xff09;比对&#xff0c;若在origin中找到了pattern字符串&#xff0c;则返回pattern字符串在原始字符串origin中的…...

【分布式微服务专题】从单体到分布式(四、SpringCloud整合Sentinel)

目录 前言阅读对象阅读导航前置知识一、什么是服务雪崩1.1 基本介绍1.2 解决方案 二、什么是Sentinel2.1 基本介绍2.2 设计目的2.3 基本概念 三、Sentinel 功能和设计理念3.1 流量控制3.2 熔断降级3.3 系统负载保护 四、Sentinel 是如何工作的 笔记正文一、简单整合Sentinel1.1…...

RHCE9学习指南 第19章 网络时间服务器

19.1 时间同步的必要性 对于一些服务来说对时间要求非常严格&#xff0c;例如&#xff0c;图19-1所示由三台服务器搭建的ceph集群。 图19-1 三台机器搭建的集群对时间要求比较高 这三台服务器的时间必须要保持一样&#xff0c;如果不一样&#xff0c;就会显示报警信息。那么…...

大模型 RAG 问答技术架构及核心模块盘点:从 Embedding、prompt-embedding 到 Reranker

对于RAG而言&#xff0c;2023年已经出现了很多工作&#xff0c;草台班子有了一堆&#xff0c;架构也初步走通&#xff0c;2024年应该会围绕搜索增强做更多的优化工作。 因此我们今天来系统回顾下RAG中的模块&#xff0c;包括一些架构&#xff0c;文本嵌入embedding等&#xff…...

基于Selenium+Python的web自动化测试框架

一、什么是Selenium&#xff1f; Selenium是一个基于浏览器的自动化测试工具&#xff0c;它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分&#xff1a;Selenium IDE、Selenium WebDriver 和Selenium Grid。 Selenium IDE&#xff1a;Firefo…...

LeetCode刷题--- 地下城游戏

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 ​​​​​​http://t.csdnimg.cn/6AbpV 数据结构与算法 ​​​http://t.csdnimg.cn/hKh2l 前言&#xff1a;这个专栏主要讲述动…...

【sklearn练习】鸢尾花

一、 import numpy as np from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier 第二行&#xff1a;导入datasets数据集 第三行&#xff1a;train_test_split 的作用是将数据集随机分配…...

STM32的USB设备库

适用范围&#xff1a;“on the STM32F10xxx,STM32F37xxx, STM32F30xxx and STM32L15xxx devices.” STM32_USB-FS-Device_Lib_V4.0.0.rar&#xff08;访问密码&#xff1a;1666&#xff09;https://url48.ctfile.com/f/33868548-1000799917-a5409d?p1666 适用范围&#xff1…...

整数对最小和(100%用例)C卷 (JavaPythonC++Node.jsC语言)

给定两个整数数组 array1 、 array2 ,数组元素按升序排列。假设从 array1 、 array2 中分别取出一个元素可构成一对元素,现在需要取出 k 对元素,并对取出的所有元素求和,计算和的最小值 注意:两对元素如果对应于 array1 、 array2 中的两个下标均相同,则视为同一对元素。…...

QT笔记 - 加载带有提升为自定义部件类的“.ui“文件 - 重写QUiLoader::createWidget()函数

说明 如果ui设计中有提升过小部件&#xff0c;则无法直接使用QUiLoader加载。完成加载需要重新实现UiLoader::createWidget()函数。 函数 virtual QWidget * QUiLoader::createWidget(const QString & className, QWidget * parent Q_NULLPTR, const QString & name…...

开启Android学习之旅-2-架构组件实现数据列表及添加(kotlin)

Android Jetpack 体验-官方codelab 1. 实现功能 使用 Jetpack 架构组件 Room、ViewModel 和 LiveData 设计应用&#xff1b;从sqlite获取、保存、删除数据&#xff1b;sqlite数据预填充功能&#xff1b;使用 RecyclerView 展示数据列表&#xff1b; 2. 使用架构组件 架构组…...

leetcode 动态规划(最后一块石头的重量II、目标和、一和零)

1049.最后一块石头的重量II 力扣题目链接(opens new window) 题目难度&#xff1a;中等 有一堆石头&#xff0c;每块石头的重量都是正整数。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < …...

JavaWeb-HTTP

一、概念 HTTP&#xff1a;HyperText Transfer Protocol&#xff0c;超文本传输协议。读者应该不是第一次接触这个名词&#xff0c;但可能仍然不是很理解&#xff0c;笔者将逐一解释。 HyperText&#xff08;超文本&#xff09;&#xff1a;根据维斯百科&#xff0c;Hypertex…...

算法训练营第四十二天|动态规划:01背包理论基础 416. 分割等和子集

目录 动态规划&#xff1a;01背包理论基础416. 分割等和子集 动态规划&#xff1a;01背包理论基础 文章链接&#xff1a;代码随想录 题目链接&#xff1a;卡码网&#xff1a;46. 携带研究材料 01背包问题 二维数组解法&#xff1a; #include <bits/stdc.h> using namesp…...

前端 JS篇快问快答

问题&#xff1a;常见的特殊字符&#xff08;不包括空格\s&#xff09; 正则表达式为&#xff1a; 回答&#xff1a;/[!#$%^&*()\-_{};:",.<>/?[\]~|]/ &#xff08;加粗的紫色字符都是特殊字符&#xff09; 问题&#xff1a;常见的特殊字符&#xff08;包括…...

vue/vue3/js来动态修改我们的界面浏览器上面的文字和图标

前言&#xff1a; 整理vue/vue3项目中修改界面浏览器上面的文字和图标的方法。 效果&#xff1a; vue2/vue3: 默认修改 public/index.html index.html <!DOCTYPE html> <html lang"en"><head><link rel"icon" type"image/sv…...

MobaXterm SSH 免密登录配置

文章目录 1.简介2.SSH 免密登录配置第一步&#xff1a;点击 Session第二步&#xff1a;选择 SSH第三步&#xff1a;输入服务器地址与用户名第四步&#xff1a;设置会话名称第五步&#xff1a;点击 OK 并输入密码 3.密码管理4.小结参考文献 1.简介 MobaXterm 是一个功能强大的终…...

霍兰德职业兴趣测试:找到与你性格匹配的职业

霍兰德职业兴趣理论 约翰霍兰德&#xff08;John Holland&#xff09;是美国约翰霍普金斯大学心理学教授&#xff0c;美国著名的职业指导专家。他于1959年提出了具有广泛社会影响的职业兴趣理论。认为人的人格类型、兴趣与职业密切相关&#xff0c;兴趣是人们活动的巨大动力&a…...

LVGL学习笔记 显示和隐藏 对象的属性标志位 配置

在显示GUI的过程中需要对某些对象进行临时隐藏或临时显示,因此需要对该对象的FLAG进行配置就可以实现对象的显示和隐藏了. 调用如下接口可以实现: lv_obj_add_flag(user_obj, LV_OBJ_FLAG_HIDDEN);//隐藏对象lv_obj_clear_flag(user_obj, LV_OBJ_FLAG_HIDDEN);//取消隐藏实现的…...

对比自行维护多个 API 密钥,使用 Taotoken 在管理上轻松许多

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比自行维护多个 API 密钥&#xff0c;使用 Taotoken 在管理上轻松许多 作为一名个人开发者&#xff0c;我曾长期在多个大模型服务…...

第七届先进金属材料国际研讨会(AMM 2026)

第七届先进金属材料国际研讨会(AMM 2026) The 7th Intl Conference on Advanced Metallic Materials(AMM 2026) 2026年8月7-9日 中国昆明 &#x1f4c5; 重要信息 会议官网&#xff1a;https://www.academicx.org/AMM/2026/ 会议时间&#xff1a;2026年8月7-9日 会议地点…...

从失败案例看全球化内容服务的合规架构与自动化风控实践

1. 项目概述与背景解析最近在和一些做全球化内容分发或者跨国协作项目的朋友交流时&#xff0c;大家普遍会提到一个词&#xff1a;“内容合规性审查”。这听起来像是一个法务或者运营的术语&#xff0c;但对我们这些搞技术、做开发的人来说&#xff0c;它背后其实是一整套复杂的…...

从ok-skills项目解析技能树:设计理念、技术实现与工程实践

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“ok-skills”。光看这个名字&#xff0c;可能有点摸不着头脑&#xff0c;但点进去一看&#xff0c;发现这是一个关于“技能树”或“知识图谱”的开源项目。简单来说&#xff0c;它试图用一种结构化的…...

如何通过DriverStore Explorer解决Windows驱动管理的三大核心难题

如何通过DriverStore Explorer解决Windows驱动管理的三大核心难题 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 作为一名系统管理员或技术爱好者&#xff0c;你是否曾面临这样的困境&…...

Win11Debloat免费工具:3步彻底清理Windows 11垃圾,性能提升51%

Win11Debloat免费工具&#xff1a;3步彻底清理Windows 11垃圾&#xff0c;性能提升51% 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes …...

ElevenLabs导航语音部署失败的11个致命原因,92%开发者踩过第5个——现在修复还来得及!

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs导航语音部署失败的全局认知与根本定位 当 ElevenLabs 的语音合成 API 集成至车载或移动导航系统时&#xff0c;常见“静默无响应”“HTTP 429 频繁限流”或“TTS 流中断”等表象故障&#x…...

Arduino激光绊线制作:从光电传感器到智能触发系统

1. 项目概述&#xff1a;从创意到实现的激光绊线几年前&#xff0c;我在一个创客工作坊里&#xff0c;看到有人用一个简单的激光笔和光敏电阻&#xff0c;就做出了一个能触发警报的“隐形防线”。当时就觉得这玩意儿太酷了&#xff0c;原理简单&#xff0c;但应用场景多得数不过…...

C++ 列表初始化容器

initializer_list是一个模板类&#xff0c;可能你已经用过它了但不知道而已&#xff0c;比如下面的代码就用了 #include <iostream> #include <vector>int main() {std::vector<int> vc({ 1,2,3,4 }); //这里调用了构造函数&#xff0c;实参为{1,2,3,4}ret…...

Unity问题记录

一个物体在Scene窗口看不见&#xff0c;Game窗口能看见。选中它时&#xff0c;打开Gizmos也看不见身上碰撞体的线框。也无法被射线检测到。换成其他Mesh&#xff1a;Open Asset In Context正常显示&#xff1a;把它Revert回预制体&#xff0c;还是不显示。Ctrl D复制一个&#…...