前端的学习-CSS(七)

news2024/11/16 1:50:23

一:定位(position)

        1:为什么使用定位。

                有一些固定的盒子,并且压在其他盒子上面,一些网页,会有固定的窗口,这些是标准流和浮动无法解决的,比如下面的例子。旁边的红色边框的效果是不会随着页面的下滑而动,而是固定在一个位置,此时用的就是定位。

                1.浮动可以让多个块级盒子一行没有缝隙排列显示, 经常用于横向排列盒子。

                2.定位则是可以让盒子自由的在某个盒子内移动位置或者固定屏幕中某个位置,并且可以压住其他盒 子。 

        2:定位的组成

                定位 = 定位模式 + 边偏移

                定位模式:用于指定一个元素在文档中的定位方式。

                边偏移:决定了该元素的最终位置。

                1:边偏移

                        边偏移:就是定位的盒子移动到最终位置。有top、bottom、left、right 4 个属性。             

选择器{
    top: 32px;
    letf: 50px;
}

                         top:顶端偏移量,定义元素相对于其父元素上边线的距离。

                        bottom:底部偏移量,定义元素相对于其父元素下边线的距离。

                        left:左侧偏移量,定义元素相对于其父元素左边线的距离。

                        right:右侧偏移量,定义元素相对于其父元素右边线的距离。

                2:定位模式

                        通过position属性定义元素的定位模式,语法如下:

选择器
    position: 属性值;
}
                        1:静态定位(static) 

                                静态定位是元素的默认定位方式,无定位的意思。

                                语法:

选择器{
    position: static;
}
                        2:相对定位(relative)

                                相对定位是元素在移动位置的时候,是相对于它自己原来的位置

                                语法:

选择器{
    position: relative;
}

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.box1,
			.box3 {
				width: 120px;
				height: 120px;
				background-color: pink;
			}

			.box2 {
				width: 120px;
				height: 120px;
				background-color: deeppink;
				/* 相对定位 */
				position: relative;
				left: 120px;
			}
		</style>
	</head>
	<body>
		<div class="box1"></div>
		<div class="box2"></div>
		<div class="box3"></div>
	</body>
</html>

                相对定位的特点: 

                 1.它是相对于自己原来的位置来移动的(移动位置的时候参照点是自己原来的位置)。                  2.原来在标准流的位置继续占有,后面的盒子仍然以标准流的方式对待它。 

        3:绝对定位(absolute)

                绝对定位是元素在移动位置的时候,是相对于静态static定位以外的第一个祖先元素进行定位。

                语法:

选择器{
    position: absolute;
}
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			* {
				font-size: 20px;
			}

			.box1,
			.box3 {
				width: 120px;
				height: 120px;
				background-color: pink;
			}

			.box2 {
				width: 120px;
				height: 120px;
				background-color: deeppink;
				/* 相对定位 */
				position: absolute;
				left: 120px;
			}
		</style>
	</head>
	<body>
		<div class="box1">1</div>
		<div class="box2">2</div>
		<div class="box3">3</div>
	</body>
</html>

                如果父元素设置了position:relative;的话,则是以父元素的左上角为0,0点。如下

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			* {
				font-size: 20px;
			}

			.box-main {
				width: 400px;
				height: 400px;
				background-color: aqua;
				position: relative;
				margin-left: 150px;
				margin-top: 150px;
			}

			.box1,
			.box3 {
				width: 120px;
				height: 120px;
				background-color: pink;
			}

			.box2 {
				width: 120px;
				height: 120px;
				background-color: deeppink;
				/* 相对定位 */
				position: absolute;
				top: 0px;
				left: 120px;
			}
		</style>
	</head>
	<body>

		<div class="box-main">
			<div class="box1">1</div>
			<div class="box2">2</div>
			<div class="box3">3</div>
		</div>

	</body>
</html>

                将父元素的相对定位注释,则会是一下效果。

                 

                特点: 

                1、完全脱标 —— 完全不占位置。

                2、如果父元素没有非static定位,则以浏览器为准定位。

                3、如果父元素有定位:元素将依据最近的已经定位(绝对absolute、固定fixed或相对定位 relative,不能是static)的父元素(祖先)进行定位。 

                定位口诀 —— 子绝父相

                子级是绝对定位的话,父级 要用相对定位。父级需要占有位置,因此是相对定位, 子盒子不需要占有位置,则是绝对定位

                1:子级绝对定位,不会占有位置,可以放到父盒子里面的任何一个地方,不会影响其他的兄弟盒子。

                2:父盒子需要加定位限制子盒子在父盒子内显示。

                3:父盒子布局时,需要占有位置,因此父亲只能是相对定位。

                如上的两边的箭头,是基于装图片的盒子进行的定位,装图片的盒子为两边箭头的父级,使用了相对定位,箭头使用绝对定位,使得箭头位于盒子的两边。 

                同样二级菜单也是,使用了子绝父相的定位 。

        4:固定定位(fixed)

                固定定位是元素固定于浏览器可视区的位置,主要使用场景,可以在浏览器页面滚动时元素的位置不会改变。 

                语法:

