【问题标题】:Positioning divs using grid in css [duplicate]在css中使用网格定位div [重复]
【发布时间】:2023-03-31 23:35:01
【问题描述】:

出于图表的目的,我将 parent_div 设置为小于屏幕。但是,它覆盖了所有屏幕。这是我的 HTML 和 CSS 的代码 sn-ps

HTML:

#parent_div {
  width: 100%;
  height: 100vh;
  display: grid;
}
<div id="parent_div">
  <div class="DIV1"></div>
  <div class="DIV2"></div>
  <div class="DIV3"></div>
</div>

可以通过设置宽度和高度来控制 div 的大小,但这不是主要问题。主要问题是:如何使用网格像上图一样定位 div?

谢谢

【问题讨论】:

    标签: html css css-grid


    【解决方案1】:

    您可以通过设置适当的grid-template-columnsgrid-template-areas 来做到这一点:

    * { box-sizing: border-box; }
    body { margin: 0; }
    
    #parent_div {
      border: 5px dotted red;
      height: 100vh;
      display: grid;
      padding: 100px;
      gap: 10px;
      grid-template-columns: 1fr 1fr;
      grid-template-areas:
        "div1 div2"
        "div1 div3";
    }
    
    #parent_div> div {
      border: 3px solid green;
    }
    
    .DIV1 {
      grid-area: div1;
    }
    
    .DIV2 {
      grid-area: div2;
    }
    
    .DIV3 {
      grid-area: div3;
    }
    <div id="parent_div">
      <div class="DIV1"></div>
      <div class="DIV2"></div>
      <div class="DIV3"></div>
    </div>

    【讨论】:

    • 嗯。有趣的。所以 div 的大小是由 #parent_div 中的填充决定的,对吧?我尝试输入固定的宽度和高度,但随后 div 彼此分离并且格式丢失了。但是,如果我过多地增加填充,当我减小页面大小时,div 将消失(假设 > 245px)。如何在保持所需位置的同时调整 div 的大小?
    • @AndF 然后删除grid-template-columns 声明。这样它默认使用auto。通常在网格中,您希望网格控制单元格大小,但也有例外。
    猜你喜欢
    • 1970-01-01
    • 2020-04-22
    • 2018-10-21
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多