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


相关推荐

  • rootfs文件_clang编译android内核

    rootfs文件_clang编译android内核ramdisk.img是编译Android生成的一个镜像文件,最后和kernel一起打包生成boot.img镜像。ramdisk.img中主要是存放android启动后第一个用户进程init可执行文件和init.*.rc等相关启动脚本以及sbin目录下的adbd工具。fileramdisk.img//ramdisk.img:gzipcompresseddata,fromUnix看出为g…

    2022年10月7日
  • ubuntu中利用ffmeg将短视频转化为动图.gif.「建议收藏」

    ubuntu中利用ffmeg将短视频转化为动图.gif.「建议收藏」命令:ffmpeg-ss00:00:1-i/home/jiangcm/Pictures/session_gpus_pre.mp4-to00:00:8-r4-vfscale=700:-1/home/jiangcm/Pictures/session_gpus_pre.gif解读:-ss00:00:1:表示从第1秒开始;-i:表示invert,转换,后面跟着转换的视频;-to:表示结束时间;-r4:4帧率;vfscale=700:-1:制定宽度,高度为原来的倍;/ho

    2022年9月14日
  • pytorch安装详细步骤[通俗易懂]

    pytorch安装详细步骤[通俗易懂]环境:win10+anaconda注:anaconda安装步骤略,以下步骤默认anaconda已安装。(三)安装pytorch3.1创建虚拟环境<1>打开anacondaprompt<2>打开AnacondaPrompt之后,在命令行输入:condacreate–namepytorchpython=3.8.1注意,这里的pytorch是虚拟环境的名称,可随意取。3.8.1是我机器上的python版本,可结合自己安装的python版本灵活

    2022年6月24日
  • Js生成二维码_怎样用excel生成二维码

    Js生成二维码_怎样用excel生成二维码JS生成二维码,以下介绍3种方法????QR码生成器(在线,反应慢)       ????api说明       ????使用说明<h2>QR码</h2><!–data=后面的链接换成需要的链接即可–><imgstyle=”width:120px;height:120px;

    2022年10月18日
  • JSTL详解_jstl if else

    JSTL详解_jstl if elseJSTL标签库的使用是为类弥补html表的不足,规范自定义标签的使用而诞生的。在告别modle1模式开发应用程序后,人们开始注重软件的分层设计,不希望在jsp页面中出现java逻辑代码,同时也由于自定

    2022年8月2日
  • Mac 双系统之windows坏了咋办

    Mac 双系统之windows坏了咋办1背景Macmini装了个双系统。windows系统太慢,准备重装,本来想着直接恢复出厂,结果根本不能这么操作。由于默认启动盘设置的是windows系统,然后就出现了,起不来的情况,其实之前也遇到过,就是忘了,折腾了好久这里记录一下。2解决方案重启系统听到声响后,按住win+r知道出现相关的操作界面,接下来迎刃而解!!!!是按住win+r,不是ctrl也不是alt+r…

    2022年10月6日

发表回复

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

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