• CSS(三)


    要点

    1.浮动盒子会脱离文文档流,不会在占用空间。

    2.非浮动元素几乎当浮动盒子根本不存在一样该怎么布局怎么布局不会被影响

    3.非浮动元素中的文本内容会记住浮动元素的大小,并在排布时避开它,为其留出响应的空间

    4.清除浮动本质:浏览器在非浮动元素的上方添加足够大的外边距,从而将元素的上边沿垂直向下移动到浮动元素的下方。

    使用浮动

    浮动盒子会脱离文档流,不会再占用空间。

    常规流中的其他块级盒子(非浮动元素)几乎当浮动盒子根本不存在一样该怎么布局怎么布局不会被影响。
    但是非浮动元素中的文本内容会记住浮动元素的大小,并在排布时避开它,为其留出响应的空间。
    事实上,浮动就是为了在网页中实现文本环绕图片的效果而引入的一种布局模型。

    清除浮动

    要阻止行盒子环绕在浮动盒子外面,需要给包含行盒子的元素应用clear属性,用于指定盒子的哪个一侧不应该紧挨着浮动盒子。
    浏览器会在清除浮动的元素上方添加足够大的外边距,从而将元素的上边沿垂直向下移动浮动元素的下方。
    如果要给已清除浮动的元素添加外边距,除非超过浏览器自动加的值,否则不会有什么效果。

    ::after

    BFC中浮动的处理

    补充

    当一个盒子中全是浮动元素时
    如果包含元素太窄,无法容纳所有浮动元素水平排列,则后面的浮动元素会向下移动。
    如果浮动元素的高度不同,则后面的浮动元素在向下移动时可能会卡在前面的浮动元素右侧。


    float影响display

    2020年7月9号补充:

    由于float意味着使用块布局,它在某些情况下修改display 值的计算值:

  • 相关阅读:
    登录被浏览器记住密码后,密码填充到密码框问题
    ThreadLocal为什么不使用Thread-value实现
    Linux AIO
    关于文件和socket读写的系统调用和库函数的一些小问题
    Maestro OAuth实现分析
    MySQL 两表join时加锁情况
    mysql基础之锁协议,事务隔离级别,加锁顺序
    MySQL中Timestamp和DateTime在JDBC和shell中的表现差异
    从git的问题模型理解git
    JVM类加载的符号解析
  • 原文地址:https://www.cnblogs.com/L-xmin/p/12952682.html
Copyright © 2020-2023  润新知