美文网首页
浮动&定位

浮动&定位

作者: 小御茶 | 来源:发表于2018-05-15 22:37 被阅读0次

    关于浮动

    浮动元素会脱离正常的文档流,按照其外边距指定的位置相对于它的上一个块级元素(或父元素)显示
    浮动元素后面的块级元素的内容会向此浮动元素的外边距靠齐,但是边框和背景却忽略浮动元素而向上一个任意非浮动元素靠齐
    浮动元素后面的内联元素会向此浮动元素的外边距靠齐
    float造成的影响:
    1、对其父元素的影响
    对于其父元素来说,元素浮动之后,它脱离当前正常的文档流,所以它也无法撑开其父元素,造成父元素的塌陷
    2、对其兄弟元素(非浮动)的影响
    如果兄弟元素为块级元素,该元素会忽视浮动元素的而占据它的位置,并且元素会处在浮动元素的下层(并且无法通过z-index属性改变他们的层叠位置),但它的内部文字和其他行内元素都会环绕浮动元素。
    3、对其兄弟元素(浮动)的影响
    同一个方向的浮动元素:当一个浮动元素在浮动过程中碰到同一个方向的浮动元素时,它会紧跟在它们后面
    反方向的浮动元素:互不影响,位于同一条水平线上,当空间不够时会被挤下
    4、对子元素的影响
    当一个元素浮动时,在没有清除浮动的情况下,它无法撑开其父元素,但它可以让自己的浮动子元素撑开它自身,并且在没有定义具体宽度情况下,使自身的宽度从100%变为自适应(浮动元素display:block)。其高度和宽度均为浮动元素高度和非浮动元素高度之间的最大值。

    清除浮动

    清除由于子元素浮动带来父元素高度塌陷的影响。
    1.在浮动元素末尾添加一个空的标签。
    2.使用:after伪元素,给需要清楚浮动的元素增加一个clearfix类
    .clearfix::after{
    content:'';
    display:block;
    clear:both;
    }
    3.父元素也设置浮动

    几种定位方式

    1.static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
    2.relative 生成相对定位的元素,相对于其正常位置进行定位。因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
    3.absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
    4.fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

    相关文章

      网友评论

          本文标题:浮动&定位

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