美文网首页
CSS网格布局

CSS网格布局

作者: 焦糖大瓜子 | 来源:发表于2019-05-19 17:11 被阅读0次

1.先思考如何几个元素块布局需要考虑什么因素?


image.png
  • 元素大小(长宽)
  • 元素间的间距
  • 元素之前放置的顺序
  • 元素内部元素的放置顺序
<style>
      /* 设置容器属性 */
        .container{
            display: grid;
            grid-template-columns: 100px auto 200px;
            grid-template-rows: 100px;
            grid-gap: 10px;
        }

        /* 设置item属性 */
        .item{
            justify-self: center
        }
</style>

 <div class="container">
        <div class="item">left</div>
       <div class="item">main</div>
       <div class="item">right</div>
    </div>

2、 网格布局思维导图

搜狗截图20190519162444.png

2.1 容器属性

  • 控制元素宽和高的属性:grid-template-columns, grid-template-row
  • 控制元素间距的属性:grid-grap
  • 控制元素排序方向的: grid-auto-flow
  • 控制元素放置顺序的位置: grid-template;
  • 控制整个容器盒子的位置: place-content(包含 justify-content和align-content)
  • 控制item内容和位置: place-items(justify-items和align-items)

2.2 项目属性

  • 控制item的宽高: grid-column, grid-row
  • 控制item在grid-template-area定义的位置: grid-area
  • 控制item内容放置位置place-self(justify-items,align-items)
  1. 应用实例
    3.1 双飞翼布局


    image.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>双飞翼布局</title>
    <style>
        /* 设置容器属性 */
        .container{
            display: grid;
            grid-template-columns: 100px auto 200px;
            grid-template-rows: 100px;
            grid-gap: 10px;
        }

        /* 设置item属性 */
        .item{
            justify-self: center
        }

        .left{background-color: lightgreen}
        .main{background-color: lightcoral}
        .right{background-color: lightpink}
        .container div{
            font-size: 60px;
            text-align: center;
        }
        .header{
            grid-column: 1/ 4;
        }
        .footer{
            grid-column: 1/ 4;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="header">header</div>
        <div class="left">left</div>
        <div class="main">main</div>
        <div class="right">right</div>
        <div class="footer">footer</div>
    </div>
</body>
</html>

2.2 响应式布局


image.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Grid实现响应式布局</title>
    <style>

        /* 响应式布局 */
        .wrapper{
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(192px, 1fr));
            grid-gap: 5px;
        }
        
        /* 多栅格布局 */
        /* .wrapper{
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            grid-gap: 5px;
        } */

        .item{
            background-color: lightskyblue;
        }
    </style>
    
</head>
<body>
    <div class="wrapper">
        <div class="item">item1</div>
        <div class="item">item2</div>
        <div class="item">item3</div>
        <div class="item">item4</div>
        <div class="item">item5</div>
        <div class="item">item6</div>
        <div class="item">item7</div>
        <div class="item">item8</div>
        <div class="item">item9</div>
        <div class="item">item10</div>
        <div class="item">item11</div>
        <div class="item">item12</div>
    </div>
</body>
</html>

参考:
CSS Grid 网格布局教程- 阮一峰

相关文章

  • 布局

    CSS网格布局引入了二维网格布局系统,可用于布局页面主要的区域布局或小型组件。本文介绍了CSS网格布局 与 CSS...

  • 九宫格拖拽

    效果实例 简单了解Grid布局(网格布局) 什么是网格布局 CSS网格布局(又称“网格”),是一种二维网格布局系统...

  • 九宫格拖拽

    效果实例 简单了解Grid布局(网格布局) 什么是网格布局 CSS网格布局(又称“网格”),是一种二维网格布局系统...

  • CSS Grid网格布局

    参考资料 CSS Grid 网格布局教程 - 阮一峰 概述 网格布局(Grid)是最强大的 CSS 布局方案。 它...

  • CSS Grid 网格布局

    CSS Grid 网格布局教程

  • CSS Grid

    CSS Grid Layout是CSS为布局新增的一个网格布局的模块,网格布局主要针对Web应用程序开发。 Fle...

  • CSS布局

    1、CSS Grid 网格布局教程 2、Flex 布局教程:语法篇(骰子布局,网格布局,百分百布局,圣杯布局......

  • Grid布局指南

    简介CSS网格布局(又称“网格”),是一种二维网格布局系统。CSS在处理网页布局方面一直做的不是很好。一开始我们用...

  • Grid布局(一)介绍

    一、前言 Grid布局,又叫网格布局,是最强大的CSS布局方案;Grid将网页分成了一个个的网格,通过CSS样式,...

  • 两步构建 CSS Grid

    3月7号,谷歌、火狐统一更新了浏览器,加入 CSS Grid 网格布局。为什么新的 CSS Grid 网格布局值得...

网友评论

      本文标题:CSS网格布局

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