HTML5のソース・ノート(5)[アショカの教室でのトレーニング専門のフロントエンド]

一般的なレイアウト

1.1 固定レイアウト基本レイアウト

1.2 パーセント分布フローレイアウト

heigth パディングマージンの使用率のレイアウト

パディングマージン親要素に相対的な幅をパーセンテージで設定されています

高さ、親要素の割合の高さに対する相対が提供されています

インタビューの質問:

 

境界線は使用できません%の書き込みを

絶対配置要素、もし%の書き込み高さパディング、それぞれ、参照は、親要素を参照して、その位置で、幅高さこれは、すでに最も近い親要素に配置されています


  <DIV ID = "コンテナ">

        <! - の<div> </ div> - >

    </ div>

 

        体{

            マージン:0;

        }

        #容器{

            / *高さ:200pxの。

            幅:200pxの。* /

            幅:50%;

            パディングトップ:50%;

            / *パディング:100ピクセル; * /

            / *マージン:200pxの自動; * /

            国境:固体1pxの。

        }

 

        #containerのDIV {

            高さ:50%;

            幅:50%; / * ここでは、ボックスの内容の幅を意味し、50%* /

            国境:固体1pxの。

        }

 

1.3 固体比レイアウト固体

左サイドバーの一定割合の物流センター

    <DIV CLASS = "コンテンツ">

        </さておき> <さておきクラス= "左">

        <余談クラス= "右"> </さておき>

        <DIV CLASS = "メイン"> </ div>

    </ div>

 

        体{

            マージン:0;

        }

 

        さておき、{.main

            / * ボックスの最小の高さを設定します* /

            分の高さ:200pxの。

        }

 

        aside.left {

            フロート:左;

            幅:270px;

            background: yellow;

        }

 

        aside.right{

            float:right;

            width: 300px;

            background: red;

        }

 

        .main{

            /* 设置最小宽度 */

            min-width: 800px;

            width: 100%;

            background: orange;;

        }

 

 

思考?

两边固定,中间自适应,且中间栏优先渲染。

 

1.4 圣杯布局  

出自外国a list of part 上的一篇文章,圣杯外文的意思是渴求之物的意思

思想:利用float   然后结合margin   用父元素padding挤出中间被遮盖的内容  最后用相对定位调节左右边栏进行填充

 

    <div class="content clear">

        <div class="main">中间主要内容</div>

        <aside class="left">左边栏</aside>

        <aside class="right">右边栏</aside>

    </div>

 

        body{ margin: 0; }

 

        .clear::after{

            display: block;

            height: 0;

            content: '';

            clear: both;

            visibility: hidden;

        }

 

        .content{

            padding:  0 300px 0 270px;

            border: solid 1px;

        }

        

        aside,.main{

            /* 设置盒子的最小高度 */

            min-height: 200px;

        }

 

        .main{

            /* box-sizing: border-box; */

            float: left;

            /* 设置最小宽度 */

            min-width: 800px;

            width: 100%;

            /* padding: 0 300px 0 270px; */

            background: orange;;

        }

 

        aside.left{

            float: left;

            width: 270px;

            margin-left: -100%;

            background: yellow;

 

            position: relative;

            left: -270px;

        }

 

        aside.right{

            float: left;

            width: 300px;

            margin-left: -300px;

            background: red;

 

            position: relative;

            right: -300px;

        }

 

 

1.5 双飞翼布局

由淘宝的UED团队在页面开发时产生的灵感,来源于页面布局

大体思路和圣杯布局相同,不同之处 在中间主要内容上套了一层盒子,然后使用的是margin来解决中间栏文字显示的问题,不再需要定位

<div class="content clear">

        <div class="main">

            <div>

                中间主要内容

            </div>

        </div>

        <aside class="left">左边栏</aside>

        <aside class="right">右边栏</aside>

    </div>

 

        body{ margin: 0; min-width: 900px;}

 

        .clear::after{

            display: block;

            height: 0;

            content: '';

            clear: both;

            visibility: hidden;

        }

 

        .content{

            border: solid 1px;

        }

        

        aside,.main{

            /* 设置盒子的最小高度 */

            min-height: 200px;

        }

 

        .main{

            float: left;

            min-width: 300px;

            width: 100%;

            background: orange;;

        }

 

        .main div{

            margin: 0 320px 0 290px;

            background: pink;

        }

 

        aside.left{

            float: left;

            width: 270px;

            margin-left: -100%;

            background: yellow;

        }

 

        aside.right{

            float: left;

            width: 300px;

            margin-left: -300px;

            background: red;

        }

 

1.6 弹性布局

Display:flex || inline-flex;   可以设置盒子为弹性盒容器

弹性盒子可以用来进行空白空间的分配和子元素的排列方式

弹性盒子组成:弹性盒容器 弹性子元素

弹性盒子不会影响子元素和盒容器其他属性的渲染

 

<div class="flex-box">

        <div class="box1">1</div>

        <div class="box2">2</div>

        <div class="box3">3</div>

        <div class="box4">4</div>

        <!-- <div class="box1">1</div>

        <div class="box2">2</div>

        <div class="box3">3</div>

        <div class="box4">4</div>

        <div class="box1">1</div>

        <div class="box2">2</div>

        <div class="box3">3</div>

        <div class="box4">4</div>

        <div class="box1">1</div>

        <div class="box2">2</div>

        <div class="box3">3</div>

        <div class="box4">4</div>

        <div class="box1">1</div>

        <div class="box2">2</div>

        <div class="box3">3</div>

        <div class="box4">4</div>

        <div class="box1">1</div>

        <div class="box2">2</div>

        <div class="box3">3</div>

        <div class="box4">4</div> -->

    </div>

 

        .flex-box{

            /* 设置容器为弹性盒容器 */

            display: flex;

            /* 设置排列顺序 row  row-reverse  column column-reverse*/

            /* flex-direction:column-reverse; */

            /* 设置是否强制换行 no-wrap wrap wrap-reverse*/

            /* flex-wrap: wrap; */

            /* 设置主轴方向空白空间的分配 flex-start flex-end center space-between space-around*/

            justify-content: space-around;

 

            border: solid 1px;

            /* overflow: hidden; */

        }

 

        .flex-box div{

            height: 100px;

            width: 200px;

            /* margin-left: 60px; */

            /* float: left; */

        }

 

        .flex-box div.box1{

            background: red;

        }

 

        .flex-box div.box2{

            background: yellow;

        }

 

        .flex-box div.box3{

            background: green;

        }

 

        .flex-box div.box4{

            background: blue;

        }

 

1.7 设置文本垂直居中的方式

Line-height  设置单行文本垂直居中

Padding  

表格 v-align

1.8 设置容器垂直居中方式

Padding  

Marin 配合 translateY

 定位 translateY

Align-items

おすすめ

転載: www.cnblogs.com/Vhaomei0452/p/11390333.html