【学习笔记】CSS深入理解之absolute「建议收藏」

【学习笔记】CSS深入理解之absolute「建议收藏」【学习笔记】CSS深入理解之absolute

大家好,又见面了,我是你们的朋友全栈君。

《张鑫旭的CSS深入理解之absolute》学习笔记

绝对定位的特性

绝对定位与浮动相似,都有破坏性和包裹性。浮动的一些应用场景中也可用绝对定位替代

绝对定位的行为表现

无依赖绝对定位元素

在未手动定位的情况下,绝对定位元素有以下特性

  • 去float化 – float属性将会失效
  • 跟随性 – 根据原有位置脱离文档流放置

无依赖绝对定位元素 —— 即未手动定位的绝对定位元素

无依赖绝对定位元素的使用

无依赖绝对定位元素可以使用margin值进行定位,实现脱离文档流的相对定位效果,脱离文档流可以解决溢出限制的问题

应用实例:

  1. 图标定位:角标之类的可以使用DOM位置结合绝对定位margin偏移实现定位,不一定要使父容器成为包含块
  2. 下拉框定位:下拉框和输入框之间的联系可以使用绝对定位margin偏移实现
  3. 边缘定位:利用跟随性,使元素跟随空白字符放置
  4. 图标对齐和文本溢出处理

绝对定位脱离文档流

  • 绝对定位+动画,避免回流和重绘
  • 覆盖层级,z-index + 绝对定位 > 后置绝对定位元素 > 前置绝对定位元素 > z-index > 普通元素
    https://codepen.io/curlywater…

绝对定位和width/height

  • 无固定width/height,绝对定位方向是对立的(如left vs right, top vs bottom)的时候,绝对定位元素拉伸。可应用于宽高自适应
  • 有固定width/height,绝对定位拉伸失效
  • 固定width + left + right,相当于元素有了一个固定宽度,这时使用margin: auto可达到居中效果

总结

绝对定位相对于包含块定位;
在日常使用种,一般会习惯性对父容器使用relative,使用top/bottom/left/right来脱离文档流的绝对定位;
但无依赖绝对定位元素结合margin偏移使用也可以实现一些实用的效果。

利用绝对定位元素脱离文档流的特性,使用动画可以避免大范围的回流和重绘。

绝对定位元素拉伸实现宽高自适应,可应用于大范围的布局。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107149.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 面试官:说说Vue响应式原理

    面试官:说说Vue响应式原理Vue2 和 Vue3 的响应式原理前言 vue2 的响应式原理主要使用的是 Object defineProper 里面需要传入三个参数 分别是 响应源数据的对象 源数据中的需要读写的属性 相对应的对象方法 包含了 get 和 set 方法 vue3 的响应式原理主要依靠的是 ES6 新增的 Proxy 方法 需要在 Proxy 的实例对象中传入两个参数 源数据对象 处理对象的方法 get set deleteProper 等 从自己个人来说 vue3 感觉比 vue2 更简单了 很多方法封装的更方便使用可以直接在

    2025年9月26日
    5
  • Angular面试题_angular面试

    Angular面试题_angular面试必看https://www.cnblogs.com/yugege/p/6526215.htmlangularjs是mvc还是mvvm框架?首先阐述下你对mvc和mvvm的理解首先为什么我们会需要MVC?因为随着代码规模越来越大,切分职责是大势所趋,还有为了后期维护方便,修改一块功能不影响其他功能。还有为了复用,因为很多逻辑是一样的。而MVC只是手段,终极目标是模块化和复用。mvvm的优点…

    2022年10月18日
    2
  • labview噪声发生器_labview示波器显示两个波形

    labview噪声发生器_labview示波器显示两个波形当今的电子元器件与过去相比,开关切换速度更快,斜率(slewrate)更大、每个封装包含的有源针脚数量更多,信号摆动更小。因此,设计者更加关注从手机到服务器等新数字设计中的电源噪声。通常我们使用示波器测量电源噪声。本应用指南举例说明了使用示波器分析电源噪声的各种技术,并讨论了如何选择和评测电源噪声测量工具。现在面临的精准测量的问题随着开关切换速度和信号斜率的升高以及器件上有源针脚数目的…

    2022年10月10日
    3
  • webpack-dev-server简记

    webpack-dev-server简记

    2022年3月5日
    211
  • 关于用户态和内核态的理解和认识_计算机内核态和用户态

    关于用户态和内核态的理解和认识_计算机内核态和用户态究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子:1)例子C代码1.     void testfork(){  2.     if(0 = = fork()){  3.     printf(“create new process su

    2022年9月18日
    2
  • plsql直接连接远程数据库_mysql切换数据库命令

    plsql直接连接远程数据库_mysql切换数据库命令前言每次安装Oracle以后,都会出现使用plsql连接不上的问题!多次重启电脑、重装系统的磨人经历之后,终于做出这么一篇文章,希望能帮助广大技术人员减少一些时间,顺利进行连接。注:也可以用plsql连接远程数据库(只要有oracle的network\admin\tnsnames.ora就行)。首先下载64位oracle以及32位轻量级客户端(注意版本的对应,我用的是11g的oracl……

    2022年8月29日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号