zoukankan      html  css  js  c++  java
  • CSS3----grid布局实例

    <html>
    
    <head>
        <meta charset="utf-8">
        <title>CSS3----grid布局实例</title>
        <meta name="keyword" content="CSS3----grid布局实例">
        <meta name="discription" content="CSS3----grid布局实例">
    </head>
    
    <body>

        <style>

        body {
             100%;
            height: 50%;
        }
        .container1 {
             50%;
            height: 50%;
            display: inline-grid;
            grid-template-columns: 30% 40% 10%;
            grid-template-rows: 20% 40%;
            background-color: #F2F2F2;
        }
    
        .container1 .item {
            border: 1px solid red;
        }
        </style>
        <h2>1.grid-template-columns/grid-template-rows</h2>
        <p>
            使用空格分割多个值来定义网格的列和行的大小.这些值表示轨道的大小
        </p>
        <div class="container1">
            <div class="item item-1">111</div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-1">111</div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
        </div>






        <style>
        .container2 {
             50%;
            height: 50%;
            display: inline-grid;
            grid-template-columns: 200px 1fr 1fr;
            grid-template-rows: 20% 40%;
            background-color: #F2F2F2;
        }
    
        .container2 .item {
            border: 1px solid red;
        }
        </style>
        <h2>2.grid-auto-columns/grid-auto-rows</h2>
        <p></p>
        <div class="container2">
            <div class="item item-1">111</div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-1">111</div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
        </div>







        <style>
        .container3 {
             50%;
            height: 50%;
            display: inline-grid;
            grid-template-columns: 50px 50px 50px 50px;
            grid-template-rows: 1fr 1fr 1fr;
            grid-template-areas: "header header header header" "main main . sidebar" "footer footer footer footer"
        }
    
        .container3 .item {
            border: 1px solid red;
        }
    
        .container3 .item-1 {
            grid-area: header;
        }
    
        .container3 .item-2 {
            grid-area: main;
        }
    
        .container3 .item-3 {
            grid-area: sidebar;
        }
    
        .container3 .item-4 {
            grid-area: footer;
        }
        </style>
        <h2>3.grid-area</h2>
        <p>指定网格区域的名称来定义网格模板(属性:grid-template-areas;区域名:grid-areas)</p>
        <div class="container3">
            <div class="item item-1">header</div>
            <div class="item item-2">main</div>
            <div class="item item-3">sidebar</div>
            <div class="item item-4">footer</div>
        </div>







        <style>
        .container4 {
             50%;
            height: 50%;
            display: inline-grid;
            grid-template-columns: 1fr 1fr 1fr;
            grid-template-rows: 1fr 1fr;
            background-color: #F2F2F2;
            grid-column-gap: 5px;
            grid-row-gap: 5px;
        }
    
        .container4 .item {
            border: 1px solid red;
        }
        </style>
        <h2>4.grid-column-gap/grid-row-gap</h2>
        <div class="container4">
            <div class="item item-1">111</div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-1">111</div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
        </div>







        <style>
        .container5 {
             50%;
            height: 50%;
            display: inline-grid;
            grid-template-columns: 1fr 1fr 1fr;
            grid-template-rows: 1fr 1fr;
            background-color: #F2F2F2;
            grid-gap: 10px;
        }
    
        .container5 .item {
            border: 1px solid red;
        }
        </style>
        <h2>5.grid-gap: 10px</h2>
        <h3>1fr:(百分比)</h3>
        <div class="container5">
            <div class="item item-1">111</div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-1">111</div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
        </div>







     

        <style>
        .container6 {
             50%;
            height: 50%;
            display: inline-grid;
            grid-template-columns: 1fr 1fr 1fr;
            grid-template-rows: 1fr 1fr;
            background-color: #F2F2F2;
            grid-gap: 10px;
        }
    
        .container6-1 {
            justify-items: left;
        }
    
        .container6-2 {
            justify-items: right;
        }
    
        .container6-3 {
            justify-items: center;
        }
    
        .container6-4 {
            justify-items: stretch;
        }
    
        .container6-1 .item,
        .container6-2 .item,
        .container6-3 .item,
        .container6-4 .item {
            border: 1px solid red;
        }
        </style>
        <h2>6.justify-items</h2>
        <p>网格内容水平轴对齐方式:</p>
        <p>start:左端对齐</p>
        <div class="container6 container6-1">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
        </div>
        <p>end:右端对齐</p>
        <div class="container6 container6-2">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
        </div>
        <p>center: 居中对齐</p>
        <div class="container6 container6-3">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
        </div>
        <p>stretch: 伸展对齐</p>
        <div class="container6 container6-4">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
        </div>







    <style> .container7 { 50%; height: 50%; display: inline-grid; grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr 1fr; background-color: #F2F2F2; grid-gap: 10px; } .container7-1 { align-items: start; } .container7-2 { align-items: end; } .container7-3 { align-items: center; } .container7-4 { align-items: stretch; } .container7 .item { border: 1px solid red; } </style> <h2>7.align-items</h2> <p>网格内容垂直轴对齐方式:</p> <p>start:上端对齐</p> <div class="container7 container7-1"> <div class="item item-1"> <div>222</div> </div> <div class="item item-2">222</div> <div class="item item-3">333</div> <div class="item item-4">111</div> </div> <p>end:下端对齐</p> <div class="container7 container7-2"> <div class="item item-1"> <div>222</div> </div> <div class="item item-2">222</div> <div class="item item-3">333</div> <div class="item item-4">111</div> </div> <p>center: 居中对齐</p> <div class="container7 container7-3"> <div class="item item-1"> <div>222</div> </div> <div class="item item-2">222</div> <div class="item item-3">333</div> <div class="item item-4">111</div> </div> <p>stretch: 伸展对齐</p> <div class="container7 container7-4"> <div class="item item-1"> <div>222</div> </div> <div class="item item-2">222</div> <div class="item item-3">333</div> <div class="item item-4">111</div> </div>






    <style>
        .container8 {
             50%;
            height: 50%;
            display: inline-grid;
            grid-template-columns: 200px 200px 200px;
            grid-template-rows: 1fr 1fr;
            background-color: #F2F2F2;
            grid-gap: 10px;
        }
    
        .container8-1 {
            justify-content: start;
        }
    
        .container8-2 {
            justify-content: end;
        }
    
        .container8-3 {
            justify-content: center;
        }
    
        .container8-4 {
            justify-content: stretch;
        }
    
        .container8-5 {
            justify-content: space-around;
        }
    
        .container8-6 {
            justify-content: space-between;
        }
    
        .container8-7 {
            justify-content: space-evenly;
        }
    
    
        .container8 .item {
            border: 1px solid red;
        }
        </style>
        <h2>8.justify-content</h2>
        <p>网格水平轴对齐方式(网格总大小可能小于父容器的大小):</p>
        <p>start:左端对齐</p>
        <div class="container8 container8-1">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
        </div>
        <p>end:右端对齐</p>
        <div class="container8 container8-2">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
        </div>
        <p>center: 居中对齐</p>
        <div class="container8 container8-3">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
        </div>
        <p>stretch: 伸展对齐</p>
        <div class="container8 container8-4">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
        </div>
        <p>space-around: 网格之间均等间隙,两端间隙减半</p>
        <div class="container8 container8-5">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
        </div>
        <p>space-between: 网格之间相等间隙,两端无间隙</p>
        <div class="container8 container8-6">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
        </div>
        <p>space-evenly: 网格之间间隙想的,包括两端</p>
        <div class="container8 container8-7">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
        </div>









    
        <style>
        .container9 {
             50%;
            height: 50%;
            display: inline-grid;
            grid-template-columns: 200px 200px 200px;
            grid-template-rows: 20px 20px;
            background-color: #F2F2F2;
            grid-gap: 10px;
        }
    
        .container9-1 {
            align-content: start;
        }
    
        .container9-2 {
            align-content: end;
        }
    
        .container9-3 {
            align-content: center;
        }
    
        .container9-4 {
            align-content: stretch;
        }
    
        .container9-5 {
            align-content: space-around;
        }
    
        .container9-6 {
            align-content: space-between;
        }
    
        .container9-7 {
            align-content: space-evenly;
        }
    
    
        .container9 .item {
            border: 1px solid red;
        }
        </style>
        <h2>9.align-content</h2>
        <p>网格垂直轴对齐方式(网格总大小可能小于父容器的大小):</p>
        <p>start:上端对齐</p>
        <div class="container9 container9-1">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
            <div class="item item-4">111</div>
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
            <div class="item item-4">111</div>
        </div>
        <p>end:下端对齐</p>
        <div class="container9 container9-2">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
            <div class="item item-4">111</div>
        </div>
        <p>center: 居中对齐</p>
        <div class="container9 container9-3">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
            <div class="item item-4">111</div>
        </div>
        <p>stretch: 伸展对齐</p>
        <div class="container9 container9-4">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
            <div class="item item-4">111</div>
        </div>
        <p>space-around: 网格之间均等间隙,两端间隙减半</p>
        <div class="container9 container9-5">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
            <div class="item item-4">111</div>
        </div>
        <p>space-between: 网格之间相等间隙,两端无间隙</p>
        <div class="container9 container9-6">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
            <div class="item item-4">111</div>
        </div>
        <p>space-evenly: 网格之间间隙想的,包括两端</p>
        <div class="container9 container9-7">
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
            <div class="item item-1">
                <div>222</div>
            </div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">111</div>
            <div class="item item-4">111</div>
        </div>









    <style> .container10 { 50%; height: 50%; display: grid; background-color: #F2F2F2; grid-template-columns: 60px 90px; /* 定义行单位的宽度 */ grid-template-rows: 60px 90px; /* 定义高单位的宽度 */ grid-gap: 5px; } .container10 .item { border: 1px solid red; } .container10 .item-1 { grid-column: 1/2; grid-row: 2/3; } .container10 .item-2 { grid-column: 5/6; grid-row: 2/3; } </style> <h2>10.grid-auto-columns/grid-auto-rows</h2> <p> 指定自动生成的网格轨道的大小 </p> <div class="container10"> <div class="item item-1">111</div> <div class="item item-2">222</div> </div>






        <style>
        .container11 {
             400px;
            height: 200px;
            display: grid;
            background-color: #F2F2F2;
            grid-auto-columns: 60px 60px 60px 60px 60px;
            /* 定义行单位的宽度  */
            grid-template-rows: 60px 60px;
            /* 定义高单位的宽度   */
        }
    
        .container11-1 {
            grid-auto-flow: column;
        }
    
        .container11-2 {
            grid-auto-flow: row;
        }
    
        .container11-3 {
            grid-auto-flow: dense;
        }
    
        .container11 .item {
            border: 1px solid red;
            box-sizing: border-box;
        }
    
        .container11 .item-1 {
            grid-column: 1;
            grid-row: 1 / 3;
        }
    
        .container11 .item-5 {
            grid-column: 5;
            grid-row: 1 / 3;
        }
        </style>
        <h2>11.grid-auto-flow</h2>
        <p>
            如果没有指定放置位置,放置算法会自动放置这些项目
        </p>
        <p>
            row: 一次填充每行,根据需要添加新行
        </p>
        <div class="container11 container11-1">
            <div class="item item-1">111</div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">444</div>
            <div class="item item-5">555</div>
        </div>
        <p>
            column: 一次填充每列,根据粗腰添加新列
        </p>
        <div class="container11 container11-2">
            <div class="item item-1">111</div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">444</div>
            <div class="item item-5">555</div>
        </div>
        <p>
            dense: 后面出现比较小的item,则尝试在网格中填充
        </p>
        <div class="container11 container11-3">
            <div class="item item-1">111</div>
            <div class="item item-2">222</div>
            <div class="item item-3">333</div>
            <div class="item item-4">444</div>
            <div class="item item-5">555</div>
        </div>







        <style>
        .container12 {
             240px;
            height: 240px;
            display: grid;
            background-color: #F2F2F2;
            grid-template-columns: 60px 60px 60px 60px;
            grid-template-rows: 60px 60px 60px 60px;
        }
    
        .container12 .item {
            border: 1px solid red;
            box-sizing: border-box;
        }
    
        .container12 .item-1 {
            grid-column-start: 2;
            grid-column-end: 4;
            grid-row-start: 2;
            grid-row-end: 4;
        }
        </style>
        <h2>12.grid-column-start/grid-column-end/grid-row-start/grid-row-end</h2>
        <p>
            定义item的具体位置(水平开始/水平结束/垂直开始/垂直结束)
        </p>
        <div class="container12">
            <div class="item item-1">111</div>
        </div>








        <style>
        .container13 {
             240px;
            height: 240px;
            display: grid;
            background-color: #F2F2F2;
            grid-template-columns: 60px 60px 60px 60px;
            grid-template-rows: 60px 60px 60px 60px;
        }
    
        .container13 .item {
            border: 1px solid red;
            box-sizing: border-box;
        }
    
        .container13 .item-1 {
            grid-column: 2;
            grid-row: 2;
        }
        </style>
        <h2>13.grid-column/grid-row: grid-column-start/grid-column-end/grid-row-start/grid-row-end简写</h2>
        <p>
            定义item的具体位置(水平开始/水平结束/垂直开始/垂直结束)
        </p>
        <div class="container13">
            <div class="item item-1">111</div>
        </div>







        <style>
        .container14 {
             240px;
            height: 240px;
            display: grid;
            background-color: #F2F2F2;
            grid-template-columns: 60px 60px 60px 60px;
            grid-template-rows: 60px 60px 60px 60px;
        }
    
        .container14 .item {
            border: 1px solid red;
            box-sizing: border-box;
        }
    
        .container14 .item-1 {
            grid-area: 2;
        }
        </style>
        <h2>14.grid-area: grid-column/grid-row简写</h2>
        <p>
            定义item的具体位置(水平开始/水平结束/垂直开始/垂直结束)
        </p>
        <div class="container14">
            <div class="item item-1">111</div>
        </div>








        <style>
    .container15 {
             240px;
            height: 240px;
            display: grid;
            background-color: #F2F2F2;
            grid-template-columns: 60px 60px 60px 60px;
            grid-template-rows: 60px 60px 60px 60px;
        }
    
        .container15 .item {
            border: 1px solid red;
            box-sizing: border-box;
            grid-column-start: 2;
            grid-column-end: 4;
            grid-row-start: 2;
            grid-row-end: 4;
        }
    
        .container15-1 .item-1 {
            justify-self: start;
        }
    
        .container15-2 .item-1 {
            justify-self: end;
        }
    }
    .container15-3 .item-1 {
        justify-self: center;
    }
    .container15-4 .item-1 {
        justify-self: stretch;
    }
        </style>
        <h2>15.justify-self</h2>
        <p>
            item内容水平对齐方式
        </p>
        <p>start: item内容水平右对齐</p>
        <div class="container15 container15-1">
            <div class="item item-1">111</div>
        </div>
        <p>end: item内容水平右对齐</p>
        <div class="container15 container15-2">
            <div class="item item-1">111</div>
        </div>
        <p>center: item内容水平左对齐</p>
        <div class="container15 container15-3">
            <div class="item item-1">111</div>
        </div>
        <p>stretch: item内容水平居中对齐</p>
        <div class="container15 container15-4">
            <div class="item item-1">111</div>
        </div>









        <style>
    .container16 {
             240px;
            height: 240px;
            display: grid;
            background-color: #F2F2F2;
            grid-template-columns: 60px 60px 60px 60px;
            grid-template-rows: 60px 60px 60px 60px;
        }
    
        .container16 .item {
            border: 1px solid red;
            box-sizing: border-box;
            grid-column-start: 2;
            grid-column-end: 4;
            grid-row-start: 2;
            grid-row-end: 4;
        }
    
        .container16-1 .item-1 {
            align-self: start;
        }
    
        .container16-2 .item-1 {
            align-self: end;
        }
    }
    .container16-3 .item-1 {
        align-self: center;
    }
    .container16-4 .item-1 {
        align-self: stretch;
    }
        </style>
        <h2>16.align-self</h2>
        <p>
            item内容垂直对齐方式
        </p>
        <p>start: item内容垂直右对齐</p>
        <div class="container16 container16-1">
            <div class="item item-1">111</div>
        </div>
        <p>end: item内容垂直右对齐</p>
        <div class="container16 container16-2">
            <div class="item item-1">111</div>
        </div>
        <p>center: item内容垂直左对齐</p>
        <div class="container16 container16-3">
            <div class="item item-1">111</div>
        </div>
        <p>stretch: item内容垂直居中对齐</p>
        <div class="container16 container16-4">
            <div class="item item-1">111</div>
        </div>
    </body>
    
    </html>
    

      

  • 相关阅读:
    01、MySQL_简介
    算法—打擂台法
    第10章 对文件的输入输出
    第9章 用户自己建立数据类型
    Spring Cloud
    JUC
    Swagger Learing
    JUC
    Spring Data
    SpringCloud
  • 原文地址:https://www.cnblogs.com/SunlikeLWL/p/8952804.html
Copyright © 2011-2022 走看看