css3的学习

强大的display:grid

2018-04-02  本文已影响5184人  码代码的小公举

自从用习惯flex布局我基本已经不怎么使用float了。
现在又出现了grid布局,就像flex的升级版,布局上十分强大。
主要属性:
grid-template-columns://竖向排列
grid-template-rows://横向排列
首先比较一下flex和grid实现自适应九宫格,高度800px,宽度适应:

flex

超过一层后样式就复杂了,特别是边框的处理有点复杂。(方法很多,不一一去展示了)。

<html>
<head>
  <style type="text/css">
   .box {
      padding: 10px;
      padding-bottom: 0;
      padding-right: 0;
      display: flex;
      flex-direction: column;
      height: 800px;
      width: calc(100vw - 20px);
      background-color: #000;
    }
    .content {
      display: flex;
      margin-bottom: 10px;
      flex: 1
    }
    .b {
      flex: 1;
      margin-right: 10px;
      background-color: yellow;
    }
  </style>
</head>
<body>
  <div class="box">
    <div class="content">
      <div class="b">1</div>
      <div class="b">2</div>
      <div class="b">3</div>
    </div>
    <div class="content">
      <div class="b">4</div>
      <div class="b">5</div>
      <div class="b">6</div>
    </div>
    <div class="content">
      <div class="b">7</div>
      <div class="b">8</div>
      <div class="b">9</div>
    </div>
  <div>
</body>
</html>

效果图:


flex

grid

真的好用!方法也可以有很多,相对flex而言写起来简单多了哈

<html>
<head>
  <style type="text/css">
    .content {
      padding: 10;
      display: grid;
      grid-template-columns: auto auto auto;
      grid-template-rows: auto auto auto;
      height: 780px;   //padding 有个20的宽度
      background-color: #000;
      grid-gap: 10px;
    }
    .b {
      background-color: yellow;
    }
  </style>
</head>
<body>
  <div class="content">
    <div class="b">1</div>
    <div class="b">2</div>
    <div class="b">3</div>
    <div class="b">4</div>
    <div class="b">5</div>
    <div class="b">6</div>
    <div class="b">7</div>
    <div class="b">8</div>
    <div class="b">9</div>
  </div>
</body>
</html>

效果图:


grid
接下来就只讲grid了。

常用属性,属性很多,主要练习下常用的一些属性:

grid: 100px 200px 100px /1fr 1fr 1fr;

等于:

grid-template-rows: 100px 200px 100px; 
grid-template-columns: 1fr 1fr 1fr;
grid-template-areas: none; 
grid-auto-flow: initial;
grid-auto-rows: initial;
grid-auto-columns: initial;

这是主体上常用的一些属性了,不想做文档解释了。讲属性的文章挺多的,主要就是练习,多用用。

上一篇下一篇

猜你喜欢

热点阅读