首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS:在没有固定/绝对定位的情况下,将两个块堆放在垂直矩形旁边?

CSS:在没有固定/绝对定位的情况下,将两个块堆放在垂直矩形旁边?
EN

Stack Overflow用户
提问于 2018-01-10 12:05:19
回答 3查看 433关注 0票数 1

在这里,https://jsfiddle.net/w39znn58/,我做了一个艰苦的草图与浮动和绝对定位,我试图用干净和现代的CSS最有可能的使用吗?还是网格?

代码语言:javascript
复制
div {
  border: 1px solid black;
  padding: 20px;
  width: 80px;
}

.rectangle {
  height: 82px;
  float: left;
}

.square {
  float: left;
}

.square-2 {
  float: none;
  position: absolute;
  top: 70px;
  left: 130px;
}
代码语言:javascript
复制
<div class="rectangle">Rectangle</div>
<div class="square square-1">Square 1</div>
<div class="square square-2">Square 2</div>

我想要两个块,一个在垂直矩形的顶部堆叠,没有固定/绝对的定位,也不为.square div添加div包装。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-01-10 12:17:29

您可以使用Grid来完成这个任务。

代码语言:javascript
复制
.grid {
  display: grid;
  grid-template-columns: 1fr 1fr; /* creates two columns, can also use 50% 50%, repeat(2, 1fr) or repeat(2, 50%), fr stands for fractions */
}

.grid > div {
  padding: 20px;
  border: 1px solid;
}

.rectangle {
  grid-row: 1/3; /* spans two rows */
}
代码语言:javascript
复制
<div class="grid">
  <div class="rectangle">Rectangle</div>
  <div class="square square-1">Square 1</div>
  <div class="square square-2">Square 2</div>
</div>

票数 2
EN

Stack Overflow用户

发布于 2018-01-10 12:15:46

下面是一个简单的flex解决方案:

代码语言:javascript
复制
* {
 box-sizing:border-box;
}
body {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  /* change the dimension as needed*/
  height: 50vh;
  width:50vw;
  /**/
}

div {
  border: 1px solid black;
  width: 50%;
  text-align:center;
}

.rectangle {
  height: 100%;
}

.square {
  height: 50%;
}
代码语言:javascript
复制
<div class="rectangle">Rectangle</div>
<div class="square square-1">Square 1</div>
<div class="square square-2">Square 2</div>

票数 1
EN

Stack Overflow用户

发布于 2018-01-10 12:27:07

CSS变化:

代码语言:javascript
复制
div {
border: 1px solid black;
padding: 20px;
width: 80px;
display: grid;
}
.rectangle {
height: 82px;
float: left;
}
.square{
height: 20px;
}    
代码语言:javascript
复制
<div class="rectangle">Rectangle</div>
<div class="square square-1">Square 1</div>
<div class="square square-2">Square 2</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48187113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档