【问题标题】:How to make two CSS shapes appear in a grid cell?如何让两个 CSS 形状出现在一个网格单元格中?
【发布时间】:2020-06-23 18:41:43
【问题描述】:

我使用 CSS 制作了一个包含两列的网格。

我想让网格中的第二个单元格显示两个矩形 - 一个红色和一个绿色。

我的第一次尝试是这个问题底部的代码。这会在网格的第二个单元格中生成一个红色矩形,在网格的第三个单元格中生成一个绿色矩形。

在我的第二次尝试中,我尝试将红色和绿色矩形组合成一个项目“矩形”

.rectangles {
  height: 50px;
  width: 205px;
  background-color: #ff1a1a;
  height: 50px;
  width: 105px;
  background-color: #66ff33;
}

第二次尝试使第一个(红色)矩形消失了。

也许我必须在网格中创建一个网格以分别包含红色矩形和绿色矩形。这似乎是一种混乱的方法。有没有更好的办法?

这是我在下面的第一次尝试:

<html>
<head>
<style>
.grid-container {
  display: grid;
  grid-template-columns: 150px 1ft;
  grid-gap: 1px;
  background-color: #2196F3;
  padding: 1px;
}

.grid-container > div {
  text-align: left;
  padding: 2px 0;
}

.item1 {
  font-size: 10px
}

.rectangleRed {
  height: 50px;
  width: 205px;
  background-color: #ff1a1a;
}

.rectangleGreen {
  height: 50px;
  width: 105px;
  background-color: #66ff33;
}
  
</style>
</head>

<body>

<div class="grid-container">
  <div class="item1">lorem ipsum<div>  
  <div class="rectangleRed"></div>
  <div class="rectangleGreen"></div>
</div>


</body>
</html> 

【问题讨论】:

  • 1 英尺?我认为你错了
  • @Paulie_D 现在我想 1 英尺很奇怪。我是从教程中得到的。不过,它不会影响矩形

标签: html css


【解决方案1】:

这是你想要做的吗?

<html>
<head>
<style>
.grid-container {
    margin: 20px auto;
    max-width: 800px;
    display: grid;
    grid-template-columns: 150px 1fr;
}
.grid-container div {
    border: 1px dashed gray;
    text-align: center;
    padding: 12px;
}
.item1 { font-size: 10px; }
.pre { display: inline; }
.rectangleRed {
  height: 50px;
  width: 205px;
  background-color: #ff1a1a;
}
.rectangleGreen {
  height: 50px;
  width: 105px;
  background-color: #66ff33;
}
</style>
</head>
<body>
<div class="grid-container">
  <div class="item1">lorem ipsum</div>  
  <div>
    <pre class="rectangleRed"></pre>
    <pre class="rectangleGreen"></pre>
  </div>
</div>
</body>
</html> 

或者可能:

.rectangleRed {
   height: 50px;
   width: 205px;
   background-color: #ff1a1a;
   float: left; 
   margin-right: 4px;
 }
 .rectangleGreen {
   height: 50px;
   width: 105px;
   background-color: #66ff33;
   float: left; 
 }

【讨论】:

  • 就是这样!所以这是添加'float:left;'这允许两个矩形直接出现在彼此的左侧/右侧
  • 重新考虑,它似乎是添加了“pre”块,允许
    包含多个矩形
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-29
  • 2021-05-05
  • 1970-01-01
  • 1970-01-01
  • 2023-01-10
  • 1970-01-01
相关资源
最近更新 更多