CSS Position定位(详解网页中的定位属性)

目录

一、Position介绍

1.概念

2.特点

3.作用

4.应用

 二、Position用法

1.position属性

 2.static定位

3.fixed定位

4.relative定位

5.absolute定位

6.sticky定位

7.重叠的元素

三、CSS定位属性

四、总结


一、Position介绍

1.概念

  • 文档流(Document Flow):HTML元素默认按照文档流从上到下依次排列,形成页面布局。
  • 定位:定位是指通过CSS将元素摆放到指定位置的技术,不受文档流的限制。

2.特点

  • 相对位置(Relative Positioning):相对于元素原本在文档流中的位置进行定位,偏移量会影响周围元素的位置。
  • 绝对位置(Absolute Positioning):相对于最近的已定位的祖先元素进行定位,如果不存在已定位的祖先元素,则相对于初始包含块进行定位。
  • 固定位置(Fixed Positioning):相对于视口(viewport)进行定位,元素会随着页面滚动而保持固定位置。
  • 粘性位置(Sticky Positioning):元素在滚动到达特定位置时变为固定定位,直到滚动超过了指定的偏移量,此时恢复为相对定位。

3.作用

  • 精确布局:定位允许开发者将元素放置在精确的位置上,而不受文档流的约束。
  • 图层叠加:通过定位,可以控制元素的层叠顺序,实现图层叠加效果。
  • 响应式设计:定位可以帮助开发者实现响应式设计,使元素在不同设备上的位置保持一致或变化。

4.应用

  • 导航菜单:通过绝对定位可以实现悬浮式的导航菜单。
  • 弹出框:使用绝对或固定定位可以实现弹出式的提示框或对话框。
  • 轮播图:通过相对定位和层叠顺序,可以实现轮播图中图片的切换效果。
  • 响应式布局:使用粘性定位可以在页面滚动时使元素保持在页面的特定位置,提供更好的用户体验。

 二、Position用法

1.position属性

  • static
  • relative
  • fixed
  • absolute
  • sticky

 2.static定位

HTML 元素的默认值,即没有定位,遵循正常的文档流对象。

静态定位的元素不会受到 top, bottom, left, right影响。

div.static {
    position: static;
    border: 3px solid #73AD21;
}

效果如下:

3.fixed定位

元素的位置相对于浏览器窗口是固定位置。

即使窗口是滚动的它也不会移动:

p.pos_fixed
{
    position:fixed;
    top:30px;
    right:5px;
}

效果如下:

4.relative定位

相对定位元素的定位是相对其正常位置。

h2.pos_left
{
    position:relative;
    left:-20px;
}
h2.pos_right
{
    position:relative;
    left:20px;
}

5.absolute定位

absolute 定位使元素的位置与文档流无关,因此不占据空间。

absolute 定位的元素和其他元素重叠。

h2
{
    position:absolute;
    left:100px;
    top:150px;
}

6.sticky定位

sticky 英文字面意思是粘,粘贴,所以可以把它称之为粘性定位。

position: sticky; 基于用户的滚动位置来定位。

粘性定位的元素是依赖于用户的滚动,在 position:relativeposition:fixed 定位之间切换。

它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。

元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位。

这个特定阈值指的是 top, right, bottom 或 left 之一,换言之,指定 top, right, bottom 或 left 四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。

div.sticky {
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 0;
    background-color: green;
    border: 2px solid #4CAF50;
}

7.重叠的元素

元素的定位与文档流无关,所以它们可以覆盖页面上的其它元素

z-index属性指定了一个元素的堆叠顺序(哪个元素应该放在前面,或后面)

一个元素可以有正数或负数的堆叠顺序:

三、CSS定位属性

属性说明CSS
bottom定义了定位元素下外边距边界与其包含块下边界之间的偏移。auto
length
%

inherit
2
clip剪辑一个绝对定位的元素shape
auto
inherit
2
cursor显示光标移动到指定的类型url
auto
crosshair
default
pointer
move
e-resize
ne-resize
nw-resize
n-resize
se-resize
sw-resize
s-resize
w-resize
text
wait
help
2
left定义了定位元素左外边距边界与其包含块左边界之间的偏移。auto
length
%

inherit
2
overflow设置当元素的内容溢出其区域时发生的事情。auto
hidden
scroll
visible
inherit
2
overflow-y指定如何处理顶部/底部边缘的内容溢出元素的内容区域auto
hidden
scroll
visible
no-display
no-content
2
overflow-x指定如何处理右边/左边边缘的内容溢出元素的内容区域auto
hidden
scroll
visible
no-display
no-content
2
position指定元素的定位类型absolute
fixed
relative
static
inherit
2
right定义了定位元素右外边距边界与其包含块右边界之间的偏移。auto
length
%

