浮动

作者: antimony | 来源:发表于2019-03-08 23:27 被阅读0次

    浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响?

    特征:

    • 浮动元素会脱离正常的文档流,按照其外边距指定的位置相对于它的上一个块级元素(或父元素)显示
    • 浮动元素后面的块级元素的内容会向此浮动元素的外边距靠齐,但是边框和背景却忽略浮动元素而向上一个任意非浮动元素靠齐
    • 浮动元素后面的内联元素会向此浮动元素的外边距靠齐

    float造成的影响:
    1、对其父元素的影响
    对于其父元素来说,元素浮动之后,它脱离当前正常的文档流,所以它也无法撑开其父元素,造成父元素的塌陷。

    2、对其兄弟元素(非浮动)的影响

    • 如果兄弟元素为块级元素,该元素会忽视浮动元素的而占据它的位置,并且元素会处在浮动元素的下层(并且无法通过z-index属性改变他们的层叠位置),但它的内部文字和其他行内元素都会环绕浮动元素。
    • 如果如果兄弟元素为内联元素,则元素会环绕浮动元素排列。

    3、对其兄弟元素(浮动)的影响

    • 同一个方向的浮动元素:当一个浮动元素在浮动过程中碰到同一个方向的浮动元素时,它会紧跟在它们后面
    • 反方向的浮动元素:互不影响,位于同一条水平线上,当空间不够时会被挤下

    4、对子元素的影响
    当一个元素浮动时,在没有清除浮动的情况下,它无法撑开其父元素,但它可以让自己的浮动子元素撑开它自身,并且在没有定义具体宽度情况下,使自身的宽度从100%变为自适应(浮动元素display:block)。其高度和宽度均为浮动元素高度和非浮动元素高度之间的最大值。


    清除浮动指什么?如何清除浮动? 两种以上方法。

    在非IE浏览器(如Firefox)下,当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象。这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理,就叫CSS清除浮动。
    方法一:
    overflow: hidden

    <div class="links">
      <a href="#" class="forget">忘了密码?</a>
      <a href="#" class="register">注册新账号</a>
    </div>
    .links { overflow: hidden; }
    .links .forget { float: left; }
    .links .register { float: right; }
    

    方法二:
    .clearfix

    .clearfix::after {
      content: '';
      clear: both;
      display: block;
    }
    

    方法三:
    在浮动元素下方放一个空的非浮动元素。


    有几种定位方式?分别是如何实现定位的?参考点是什么?使用场景是什么?

    有五种定位方式,分别是:

    1.静态定位

    position: static 默认值 默认的布局方式。

    2.相对定位

    position: relative 相对默认的布局位置进行定位。

    相对定位就是“相对自己定位”。

    .avatar {
      top: 3px;
      left: 7px;
      position: relative;
    }
    

    3.绝对定位

    position: absolute绝对定位元素脱离正常文档流,相对其定位上下文(Positioning Context)进行定位。

    4.定位上下文 Positioning Context

    定位上下文就是值绝对定位元素相对哪个元素定位,默认的定位上下文是 <html>。

    假如你想设定某个绝对定位元素的定位上下文,则需要在这个元素的某个祖先元素上设置 position: relative。

    4.固定定位

    position: fixed 相对浏览器窗口进行定位。因此当滚动产生时,固定定位元素依然处于窗口的某个固定位置。

    .feedback {
      right: 30px;
      bottom: 30px;
      position: fixed;
    }
    

    5.粘性定位

    position: sticky 是相对定位和固定定位的结合。默认情况下表现为相对定位,当浏览器窗口顶端与元素的距离等于 top 属性的值时,转变为固定定位。

    🌰 Macbook Pro 产品导航栏


    z-index 有什么作用? 如何使用?

    z-index 有什么作用?

    可以解决元素的覆盖问题,决定那个元素在上方,哪一个在下方;
    z-index的值可以是负数,也可以为0,也可以无群大,数值大的在上方;
    z-index父元素设置的值权重比较大,当两个父元素相比的时候,父元素起决定作用,其中的子元素设置多大都没有用;

    设置z-index之前
    设置之后

    相关文章

      网友评论

          本文标题:浮动

          本文链接:https://www.haomeiwen.com/subject/gyvdpqtx.html