CSS 中 position 有哪些值
2022-11-19
1274 字约 5 分钟
...-
position:允许您从正常的文档流布局中取出元素,并使它们具有不同的行为,例如放在另一个元素的上面,或者始终保持在浏览器视窗内的同一位置。
-
static:静态定位是每个元素获取的默认值——它只是意味着“将元素放入它在文档布局流中的正常位置 ——这里没有什么特别的。 -
relative:与静态定位非常相似,占据在正常的文档流中,除了你仍然可以修改它的最终位置,包括让它与页面上的其他元素重叠。- 如果不设置 top,right,bottom,left,则基本与static 表现一致
- 设置了 top,right,bottom,left 后,会使元素做对应的偏移
-
absolute:绝对定位的元素不再存在于正常文档布局流中。相反,它坐在它自己的层独立于一切。- 绝对定位设置位置偏移之后,是相对于其父级元素
- 如果父级元素为 static ,则会相对于其父级的父级元素,如果没有找到非 static 值的父级元素,则最终会相对于 html
- 相对父级元素是非 static 意味着,父级是 relative、absolute、fixed、sticky 均可
- 最佳实践是用一个 relative 的父级包裹
-
fixed:固定定位,与 absolute 的唯一区别是,固定定位固定元素则是相对于浏览器视口本身 -
sticky:粘性定位,它基本上是相对位置和固定位置的混合体,它允许被定位的元素表现得像相对定位一样,直到它滚动到某个阈值点(例如,从视口顶部起10像素)为止,此后它就变得固定了。- 是相对于视口位置
- 如果这个元素的父级是 body ,则达到其阈值点后,会一直固定在设置的位置
- 如果这个元素的父级是其他元素,则达到其阈值点后,会固定在设置的位置,但是当其父级元素已不在视口中时,则当前元素也会消失在视口中
知识拓展
- 当元素设置了如 static、relative、sticky 等值时,再设置 margin-top 等属性,会影响父元素,这里可以用 BFC 相关知识解决
- 所有的 position 属性,如果不设置改变其位置的 top、left、right、bottom 等属性,均不会有位置变化
- z-index 作用于所有 position 非 static 属性的元素上
- 除了上述 5 种属性值之外,position 还有 4 种取值,但归根结底是5种类型,9 种取值:
- inherit:规定应该从父元素继承 position 属性的值,inherit 关键字可用于任何 HTML 元素上的任何 CSS 属性,兼容:ie7及以下版本不支持此属性
- initial:设置positon的值为默认值(static),兼容:ie不支持此属性
- unset:设置positon的值为不设置,即为 static
- 如果该属性的默认属性是 继承属性(例如字体相关的默认属性基本都是继承),该值等同于 inherit
- 如果该属性的默认属性 不是继承属性(例如pisition的默认属性为static),该值等同于 initial
- revert:指定恢复 user-agent 的设置,如果用户有设置,则为用户设置,否则为浏览器默认设置
如果您觉得这篇文章有帮助,请点个赞吧~
相关文章
更多文章 →css2025-03-04
CSS 实现文本省略显示【单行,2行,多行】
在 中,长文本内容可能会超出其容器的范围。为了保持良好的用户体验,我们通常会将超出的文本部分以省略号显示。本文将详细介绍如何在CSS中限制文本显示一行、两行或多行,超过部分显示省略号。 1\. 前言 限制文本显示长度并以省略号表示超出部分是常见的需求。通过CSS,可以简单地实现这一效果。我们将分别介绍单行文本、省略两行文本和多行文本的实现方法。 2\. 单行文本省略 要实现单行文本省略,主要使用以下CSS属性: : 禁止文本换行。 :...
学习面试
css2025-03-04
css中,有哪些方式可以隐藏页面元素?区别?
一、前言 在平常的样式排版中,我们经常遇到将某个模块隐藏的场景 通过 隐藏元素的方法有很多种,它们看起来实现的效果是一致的 但实际上每一种方法都有一丝轻微的不同,这些不同决定了在一些特定场合下使用哪一种方法 二、实现方式 通过 实现隐藏元素方法有如下: display:none visibility:hidden opacity:0 设置height、width模型属性为0 position:absolute clip path dis...
学习面试
css2025-03-04
css实现正方形的几种方案及优缺点
前言 在电商、个人博客等网站我们或多或少都可以看到css正方形的应用场景,自适应正方形布局是必须要掌握的;接下来采黎带大家揭开css自适应正方形神秘的面纱 正方形 这很简单,设置盒子宽高都为200px就可以了 自适应正方形 青铜 提起自适应,想必都会想到 rem 、 vw 等相对单位,我们分别用这些单位来实现一下。 rem 屏幕宽度大于1200px时,字体为16px,rem的盒子的大小为 160px \ 160px; 屏幕宽度小于120...
学习面试
css2025-03-04
Flexbox 弹性布局
一、是什么 简称 box,意为”弹性布局”,是一种一维的布局模型。一次只能处理一个维度上的元素布局,一行或者一列。 采用Flex布局的元素,称为 容器( ),简称”容器“;它的所有子元素自动成为容器成员,称为 项目( ),简称”项目“。 容器中默认存在两条轴, 主轴 和 交叉轴 。项目默认沿主轴排列,通过 来决定主轴的方向。 每根轴都有起始线和终止线,用来描述flexbox元素的方向。 任何一个容器都可以指定为 布局。设为 Flex 布...
学习面试
css2025-03-04
提升CSS渲染性能
1\. 提升CSS渲染性能: 2\. 合适使用css选择器: 3\. 提升css文件加载的性能: 4\. 精简css代码: 5\. 合理使用web fonts: 6\. css动画优化:
学习面试
css2024-08-29
CSS 终于在 2024 年增加了垂直居中功能
在 2024 年的 CSS 原生属性中允许使用 1 个 CSS 属性 进行垂直居中。 支持情况: | Chrome: 123 | Firefox: 125 | Safari: 17.4 | | | | | CSS 对齐一般会使用 或 布局,因为 在默认的流式布局中不起作用。在 2024 年,浏览器实现了 。 你不需要 flexbox 或 grid,只需要 1 个 CSS 属性就可以进行对齐。 因此内容不需要包裹在 div 中。 令人惊讶...
学习面试
评论
请登录后发表评论
去登录