zoukankan      html  css  js  c++  java
  • grid布局

    [DOC]

    grid布局

    在网页中构建一个表格,将内容放到表格中进行布局

    用法:

    • display:grid;块级grid容器
    • display:inline-grid; 行内块级grid容器

    定义行与列

    • 每行行高 grid-template-rows

        1. grid-template-rows:150px 150px; 两行,每行高150px
        1. grid-template-rows:repeat(2,150px);效果同上
    • 每列列宽 grid-template-columns

        1. grid-template-columns: 150px 150px;两列,每列宽150px
        1. grid-template-columns:repeat(2,150px);效果同上
    • repeat() 设置重复值

    可以repeat(2,100px)两个每个100
    也可repeat(2,100px 200px) 一个100px一个200px 重复两遍

    • auto-fill 自动填充行或列

    grid-template-rows:repeat(auto-fill,100px) 每行100px,行数根据容器行高自动填充

    • fr 按比例划分

    grid-template-rows:1fr 1fr;分两份各占一份
    也可以 grid-template-rows: repeat(2,1fr)


    grid-template-rows:100px 1fr 100px;上下各100px ,中间自适应
    grid-template-columns:100px 1fr;左边100px,右边适应屏幕

    gap 行间距列间距

    gap:10px;行间距列间距=10
    gap:10px 15px;行间距10 列间距15

    网格线坐标

    将某个div移动到容器中的某个位置

    grid-row-start 行开始
    grid-row-end 行结束
    grid-column-start 列开始
    grid-column-start 列结束

    列如.将一个1放到 6

    横/纵坐标:

    1           2           3             4
    
    ▔▔▔▔▔▔▔▔▔▔▏|▔▔▔▔▔▔▔▔▔▔▏|▔▔▔▔▔▔▔▔▔▔▏    1
    ▏1:div:one ▏|    2      ▏|     3     ▏ 
               ▏|           ▏|           ▏    
    ▏          ▏|           ▏|           ▏    
    ▔▔▔▔▔▔▔▔▔▔  ▔▔▔▔▔▔▔▔▔▔▔ ▔▔▔▔▔▔▔▔▔▔     2
    ▔▔▔▔▔▔▔▔▔▔▏|▔▔▔▔▔▔▔▔▔▔▏|▔▔▔▔▔▔▔▔▔▔▏        
    ▏   4      ▏|     5     ▏|    6      ▏
    ▏          ▏|           ▏|           ▏
    ▏          ▏|           ▏|           ▏    3
    ▔▔▔▔▔▔▔▔▔▔  ▔▔▔▔▔▔▔▔▔▔▔ ▔▔▔▔▔▔▔▔▔▔▔  
    ▔▔▔▔▔▔▔▔▔▔▏|▔▔▔▔▔▔▔▔▔▔▏|▔▔▔▔▔▔▔▔▔▔▏        
    ▏   7      ▏|    8      ▏|    9      ▏
    ▏          ▏|           ▏|           ▏
    ▏          ▏|           ▏|           ▏    4
    ▔▔▔▔▔▔▔▔▔▔  ▔▔▔▔▔▔▔▔▔▔  ▔▔▔▔▔▔▔▔▔▔▔ 
    
    .one{
        grid-row-start:3;
        grid-row-end:4;
        grid-column-start:2;
        grid-column-start:3;
    }
    

    在上一个元素移动之后,元素位置并不会空出而是由下一个元素补上

    网格线命名

    在设置行高列宽时为其命名

    1.直接命名

    grid-template-rows:[x1] 100px [x2] 100px [x3] 100px [x4];
    grid-template-columns:[y1] 100px [y2] 100px [y3] 100px [y4];

    x1         x2          x3         x4
    |         |           |           |
    |▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|▔▔y1
    |1:div:one|    2      |     3     | 
    |         |           |           |    
    |         |           |           |    
    |▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|▔▔y2       
    |   4     |     5     |    6      |
    |         |           |           |
    |         |           |           |    
    |▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|▔▔y3      
    |   7     |    8      |    9      |
    |         |           |           |
    |         |           |           |    
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔y4
    
    • 通过网格线进行位移
        .ond{
            grid-row-start:x3;
            grid-row-end:x4;
            grid-column-start:y3;
            grid-column-end:y4;
        }
    
    2.repeat()命名

    grid-template-rows:repeat(3,[x] 100px [x-end])
    grid-template-columns:repeat(3,[y] 100px [y-end])

    • 通过网格线进行位移
        .ond{
            grid-row-start:x 3;
            grid-row-end:x 4;
            grid-column-start:span 1;
            grid-column-end:span 3;
        }
    

    简写属性 grid-row & grid-column

    • grid-row 第一个值表示grid-row-start,第二个值表示grid-row-end,两个值用/间隔
    • grid-column 第一个值grid-column-start,第二个值grid-column-end

    span关键字 横/纵跨越指定单元格

    grid-row:1/span 1;
    grid-column:1/ span 3;从1开始占据1整行,即格子123的位置


    grid-row: 2 / span 2;
    grid-column: 2 / span 1;

    grid-area 设置具体单元格位置

    grid-area:开始行 开始列 结束行 结束列;


    可以给每个元素设置所占位置

    grid-template-areas区域命名

    grid-area 设置占据整行

    按照格子位置命名

        div{
            500px;
            height:500px;
            display:grid;
            grid-template-rows:repeat(3,1fr);
            grid-template-columns:repeat(3,1fr);
            grid-template-areas:'header header header' 'nav1 nav2 nav3' 'footer footer footer';
            /* //上下两块分别叫header footer ,中间被分成三部分分别命名为nav1 nav2 nav3 */
        }
        header{
            grid-area:header;
            background:#222;
        }
    

    如某些区域不想命名则用 '. '占位

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

               |▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|
               |           |           |           | 
               |  header   |  header   | header    |    
               |           |           |           |    
               |           |           |           |    
               |▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔| 
               |           |           |           | 
               |   nav1    |    nav2   |    nav3   |    
               |           |           |           |    
               |           |           |           |    
               |▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔| 
               |           |           |           | 
               |  footer   |   footer  |  footer   |    
               |           |           |           |    
               |           |           |           |    
               ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔   
    

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    grid-auto-flow 改变排列方式

    默认排列方式:grid-auto-flow:row;
    竖直排列 :grid-auto-flow:column;


    grid-auto-flow:row dense; 当存在剩余空间时强制填满

    justify-content 调整元素在容器中水平位置

    align-content 元素在容器之中垂直位置

    属性值

    • start 默认值。项目位于容器的开头。

    • end 项目位于容器的结尾。

    • center 项目位于容器的中心。

    • space-between 项目位于各行之间留有空白的容器内。

    • space-around 项目位于各行之前、之间、之后都留有空白的容器内。


    justify-content:center;
    align-content:end;
    可简写为place-content:end center ;

    place-content:align-content justify-content

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

               |▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|
               | 1         |  2        |  3        | 
               |           |           |           |    
               |           |           |           |    
               |           |           |           |    
               ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔   
    

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    justify-items & align-items 元素在单元格中的位置 水平方向位置&垂直方向位置

    justify-items:center;
    align-items:center;
    每个元素在单元格内水平垂直居中
    可简写为place-items:center center;

    place-items:align-items justify-items


    justify-self & align-self 单独设置元素在某个单元格中的位置

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

               |▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|
               |           |           |           | 
               |     1     |     2     |    3      |    
               |           |           |           |    
               |           |           |           |    
               ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔   
    

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    justify-self:end;
    align-self:end;//元素在容器右下角
    可简写为 place-self:end end;

    place-self:align-self justify-self

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

               |▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|▔▔▔▔▔▔▔▔▔▔|
               |           |           |           | 
               |           |     2     |    3      |    
               |           |           |           |    
               |         1 |           |           |    
               ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔   
    

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

  • 相关阅读:
    蓝鲸6.02双机部署文档
    蓝鲸考试
    蓝鲸6.03部署[部署方案优化]
    kubeadm部署高可用版Kubernetes1.21[基于centos7.6]
    Linux命令行优化,历史记录优化
    vim插件
    蓝鲸6.02部署与蓝鲸6.02自动化部署
    git生成公钥私钥和ppk
    Oracle的数据库日志(redolog)的使用说明
    oracle 11g的审计功能
  • 原文地址:https://www.cnblogs.com/dudududadada/p/15000864.html
Copyright © 2011-2022 走看看