相关疑难解决方法(0)

弹性框:将最后一行与网格对齐

我有一个简单的flex-box布局,其容器如下:

.grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
Run Code Online (Sandbox Code Playgroud)

现在我希望最后一行中的项目与另一行对齐.justify-content: space-between;应该使用,因为可以调整网格的宽度和高度.

目前它看起来像

右下方的项目应位于中间

在这里,我希望右下角的项目位于"中间列"中.实现这一目标的最简单方法是什么?这是一个显示此行为的小jsfiddle.

.exposegrid {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.exposetab {
  width: 100px;
  height: 66px;
  background-color: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(0, 0, 0, 0.4);
  border-radius: 5px;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  margin-bottom: 10px;
}
Run Code Online (Sandbox Code Playgroud)
<div class="exposegrid">
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div> …
Run Code Online (Sandbox Code Playgroud)

css css3 grid-layout flexbox

325
推荐指数
12
解决办法
15万
查看次数

如何保持包装的flex-items与前一行的元素宽度相同?

我有一个<ul>flex-box和一堆<li>s里面的flex-items.

我试图让它<li>具有灵活的宽度,使用最小宽度和最大宽度保持两种尺寸.只要它们在同一条线上,它就能很好地工作.但是,当它们换<li>行时,新行上的s会尽可能多地使用空间.这意味着它们在第一行很小,而在第二行很小,只有少数几行.

有没有办法告诉flexbox在包装后保持项目的宽度,同时保持灵活的宽度?

包装演示:

在此输入图像描述

我的代码看起来像这样:

<ul>
  <li>
    <figure>
      <img src="http://placekitten.com/g/250/250">
    </figure>
  </li>
  <li>
    <figure>
      <img src="http://placekitten.com/g/100/100">
    </figure>
  </li>
  <!-- ... -->
</ul>
Run Code Online (Sandbox Code Playgroud)

而CSS:

ul {
  display: flex;
  flex-wrap: wrap;
}

  li {
    min-width: 40px;
    max-width: 100px;
    flex: 1 0 0;
  }
Run Code Online (Sandbox Code Playgroud)

这是一个关于codepen的实例,带有一些额外的注释,调整窗口大小以查看它的包装.

css flexbox

51
推荐指数
4
解决办法
3万
查看次数

在元素的居中网格中左对齐的最后一行

我有一堆相同大小的块设置display:inline-block在div内部,text-align:center设置为对齐块.

|        _____   _____   _____   _____       |
|       |     | |     | |     | |     |      |
|       |  1  | |  2  | |  3  | |  4  |      |
|       |_____| |_____| |_____| |_____|      |
|        _____   _____   _____   _____       |
|       |     | |     | |     | |     |      |
|       |  5  | |  6  | |  7  | |  8  |      |
|       |_____| |_____| |_____| |_____|      |
|                                            |
Run Code Online (Sandbox Code Playgroud)

这些块水平填充div,随着浏览器窗口缩小,一些块会断开到新行,从而创建更多行和更少列.我希望所有内容仍然保持居中,最后一行与左边齐平,如下所示: …

css text-align css3 grid-layout

47
推荐指数
3
解决办法
2万
查看次数

定位最后一行的弹性项目

我的问题是我希望flexbox具有可变范围宽度,并且一切正常,但不是最后一行.我希望所有孩子都有相同的维度,即使行没有孩子(最后一行).

#products-list {
    position:relative;
    display: flex;
    flex-flow: row wrap;
    width:100%;
}

#products-list .product {
    min-width:150px;
    max-width:250px;
    margin:10px 10px 20px 10px;
    flex:1;
}
Run Code Online (Sandbox Code Playgroud)

在JSFiddle示例中,我创建了一个动态情境.

我的flex div可以缩小到150px并且长到250px,但所有都必须具有相同的大小(显然我想要一个CSS解决方案,JS我知道的方式).

html css css3 flexbox

36
推荐指数
2
解决办法
1万
查看次数

Flexbox:增长所有项目但最后一行

我目前有这个简单的Flexbox布局:

ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}
li {
  flex-grow: 1;
  padding: 20px;
  margin: 10px;
  background: #ddd;
}
Run Code Online (Sandbox Code Playgroud)
<ul>
    <li>lorem</li>
    <li>ipsum</li>
    <li>dolor</li>
    <li>sit</li>
    <li>amet</li>
    <li>consectetur</li>
    <li>adipisicing</li>
    <li>elit</li>
    <li>sed</li>
    <li>do</li>
    <li>eiusmod</li>
    <li>tempor</li>
    <li>incididunt</li>
    <li>ut</li>
    <li>labore</li>
    <li>et</li>
    <li>dolore</li>
    <li>magna</li>
    <li>aliqua</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我希望我的元素填充容器宽度(如现在),但保持最后一行左对齐.正如您所看到的,最后一行尝试填充空间,这有时会使最后一行元素变得难看.

Flexbox是否允许我们这样做?我找不到办法去做.

css flexbox

27
推荐指数
3
解决办法
7895
查看次数

使用CSS Flexbox的`justify-content:space-between`但左对齐最后一行

我有一个简单的盒子网格,我想与Flexbox一起响应.

框的数量由用户生成,因此我需要动态工作.这是所在的代码片段:

<div class="wrap">
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.wrap{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}

.thumb{
  width:150px;
  height:150px;
  background-color:black;
  margin-bottom:20px;
}
Run Code Online (Sandbox Code Playgroud)

这是上面代码的样子:

Flexbox最后一行左对齐

这是我希望它看起来像:

在此输入图像描述

如何使用flexbox实现这一目标?我想避免%margins并让flexbox在这里完成所有工作,因为它在响应式设置中非常好用.

css css3 flexbox

6
推荐指数
1
解决办法
2288
查看次数

标签 统计

css ×6

flexbox ×5

css3 ×4

grid-layout ×2

html ×1

text-align ×1