css定位属性

ops/2024/10/22 11:01:07/

CSS的定位属性有三种,分别是绝对定位、相对定位、固定定位。

	position: absolute;  <!-- 绝对定位 -->position: relative;  <!-- 相对定位 -->position: fixed;     <!-- 固定定位 -->

绝对定位

  1. **绝对定位的盒子脱离了标准文档流。**所以,所有的标准文档流的性质,绝对定位之后都不遵守了。

  2. 绝对定位之后,标签就不区分所谓的行内元素、块级元素了,不需要display:block就可以设置宽、高了。

  3. 如果用top描述,那么参考点就是页面的左上角,而不是浏览器的左上角:

  4. 如果用bottom描述,那么参考点就是浏览器首屏窗口尺寸(好好理解“首屏”二字),对应的页面的左下角:

  5. 用bottom的定位的时候,参考的是浏览器首屏大小对应的页面左下角。

以盒子为参考点

一个绝对定位的元素,如果父辈元素中也出现了已定位(无论是绝对定位、相对定位,还是固定定位)的元素,那么将以父辈这个元素,为参考点。

如下:(子绝父相)

以下几点需要注意。

(1) 要听最近的已经定位的祖先元素的,不一定是父亲,可能是爷爷:

		<div class="box1">        相对定位<div class="box2">    没有定位<p></p>           绝对定位,将以box1为参考,因为box2没有定位,box1就是最近的父辈元素</div></div>

再比如:

		<div class="box1">        相对定位<div class="box2">    相对定位<p></p>           绝对定位,将以box2为参考,因为box2是自己最近的父辈元素</div></div>

(2)不一定是相对定位,任何定位,都可以作为儿子的参考点:
(3)绝对定位的儿子,无视参考的那个盒子的padding:

让绝对定位中的盒子在父亲里居中

我们可以总结成一个公式:
水平居中:

left:50%; margin-left:负的宽度的一半
垂直居中:
top:50%; margin-top:负的宽度的一半

相对定位

	position: relative;left: 50px;top: 50px;
相对定位不脱标

相对定位:不脱标,老家留坑,别人不会把它的位置挤走

也就是说,相对定位的真实位置还在老家,只不过影子出去了,可以到处飘。

相对定位的用途

如果想做“压盖”效果(把一个div放到另一个div之上),我们一般不用相对定位来做。相对定位,就两个作用:

  • (1)微调元素
  • (2)做绝对定位的参考,子绝父相
相对定位的定位值
  • left:盒子右移

  • right:盒子左移

  • top:盒子下移

  • bottom:盒子上移

PS:负数表示相反的方向。

固定定位

用途1:网页右下角的“返回到顶部”
例:

html">	<style type="text/html" title=css>css">html" title=css>css">.backtop{position: fixed;bottom: 100px;right: 30px;width: 60px;height: 60px;background-color: gray;text-align: center;line-height:30px;color:white;text-decoration: none;   /*去掉超链接的下划线*/}</style>

**用途2:**顶部导航条
用锚链接链接到顶部top

html"><a href="top">oioi</a>

z-index属性:

特性:

  • 属性值大的位于上层,属性值小的位于下层。

  • z-index值没有单位,就是一个正整数。默认的z-index值是0。

  • 如果大家都没有z-index值,或者z-index值一样,那么在HTML代码里写在后面,谁就在上面能压住别人。定位了的元素,永远能够压住没有定位的元素。

  • 只有定位了的元素,才能有z-index值。也就是说,不管相对定位、绝对定位、固定定位,都可以使用z-index值。而浮动的元素不能用

  • 从父现象:父亲怂了,儿子再牛逼也没用。意思是,如果父亲1比父亲2大,那么,即使儿子1比儿子2小,儿子1也能在最上层

这是默认情况下的例子:(div2在上层,div1在下层)

现在加一个z-index属性,要求效果如下:

第五条分析:

OTTB-1729498479371)]

现在加一个z-index属性,要求效果如下:
[外链图片转存中…(img-Sp9ZQF0K-1729498479372)]

第五条分析:
[外链图片转存中…(img-frd5vD5U-1729498479373)]

当好几个已定位的标签出现覆盖的现象时,我们可以用这个z-index属性决定,谁处于最上方。也就是层级的应用。


http://www.ppmy.cn/ops/127549.html

相关文章

分布式ID多种生成方式

分布式ID 雪花算法&#xff08;时间戳41机器编号10自增序列号10&#xff09; 作用&#xff1a;希望ID按照时间进行有序生成 原理&#xff1a; 即一台带有编号的服务器在毫秒级时间戳内生成带有自增序号的ID,这个ID保证了自增性和唯一性 雪花算法根据结构的生成ID个数的上线时…

Docker和K8S的区别

Docker和K8S的区别 Docker和Kubernetes&#xff08;简称K8S&#xff09;是两个在容器化技术领域非常重要的工具&#xff0c;它们各自有着不同的功能和用途。下面是它们之间的主要区别&#xff1a; 容器运行时 vs 容器编排工具&#xff1a; Docker是一个容器运行时&#xff0c;主…

Excel制作工资表

需要用到的函数 函数要求如下&#xff1a; IFERROR 功能&#xff1a;处理公式中的错误&#xff0c;避免显示错误值。当公式产生错误时&#xff0c;使用自定义的值或表达式代替错误信息。 IFERROR(值, 错误值)SUM 功能&#xff1a;求和&#xff0c;计算一系列数字的总和。 语…

JavaScript的第五天

目录 一、arguments&#xff08;伪数组&#xff0c;并不是真正意义上的数组&#xff09; 1、特性 2、arguments 内置对象的优缺点 二、一些arguments的运用 1、利用函数求任意个数的最大值 2、函数之间的相互调用 三、声明函数的方法 1. 利用函数关键字自定义函数(命名函数) …

.NET无侵入式对象池解决方案

Pooling&#xff0c;编译时对象池组件&#xff0c;在编译时将指定类型的new操作替换为对象池操作&#xff0c;简化编码过程&#xff0c;无需开发人员手动编写对象池操作代码。同时提供了完全无侵入式的解决方案&#xff0c;可用作临时性能优化的解决方案和老久项目性能优化的解…

【优选算法篇】踏入算法的深邃乐章:滑动窗口的极致探秘

文章目录 C 滑动窗口详解&#xff1a;进阶题解与思维分析前言第二章&#xff1a;进阶挑战2.1 水果成篮解法一&#xff1a;滑动窗口解法二&#xff1a;滑动窗口 数组模拟哈希表复杂度分析&#xff1a;图解分析&#xff1a;示例&#xff1a;滑动窗口执行过程图解&#xff1a; 详…

Scala内部类和Java内部类的不同

Scala内部类和Java内部类在概念上是相似的&#xff0c;都允许一个类定义在另一个类的内部。 不过&#xff0c;由于Scala和Java在语言设计哲学和语法上的差异&#xff0c;它们在实现细节和使用方式上存在一些不同之处。 Scala内部类和Java内部类之间的主要区别&#xff1a; 1…

MySQL知识点_02

1、! 与<>比较 在MySQL中 ! 和 <> 的功能一致&#xff0c;在sql92规范中建议是&#xff1a;!&#xff0c;新的规范中建议为: <> 2、!NULL 与IS NOT NULL 比较 先说结论&#xff1a;默认情况下做比较条件时使用关键字“IS NULL”和“IS NOT NULL”&#xff1…