inherit
2
top定义了一个定位元素的上外边距边界与其包含块上边界之间的偏移。auto
length
%

inherit
2
z-index设置元素的堆叠顺序number
auto
inherit
2

四、总结

  1. 定位属性(position)

    • 用于指定元素的定位方式,可选值包括相对定位(relative)、绝对定位(absolute)、固定定位(fixed)和粘性定位(sticky)。
  2. 相对定位(Relative Positioning)

    • 元素相对于其正常位置进行定位,通过设置top、right、bottom和left属性进行偏移。
  3. 绝对定位(Absolute Positioning)

    • 元素相对于其最近的已定位祖先元素(或初始包含块)进行定位,不再占据文档流,可以通过设置top、right、bottom和left属性进行定位。
  4. 固定定位(Fixed Positioning)

    • 元素相对于视口进行定位,始终保持在页面的固定位置,不会随页面滚动而移动。
  5. 粘性定位(Sticky Positioning)

    • 元素在滚动到达特定位置时变为固定定位,直到滚动超过了指定的偏移量,此时恢复为相对定位。
  6. 层叠顺序(z-index)

    • 控制定位元素的层叠顺序,具有更高z-index值的元素将覆盖具有较低值的元素。
  7. 定位参照物

    • 绝对定位的元素的位置相对于其最近的已定位的祖先元素,如果不存在已定位的祖先元素,则相对于初始包含块进行定位。
  8. 定位的应用

    • 用于实现精确布局、图层叠加、响应式设计等,在导航菜单、弹出框、轮播图等场景中广泛使用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【从后端日志文件中过滤出sql语句】