选择器{
    position: fixed;
}

                1.以浏览器的可视窗口为参照移动元素。跟父元素没有关系,不随滚动条滚动。

                2.固定定位不再占有原先的位置(完全脱标)。 

         5:粘性定位(sticky)

                粘性定位可以被认为是相对定位和固定定位的混合。 sticky粘性的。

                语法:

选择器{
    position: sticky;
}

                粘性定位的特点:

                1.以浏览器的可视窗口为参照点移动元素(固定定位特点)

                2.粘性定位占有原先的位置(相对定位特点)

                3.必须添加 top 、left、right、bottom 其中一个才有效 

 

                比如说爱淘宝上方的搜索栏。 

        6:堆叠顺序(z-index)

                 在使用定位布局时,可能会出现盒子重叠的情况。此时,可以使用 z-index 来控制盒子的前后次序 (z轴)。

                语法:

选择器{
    z-index: 1000;
}

        z-index 的特性如下:

                1、属性值:正整数、负整数或 0,默认值是 0,数值越大,盒子越靠上;

               2、如果属性值相同,则按照书写顺序,后来居上;

                3、数字后面不能加单位。 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			* {
				font-size: 20px;
			}

			.box-main {
				width: 400px;
				height: 400px;
				background-color: aqua;
				position: relative;
				margin-left: 150px;
				margin-top: 150px;
			}

			.box1 {
				width: 120px;
				height: 120px;
				background-color: hotpink;
				position: absolute;
				top: 20px;
				left: 20px;
			}

			.box3 {
				width: 120px;
				height: 120px;
				background-color: pink;
				position: absolute;
				top: 60px;
				left: 60px;
			}

			.box2 {
				width: 120px;
				height: 120px;
				background-color: deeppink;
				position: absolute;
				top: 40px;
				left: 40px;
			}
		</style>
	</head>
	<body>

		<div class="box-main">
			<div class="box1">1</div>
			<div class="box2">2</div>
			<div class="box3">3</div>
		</div>

	</body>
</html>

        上图为默认情况下,按顺序排列。 

       此时给2号盒子加上z-index: 100;

.box2 {
	width: 120px;
	height: 120px;
	background-color: deeppink;
	position: absolute;
	top: 40px;
	left: 40px;
	z-index: 100;
}

                2号盒子会跑到最上面来 

                                

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

汇昌联信数字做拼多多运营怎么入行?

拼多多作为中国领先的电商平台之一&#xff0c;近年来在数字运营领域展现出了强大的生命力和创新能力。汇昌联信数字作为一个潜在的新入行者&#xff0c;如何进入拼多多的运营领域&#xff0c;成为业界关注的焦点。本文旨在探讨汇昌联信数字如何通过有效的策略和方法&#xff0…

hal库回调函数机制

1. 第一行就是标准库函数的 在 nvic那个中断向量表里面的函数 以前写的都是 在中断向量表里面把这个中断处理函数重写 2. 第二行 第三行 的 hal库就是 通过中断向量表里面的这个函数 &#xff0c;再一次调用hal自己的中断回调函数&#xff0c;就是相当于多封装了两层 这个图更…

局部整体(二)利用python绘制维恩图

局部整体&#xff08;二&#xff09;利用python绘制维恩图 维恩图&#xff08; Venn Diagram&#xff09;简介 维恩图显示集与集之间所有可能存在的逻辑关系&#xff0c;每个集通常以一个圆圈表示&#xff0c;每个集都是一组具有共同之处的物件或数据。当多个圆圈&#xff08;…

【Material-UI】File Upload Button 组件详解

文章目录 一、基础实现1. component"label"2. 隐藏的输入元素 二、样式和交互增强1. 自定义按钮样式2. 交互提示 三、支持多文件上传四、无障碍性&#xff08;Accessibility&#xff09;1. 提供 aria-label 或 aria-labelledby2. 支持键盘导航 五、高级用法和集成1. …

leetcode-215. 数组中的第K个最大元素

