CSS Flex与网格[重复]

nx7onnlm  于 2023-01-03  发布在  其他
关注(0)|答案(2)|浏览(137)
    • 此问题在此处已有答案**:

CSS-only masonry layout(5个答案)
Areas covered by Flexbox which are difficult or impossible to achieve with Grid(3个答案)
4小时前关门了。
我的第一个问题是:Flex与Grid在创建网站时的区别是:当你显示Flex时,你的身体会自动收缩,使它越来越小,当你使用网格区域模板时,信息会随着你的新宽度而消失/不自动化。
第二个问题:在这个例子中使用Flex。当我把浏览器变小,宽度变小时,文章会在我的aside下面,所以主要内容开始在aside/main下面扩展。这是我想要的,当我把屏幕变小时,文章会留在这个灰色区域,并且在这个相同的浅灰色区域中互相重叠。

body {
  width: 70%;
  margin: 0 auto;
  font-family: sans-serif;
  color: #2a2a2a;
  background-color: grey;
}

    header{
        grid-area:header;

    }
    header ul{
        display:flex;
    }
    header li{
        list-style:none;
        flex:1;
    }
    main {
  display: flex;
  flex-wrap: wrap;/*maakt da je inhoud in je div blijft er niet buiten als je width aanpast*/
  align-content: flex-start;
  background-color: lightgrey;
}
aside {
  flex: 1; /*is zelfde als 1fr in display:grid*/
  margin-right: 10px;
  background-color: #ff80ff;
}
#artikel1 {
  
  flex:2;
  
}
#artikel2 {
    flex:2;
    
}

#artikel3 {
    flex:2;
}
#artikel4 {
    flex:2;
}


aside li {
  padding-bottom: 10px;
}

footer {
  margin-top: 10px;
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>SCSS</title>
  <link rel="stylesheet" href="training.css">
  <style>

  </style>
</head>

<body>
    <div class="container">

        <header>
            <nav>
                <ul><li>Home</li><li>Contact</li><li>Nog informatie</li><li>content</li></ul>
            </nav>

        </header>
        <main>
                        <!-- the aside content can also be nested within the main content -->
                        <aside>
                            <h2>Related</h2>
                            <ul>
                              <li><a href="#">Oh I do like to be beside the seaside</a></li>
                              <li><a href="#">Oh I do like to be beside the sea</a></li>
                              <li><a href="#">Although in the North of England</a></li>
                              <li><a href="#">It never stops raining</a></li>
                              <li><a href="#">Oh well...</a></li>
                            </ul>
                          </aside>
            <!-- It contains an article -->
            <article id="artikel1">
              <h2>Article heading</h2>
              <p>
                tekst artikel 1
              </p>
      
              <h3>titel2</h3>
              <p>
                artikel2
              </p>
            </article>
            <article id="artikel2">
                <h2>Article heading</h2>
                <p>
                  tekst artikel 1
                </p>
        
                <h3>titel2</h3>
                <p>
                  artikel2
                </p>
              </article>
              <div class="break"></div>
              <article id="artikel3">
                <h2>Article heading</h2>
                <p>
                  tekst artikel 1
                </p>
        
                <h3>titel2</h3>
                <p>
                  artikel2
                </p>
              </article>
              <article id="artikel4">
                <h2>Article heading</h2>
                <p>
                  tekst artikel 1
                </p>
        
                <h3>titel2</h3>
                <p>
                  artikel2
                </p>
              </article>

          </main>
        <footer>



        </footer>
    </div>

</body>

</html>

我尝试了很多可能性。

dl5txlt9

dl5txlt91#

Grid:CSS Grid Layout,是一个基于网格的二维布局系统,有行和列,使网页设计更容易,而不必使用浮动和定位。像表格一样,网格布局允许我们将元素对齐成列和行。Flexbox:CSS Flexbox提供了一维布局。它有助于在容器(由网格组成)中的项目之间分配和对齐空间。它适用于所有类型的显示设备和屏幕大小

mwngjboj

mwngjboj2#

比较这两种设计,主要的区别是CSS Grid更适合创建二维布局,而CSS Flexbox更适合创建一维设计。此外,使用CSS Grid,元素使用数字坐标定位,而Flexbox使用相对定位和边距。

相关问题