从后端日志文件中过滤出sql语句 why?思路日志文件的格式 结果 why? 为什么会有这种需求?,mysql数据不小心被删了完全可以从备份数据恢复,或者从binlog中恢复,但是如果前面这两种方法没办法处理(没有备份数据库文件、…

ray.tune调参学习笔记1:超参数优化器tuner设置

最近研究中学习使用python的ray.tune进行神经网络调参。在这里记录学习过程中的收获,希望能够帮助到有同样需求的人。学习过程主要参考ray官网文档,但由于笔者使用的ray为2.2.0版本,而官方文档为更高级版本,笔者代码和官方文档代码…

数字藏品:重塑艺术与科技的新媒介

数字藏品,这个新兴的词汇,正在逐渐渗透到我们的日常生活中。它不仅是一种新的艺术表达方式,更是一种科技与艺术相结合的全新媒介。那么,数字藏品究竟是什么呢? 首先,我们需要明确一点,数字藏品并…

qt QTreeWidget 学习

树形控件的节点可以有多层、多个子节点, 如果将子节点全部展开,那么每一行都是一个数据条目。QTreeWidgetItem 比较特殊,一个条目内部可以有多列数据信息,相当于表格控件一整行的表格单元集成为一个条目。 默认情况下,…

ELK技术介绍:背景、功能及应用场景全面解析

一、ELK概述 ELK是由Elasticsearch、Logstash和Kibana三个开源软件组成的日志管理解决方案,这一组合在近年来得到了广泛的关注和应用。ELK的出现,源于大数据和云计算技术的快速发展,以及对高效日志管理的迫切需求。 随着企业信息化程度…

Nginx 配置 SSL(HTTPS)详解

Nginx作为一款高性能的HTTP和反向代理服务器,自然支持SSL/TLS加密通信。本文将详细介绍如何在Nginx中配置SSL,实现HTTPS的访问。 随着互联网安全性的日益重要,HTTPS协议逐渐成为网站加密通信的标配。Nginx作为一款高性能的HTTP和反向代理服务…

6、ES单机设置用户名密码、集群设置用户名密码、es-head登录、如何去掉密码

目录 一、ES单节点密码配置1、修改配置文件2、 重启es服务3,执行修改密码命令4、访问服务 二、ES集群密码配置1、确定主节点2、生成elastic-stack-ca.p123、生成elastic-certificates.p124、修改配置文件并重启集群5、进行密码配置6、验证 三、es-head登录增加密码的…

ABAP json解析使用引用代替预定义数据结构

背景:在解析JSON数据时,通常会事先为定义相应的ABAP数据结构。但是,当遇到一些结构纵深较为复杂的情况时,会比较麻烦。 处理:使用引用类型来定义结构中的纵深部分来达到“省事”的目的,缺点在于访问时需要使…

Docker——开源的应用容器的引擎

目录 一、前言 1.虚拟化产品有哪些 1.1寄居架构 1.2源生架构 2.虚拟化产品对比/介绍 2.1虚拟化产品 2.1.1仿真虚拟化 2.1.2半虚拟化 2.1.3全虚拟化 2.2重点 2.2.1KVM——Linux内核来完成的功能和性能 2.2.2ESXI——用的比较多 二、Docker概述 1.Docker定义 2.Do…

赋能智慧校园!A3D数字孪生可视化,轻量又高效!

放假之后,学生们会逐步返学,大量人员出入校园,安全更是不容忽视,如何在短时间内对大批人员及设施进行智能监管?数字化转型是关键手段,我们可以融合线上线下数据,搭建3D立体的智慧校园&#xff0…

智能合约——提案demo

目录 这是一个超超超级简单的智能合约提案项目,你确定不点进来看一下吗? 引言: 1、搭建开发环境: 2、编写智能合约: 3、部署智能合约: ​编辑​编辑4、编写前端交互代码(使用web3.js&…

MyBatis源码之MyBatis中SQL语句执行过程

MyBatis源码之MyBatis中SQL语句执行过程 SQL执行入口 我们在使用MyBatis编程时有两种方式&#xff1a; 方式一代码如下&#xff1a; SqlSession sqlSession sqlSessionFactory.openSession(); List<Student> studentList sqlSession.selectList("com.sjdwz.da…

C语言——自定义数据类型(结构体内存对齐)

C语言中不只有内置类型诸如 int 、float、char 等类型&#xff0c;还有自定义数据类型&#xff0c;本文主要探讨结构体&#xff08;struct&#xff09;、联合体&#xff08;union&#xff09;、枚举&#xff08;enum&#xff09;三种自定义数据类型。 在我之前的文章《C语言—…

WPF2 样式布局

样式布局 WPF中的各类控件元素, 都可以自由的设置其样式。 诸如: 字体(FontFamily) 字体大小(FontSize) 背景颜色(Background) 字体颜色(Foreground) 边距(Margin) 水平位置(HorizontalAlignment) 垂直位置(VerticalAlignment) 等等。 而样式则是组织和重用以上的重要工具。…

解码Linux中的Shell:一探脚本起源、发展与变量数据类型之奥秘

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Linux &#xff1a;从菜鸟到飞鸟的逆袭》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、前言 1、Linux的起源与发展 2、什么是Shell脚本 3、Sh…

MySQL面试——聚簇/非聚簇索引

存储引擎是针对表结构&#xff0c;不是数据库 引擎层&#xff1a;对数据层以何种方式进行组织 update&#xff1a;加索引&#xff1a;行级锁&#xff1b;不加索引&#xff1a;表级锁

LabVIEW专栏七、队列

目录 一、队列范例二、命令簇三、队列应用1.1、并行循环队列1.2、命名队列和匿名队列1.2.1、命名队列1.2.2、匿名队列 1.3、长度为1的队列 队列是一种特殊的线性表&#xff0c;就是队列里的元素都是按照顺序进出。 队列的数据元素又称为队列元素。在队列中插入一个队列元素称为…

HNCTF 2022 week1 题解

自由才是生活主旋律。 [HNCTF 2022 Week1] Interesting_include <?php //WEB手要懂得搜索 //flag in ./flag.phpif(isset($_GET[filter])){$file $_GET[filter];if(!preg_match("/flag/i", $file)){die("error");}include($file); }else{highlight_…

OSPF的协议特性

路由汇总的概念 l 路由汇总&#xff08; Route Aggregation &#xff09;&#xff0c;又称路由聚合&#xff08;Route Summarization&#xff09;&#xff0c;指的是把一组明细路由汇聚成一条汇总路由条目的操作 l 路由汇总能够减少路由条目数量、减小路由表规模&#xff0…

目标检测——3D玩具数据集

在数字化时代&#xff0c;计算机视觉技术取得了长足的进展&#xff0c;其中基于形状的3D物体识别技术更是引起了广泛关注。该技术不仅有助于提升计算机对现实世界物体的感知能力&#xff0c;还在多个领域展现出了广阔的应用前景。本文将探讨基于形状的3D物体识别实验的重要性意…