page contents

display、float、position的关系?

轩辕小不懂 发布于 2021-12-04 11:21
阅读 414
收藏 0
分类:WEB前端开发
  • CSS
  • 2575
    Nen
    Nen
    - 程序员

    (1)首先判断display属性是否为none,如果为none,则position和float属性的值不影响元素最后的表现。

    (2)然后判断position的值是否为absolute或者fixed,如果是,则float属性失效,并且display的值应该被设置

    为table或者block,具体转换需要看初始转换值。

    (3)如果position的值不为absolute或者fixed,则判断float属性的值是否为none,如果不是,则display的值则

    按上面的规则转换。注意,如果position的值为relative并且float属性的值存在,则relative相对于浮动后的最终位

    置定位。

    (4)如果float的值为none,则判断元素是否为根元素,如果是根元素则display属性按照上面的规则转换,如果

    不是,则保持指定的display属性值不变。

    总的来说,可以把它看作是一个类似优先级的机制,”position:absolute”和”position:fixed”优先级最高,有它存在

    的时候,浮动不起作用,’display’的值也需要调整;其次,元素的’float’特性的值不是”none”的时候或者它是根元

    素的时候,调整’display’的值;最后,非根元素,并且非浮动元素,并且非绝对定位的元素,’display’特性值同设

    置值。


    请先 登录 后评论