【学习笔记】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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IT公司速查手册!

    IT公司速查手册! http://b1.tooyard.com/

    2022年7月16日
    25
  • 方法引用

    方法引用

    2021年11月12日
    41
  • pychrm激活码_通用破解码

    pychrm激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    67
  • ideavim怎么用_intellij idea使用教程2020

    ideavim怎么用_intellij idea使用教程2020IdeaVim-常用操作IdeaVim简介IdeaVim是IntelliJIDEA的一款插件,他提高了我们写代码的速度,对代码的跳转,查找也很友好。安装之后它在Tools>VimEmulator具体操作i模式i模式即为编辑模式,按下字母i开启就可以打字。Esc从i模式切换为Vim,按下键盘的Esc键切

    2022年9月30日
    3
  • JavaScript如何截取指定位置的字符串

    JavaScript如何截取指定位置的字符串我们在日常开发中,经常需要对字符串进行删除截取增加的操作,我们这次说一下使用JavaScript截取指定位置的字符串。**一、使用slice()截取**slice()方法可以通过指定的开始和结束位置,提取字符串的某个部分,并以新的字符串返回被提取的部分。它的参数有两个,start和end。start是必须填写的参数,规定从何处开始选取,如果是负数,就是从尾部倒着开始算。end是可选填写的参数,规定从何处结束选择,如果没有指定end的值的话,只有start,那么就是默认从start一直截取到结束的

    2022年5月20日
    29
  • c# break,continue,goto 跳出循环「建议收藏」

    c# break,continue,goto 跳出循环「建议收藏」1.break跳出循环protectedintTest1(){intindex=0;for(inti=0;i<5;i++){if(i==2){//单个循环,跳出整个for循环,//多个循环,跳出最内层for循环break;…

    2022年6月4日
    52

发表回复

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

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