题目描述 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: [3,2,1,5…

STM32-低功耗模式详解

一、概述 低功耗模式&#xff08;Low Power Mode&#xff09;是为了减少电子设备的能耗而设计的操作模式&#xff0c;广泛应用于依赖电池供电的设备中&#xff0c;旨在延长电池寿命或减少能源消耗。在用户需要设备长时间工作或在电量极为有限的情况下非常实用&#xff0c;虽然牺…

如何在IDEA上使用JDBC编程【保姆级教程】

目录 前言 什么是JDBC编程 本质 使用JDBC编程的优势 JDBC流程 如何在IEDA上使用JDBC JDBC编程 1.创建并初始化数据源 2.与数据库服务器建立连接 3.创建PreparedStatement对象编写sql语句 4.执行SQL语句并处理结果集 executeUpdate executeQuery 5.释放资源 前言 在…

yandex 不定长旋转验证码PPOCR识别案例

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 某yandex 不定长旋转验证码如下: 可以看到,此种验证码非常变态,旋转角度不固定,干扰背景不固定,字符长度不固定,弯曲形变都是不固定的,在人眼都很难分辨验证…

『 C++ 』异常

文章目录 异常概念及使用自定义类型的异常C 标准库的异常体系异常的重新抛出异常安全异常规范异常的优缺点 异常概念及使用 C语言常见的错误处理机制如下: 返回值约定 通过定义一些列的返回值以及其对应的错误信息表述,通过不同的返回值来查看当前函数是否与调用成功; 通常情…

锂电池生产工艺数字化的业务架构.pptx

搜索《方案驿站》公众号进行下载。

【系统架构设计】数据库系统(五)

数据库系统&#xff08;五&#xff09; 数据库模式与范式数据库设计备份与恢复分布式数据库系统数据仓库数据挖掘NoSQL大数据 数据库模式与范式 数据库设计 备份与恢复 分布式数据库系统 数据仓库 数据挖掘 对数据挖掘技术进行支持的三种基础技术已经发展成熟&#xff0c…

【设计模式】六大原则-上

首先什么是设计模式&#xff1f; 相信刚上大学的你和我一样&#xff0c;在学习这门课的时候根本不了解这些设计原则和模式有什么用处&#xff0c;反而不如隔壁的C更有意思&#xff0c;至少还能弹出一个小黑框&#xff0c;给我个hello world。 如何你和我一样也是这么想&#xf…

2-56 基于matlab的图像融合增强技术

基于matlab的图像融合增强技术。通过原始图像——傅里叶变换——频率域滤波处理——傅里叶变换——增强后的图像。傅立叶变换以及傅立叶反变换.过程就是将空间的信息分解为在频率上的表示,通过傅立叶正反变换的处理,才使得频率域上的处理可以用于图像的增强。程序已调通&#x…

联想QuickFix工具中心,一款综合性电脑维护和管理工具

联想QuickFix工具中心是联想公司推出的一款综合性电脑维护和管理工具&#xff0c;它集成了众多实用的电脑维护工具&#xff0c;如系统优化、硬盘清理、网络优化、硬件诊断等&#xff0c;旨在为用户提供一个便捷的平台来解决电脑日常使用中遇到的各种问题。该工具中心适用于Wind…

AttributeError: ‘ChatGLMTokenizer‘ object has no attribute ‘sp_tokenizer‘. 已解决

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 ☁️运维工程师的职责&#xff1a;监…

【Linux---07】Shell脚本

文章目录 1. 前置说明1.1 创建shell脚本1.2 执行shell脚本1.3 调试shell脚本1.4 字符冲突 2. 变量2.1 创建&使用变量2.2 位置变量2.3 引号规则2.4 数值变量运算 3. 数组3.1 创建数组3.2 使用数组 4. 运算符4.1 比较运算符4.1.1 数字比较4.1.2 字符串比较 4.2 逻辑运算符4.3…

国内首个可调用API的视频模型,CogVideoX有多能打?

近期&#xff0c;智谱AI在其Maas开放平台(bigmodel.cn)发布了视频生成大模型CogVideoX&#xff0c;它提供了国内首个通过API来使用的文生视频和图生视频服务&#xff01; 话不多说&#xff0c;我们直接来看一下通过CogVideoX生成的一部短片。 技术原理 CogVideoX融合了文本、…

CSP-J复赛-模拟题4

1.区间覆盖问题&#xff1a; 题目描述 给定一个长度为n的序列1,2,...,a1​,a2​,...,an​。你可以对该序列执行区间覆盖操作&#xff0c;即将区间[l,r]中的数字,1,...,al​,al1​,...,ar​全部修改成同一个数字。 现在有T次操作&#xff0c;每次操作由l,r,p,k四个值组成&am…

未授权访问漏洞系列详解⑦!

VNC未授权访问漏洞 VNC 是虚拟网络控制台 Virtual Network Console 的英文缩写。它是一款优秀的远程控制工具软件由美国电话电报公司AT&T的欧洲研究实验室开发。VNC是基于 UNXI和 Linux 的免费开源软件由 VNC Server 和 VNC Viewer 两部分组成。VNC 默认端口号为 5900、590…

opencascade AIS_TypeFilter AIS_XRTrackedDevice源码学习

opencascade AIS_TypeFilter 前言 通过它们的类型选择交互对象。该过滤器会对本地上下文中的每个交互对象提出问题&#xff0c; 以确定它是否具有非空的所有者&#xff0c;并且如果是&#xff0c;则检查它是否是所需类型。 如果对象在每种情况下都返回 true&#xff0c;则保留…