zoukankan      html  css  js  c++  java
  • CSS定位的三种机制:普通流、绝对定位和浮动

    1.普通流:
    • position : static – 元素框正常生成。即上述不对元素进行任何样式设置的默认形态。
    • position : relative (此时设置top, right, bottom, left生效) – 相对于它的原点定位,元素仍保持其未定位前的形状,它原本所占的空间仍保留。

    例如:

    CSS定位的三种机制:普通流、绝对定位和浮动
    CSS定位的三种机制:普通流、绝对定位和浮动

    定位前:

    CSS定位的三种机制:普通流、绝对定位和浮动

    定位后:

    CSS定位的三种机制:普通流、绝对定位和浮动

    可以看出,div1相对于之前的位置,距离top偏移了40px,距离left偏移了60px。

    注:top:40px指的是距上偏移40px,而不是向上偏移40px。

    2.绝对定位:
    • position : absolute – 将该元素从文档流中删除,原来的占位不再存在,并相对于其最近的已定位祖先元素定位(如果不存在已定位的祖先元素,则相对于其根祖先元素定位,即或<</span>canvas>)。不论该元素为块级元素还是内联级元素,定位后该元素将以块级元素的形式显示。

    例如:

    CSS定位的三种机制:普通流、绝对定位和浮动
    CSS定位的三种机制:普通流、绝对定位和浮动

    定位前:

    CSS定位的三种机制:普通流、绝对定位和浮动

    定位后:

    CSS定位的三种机制:普通流、绝对定位和浮动

    • position : fixed – 与absolute 大致相同,只是相对于当前视窗定位(即滚动条滑动时当前元素位置不会随之改变)。

    注1:绝对定位的元素不在文档流中,因此会覆盖其他元素。

    注2:设置当前元素position : absolute时,应将其父元素position : relative。

    3.浮动:
    • l float : left 或float : right –- 将元素从原来的占位中删除,向左或向右漂浮,直到碰到包含块的边框,或另一浮动元素的边框为止。不论该元素为块级元素还是内联级元素,定位后该元素将以块级元素的形式显示。

    注:只有在position为static或relative,或继承了父元素的static或relative时,浮动才生效。

    浮动场景:

    • 浮动框总体宽度超过容器:浮动框块下移,直到有足够的空间

    CSS定位的三种机制:普通流、绝对定位和浮动

    • 各浮动框高度不同:下移的浮动框有可能被“卡住”

    CSS定位的三种机制:普通流、绝对定位和浮动

  • 相关阅读:
    Revit二次开发示例:DisableCommand
    Revit二次开发示例:DesignOptions
    C# 非模式窗体show()和模式窗体showdialog()的区别
    Revit二次开发示例:DeleteObject
    被动永远做不好运维
    sudo开发常用命令总结
    ansible 配置了端口在host文件但是还要走22 ip:60001 ansible_ssh_port=60001
    ansible wc -l 对结果值取大小的操作
    mha切换脚本可用的
    mongoDB自动杀执行时间的连接
  • 原文地址:https://www.cnblogs.com/xinran476460042/p/5407736.html
Copyright © 2011-2022 走看看