zoukankan      html  css  js  c++  java
  • 浮动布局 流式布局 定位布局

    高级布局

    一、文档流(normal flow)

    1、概念

    本质为normal flow(普通流、常规流)将窗体自上而下分成一行一行,块级元素从上至下、行内元素在每行中从左至右的顺序依次排放元素。
    
    v_hint:本质不存在文档流概念,当一个错误的概念被绝大数人认为是对的,那么它就是对的

    2、BFC(Block formatting context)

    块级格式化上下文,它是一个独立的渲染区域,只有Block-level box参与,它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。
    

    3、BFC规则

    ① 内部的Box会在垂直方向,一个接一个地放置;
    ② Box自身垂直方向的位置由margin-top决定,属于同一个BFC的两个相邻Box的margin会发生重叠;
    ③ Box自身水平方向的位置由margin左或右决定(具体已经参照BFC方位),属于同一个BFC的两个相邻Box的margin会发生叠加。
    

    二、浮动布局

    1、解决的经典案例

    <style type="text/css">
        .box {
             300px;
            border: 1px solid black;
        }
        .box img {
             150px;
            float: left;
        }
    </style>
    <div class="box">
        <img src="bg.gif" alt="">
        浮动布局解决的经典案例,浮动布局解决的经典案例,浮动布局解决的经典案例,浮动布局解决的经典案例,浮动布		局解决的经典案例,浮动布局解决的经典案例,浮动布局解决的经典案例,浮动布局解决的经典案例,浮动布局解决		的经典案例,浮动布局解决的经典案例,浮动布局解决的经典案例,浮动布局解决的经典案例,浮动布局解决的经典		案例,浮动布局解决的经典案例,浮动布局解决的经典案例,浮动布局解决的经典案例。
    </div>
    

    2、基本语法

    float: left | right
    

    3、浮动布局问题

    • 在不做清浮动情况下,父级不会获取子级的高度

    4、清浮动

    • 目的:对父级所在容器中的Block-level Box布局不产生影响
    • 原理:在浮动布局情况下,让父级获得合适的高度
    ① 浮动的父级设置高度
    super {
        height: npx;
    }
    ② 浮动的父级设置overflow
    super {
        overflow: hidden;
    }
    ③ 浮动的父级兄弟设置clear
    brother {
        clear: left | right | both;
    }
    ④ 浮动的父级伪类清浮动
    super:after {
        content: "";
        display: block;
        clear: left | right | both;
    }
    

    三、流式布局

    1、解决的经典案例

    <style type="text/css">
        .wrap {
            max- 1200px;
            min- 800px;
             90%;
            height: 600px;
            margin: 0 auto;
            background-color: orange;
        }
    </style>
    <div class="wrap"></div>
    

    2、流式布局相关操作

    ① 百分比设置 %
    ② 窗口比设置 vw | vh
    ③ 字体控制 em | rem
    

    四、定位布局

    1、解决的经典案例

    <style type="text/css">
    	.ad {
    		 150px;
    		height: 320px;
    		background-color: orange;
    		position: fixed;
    		top: calc(50vh - 160px);
    		left: 0;
    	}
    </style>
    <div class="ad"></div>
    br*100
    

    2、定位的语法

    position: static | relative | absolute | fixed
    布局方位:left | right | top | bottom
    

    3、相当定位(relative)

    ① 未脱离文档流
    ② 以自身原有位置作为参考坐标系
    

    4、绝对定位(absolute)

    ① 脱离文档流
    ② 以最近定位父级作为参考坐标系
    

    5、固定定位(fixed)

    ① 脱离文档流
    ② 以文档窗口作为参考坐标系
    

    6、z-index

  • 相关阅读:
    Educational Codeforces Round 10 C. Foe Pairs 水题
    Educational Codeforces Round 10 B. z-sort 构造
    CDOJ 1048 Bob's vector 三分
    Educational Codeforces Round 10 A. Gabriel and Caterpillar 模拟
    第14届电子科大初赛民间盗版部分题目题解
    HDU 5654 xiaoxin and his watermelon candy 离线树状数组 区间不同数的个数
    HDU 5653 Bomber Man wants to bomb an Array. dp
    HDU 5652 India and China Origins 二分+并查集
    HDU 5651 xiaoxin juju needs help 数学
    HDU 5650 so easy 数学
  • 原文地址:https://www.cnblogs.com/layerluo/p/9709945.html
Copyright © 2011-2022 走看看