【css】css位置布局position

news/2024/10/22 14:26:39/

position 属性规定应用于元素的定位方法的类型。元素其实是通过使用top、bottom、left 和 right 属性来定位的。但是,需要首先设置了 position 属性,否则这些属性将不起作用。根据不同的 position 值,它们的设置特点不同。

其有五个不同的位置值:

  • static :默认情况下的定位方式

  • relative:相对于其正常位置进行定位,设置相对定位的元素的 top、right、bottom 和 left 属性将导致其偏离其正常位置进行调整。不会对其余内容进行调整来适应元素留下的任何空间。

  • fixed:相对于视口定位的,这意味着即使滚动页面,它也始终位于同一位置。 top、right、bottom 和 left 属性用于定位此元素。固定定位的元素不会在页面中通常应放置的位置上留出空隙。

  • absolute:相对于最近的定位祖先元素进行定位(而不是相对于视口定位,如 fixed)。然而,如果绝对定位的元素没有祖先,它将使用文档主体(body),并随页面滚动一起移动。

  • sticky:根据用户的滚动位置进行定位。粘性元素根据滚动位置在相对(relative)和固定(fixed)之间切换。起先它会被相对定位,直到在视口中遇到给定的偏移位置为止 然后将其“粘贴”在适当的位置(比如 position:fixed)

1、relative
代码:

<!DOCTYPE html>
<html>
<head>
<style>
div.relative {position: relative;left: 30px;top:200px;width:50px;border: 3px solid #73AD21;
}
</style>
</head>
<body>
<span>内容一</span>
<div class="relative">
这个 div 元素设置 position: relative;
</div>
<span>内容二</span>
</body>
</html>

渲染效果:原来的位置保留了,相对原来的位置偏移到新的位置。
在这里插入图片描述

2、fixed
代码:

<!DOCTYPE html>
<html>
<head>
<style>
div.fixed {position: fixed;bottom: 200px;right: 0;width: 300px;border: 3px solid #73AD21;
}
</style>
</head>
<body>
<h1>position: fixed;</h1>
<div class="fixed">
这个 div 元素设置 position: fixed;
</div></body>
</html>

渲染效果:根据视窗固定,不随页面滚动变化位置。

在这里插入图片描述
3、absolute

<!DOCTYPE html>
<html>
<head>
<style>
div.relative {position: relative;width: 400px;height: 200px;border: 3px solid #73AD21;
} div.absolute {position: absolute;top: 80px;right: 0;width: 200px;height: 100px;border: 3px solid #73AD21;
}
</style>
</head>
<body><h1>position: absolute;</h1>
<p>设置 position: absolute; 的元素会相对于最近的定位祖先进行定位(而不是相对于视口进行定位,比如 fixed):</p>
<div class="relative">这个 div 元素设置 position: relative;<div class="absolute">这个 div 元素设置 position: absolute;</div>
</div></body>
</html>

渲染效果:
在这里插入图片描述
4、sticky
代码:

<!DOCTYPE html>
<html>
<head>
<style>
div.sticky {position: -webkit-sticky;position: sticky;top: 20px;padding: 5px;background-color: #cae8ca;border: 2px solid #4CAF50;
}
</style>
</head>
<body><p>请试着在这个框架内<b>滚动</b>页面,以理解粘性定位的原理。</p><div class="sticky">我是有粘性的!</div><div style="padding-bottom:2000px"><p>在此例中,当您到达元素的滚动位置时,粘性元素将停留在页面顶部(top: 0)。</p><p>向上滚动以消除粘性。</p><p>一些启用滚动的文本.. Lorem ipsum dolor sit amet, illum definitiones no quo, maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae voluptatibus.</p><p>一些启用滚动的文本.. Lorem ipsum dolor sit amet, illum definitiones no quo, maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae voluptatibus.</p>
</div></body>
</html>

渲染效果:
没有滚动前,滚动过程中粘性框也跟着滚动,直达到达top:20px处,便固定在那。
在这里插入图片描述
滚动后:滚定在top:20px处
在这里插入图片描述


http://www.ppmy.cn/news/1000589.html

相关文章

自然语言处理学习笔记(二)————语料库与开源工具

目录 1.语料库 2.语料库建设 &#xff08;1&#xff09;规范制定 &#xff08;2&#xff09;人员培训 &#xff08;3&#xff09;人工标注 3.中文处理中的常见语料库 &#xff08;1&#xff09;中文分词语料库 &#xff08;2&#xff09;词性标注语料库 &#xff08;3…

AI工程师的崛起:填补AI革命中的空白

在一个拥有大约5000名语言学习模型&#xff08;LLM&#xff09;研究员&#xff0c;但大约有5000万软件工程师的世界中&#xff0c;供应限制决定了一种新型专业人才—AI工程师的迅猛增长。他们的崛起不仅仅是一种预测&#xff0c;更是对科技世界动态变化的必然反应。AI工程师作为…

企业内网终端安全无客户端准入控制技术实践

终端无代理/无客户端准入控制技术因其良好的用户体验而倍受创新企业的青睐。无代理/无客户端准入控制技术&#xff0c;顾名思义&#xff0c;是一种在网络中对终端实施访问控制的方法&#xff0c;无需依赖特定的客户端软件。 不同于银行、医院等传统行业的终端准入控制需求&…

QT遍历文件夹读取文件名

一、获取文件夹下的所有文件名 可以使用QDir类的entryList()函数获取文件夹下的所有文件名&#xff1a; QDir dir("folder_path"); QStringList files dir.entryList(QDir::Files);Copy 其中&#xff0c;folder_path为文件夹的路径&#xff0c;files为获取到的所有…

开始学习 Kafka,一文掌握基本概念|Kafka 系列 一

如果你还不了解 Kafka&#xff0c;或者也打算深入探索、系统学习&#xff0c;那么欢迎有同样目标的小伙伴可以加群交流&#xff0c;让学习之路不再孤独。 一个人可能走的很快&#xff0c;但是一群人会走的更远。&#xff08;后台回复&#xff1a;加群&#xff09; 点击上方“后…

双端冒泡排序

双端冒泡排序是对传统冒泡排序的改进&#xff0c;其主要改进在于同时从两端开始排序&#xff0c;相对于传统冒泡排序每次只从一端开始排序&#xff0c;这样可以减少排序的遍历次数。 传统冒泡排序从一端开始&#xff0c;每次将最大&#xff08;或最小&#xff09;的元素冒泡到…

spring-cache框架使用笔记

spring-cache框架使用笔记 什么是spring-cache框架 spring-cache是spring框架中的一个缓存抽象层&#xff0c; 它提供了一种简便的方式来集成不同的底层缓存实现&#xff0c; 如内存缓存(concurrentMap/ehcache/caffeine)/分布式缓存(redis/couchbase)等 它简化了在app中使用…

免费的ssl证书

免费的SSL证书对于保证网站的安全性和信任度来说是非常重要的。虽然有些人可能会认为&#xff0c;免费的SSL证书可能不如付费的证书有效&#xff0c;但事实并非如此。 首先&#xff0c;免费的SSL证书同样能够为网站提供加密与解密的功能。这意味着所有的数据将会在传输过程中被…