Flex:在没有最大宽度的情况下并排对齐两个项目

吉姆

我不知道这是否适用于 flex,但我需要的是一个列表,其中包含两个并排的项目,每个项目的宽度取决于内容。像这儿:

<div class="items">
  <div class="item">Item 1 with text</div>
  <div class="item">Item 2 with more text</div>
  <div class="item">Item 3 with some text</div>
  <div class="item">Item 4 without text</div>
  <div class="item">Item 5 lorem</div>
  <div class="item">Item 6 ipsum</div>
  <div class="item">Item 7 with lorem</div>
  <div class="item">Item 8 with ipsum</div>
</div>

.items {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

.item {
  align-self: flex-end;
  box-sizing: border-box;
  background: #e0ddd5;
  color: #171e42;
  padding: 10px;
}

.item:nth-child(even) {
  background-color: darkgrey;
}

我怎么能意识到无论我有多少个 li 项目,两个项目总是并排的?没有限制宽度的外部容器。我不想使用浮动。是否有带有网格模板列的灵活解决方案?

最终结果如下(但向右对齐):

在此处输入图片说明

一个儿子

除了亚历山大的答案,如果您可以添加内部包装器,这里有一个选项,您可以使用内部div,显示为inline-block,用于样式,例如填充等。

由于我们处理内联元素,它们和字符一样,可以在它们之间有一个空格。一种方法是使用负边距将其取出,这里有更多选项:

请注意,由于空间宽度基于字体,负边距可能需要调整。


堆栈片段

.items {
  text-align: right;
}

.item {
  display: inline;
  margin-right: -4px;        /*  take out inline element space  */
}

.item div {
  display: inline-block;
  background: #e0ddd5;
  color: #171e42;
  padding: 10px;
}

.item:nth-child(even) div {
  background-color: darkgrey;
}

.item:nth-child(even)::after {
  content: '\A';
  white-space: pre;
}
<div class="items">
  <div class="item"><div> Item 1 with text </div></div>
  <div class="item"><div> Item 2 with more text </div></div>
  <div class="item"><div> Item 3 with some text </div></div>
  <div class="item"><div> Item 4 without text </div></div>
  <div class="item"><div> Item 5 lorem </div></div>
  <div class="item"><div> Item 6 ipsum </div></div>
  <div class="item"><div> Item 7 with lorem </div></div>
  <div class="item"><div> Item 8 with ipsum </div></div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有办法在没有CSS的情况下并排对齐两个HTML元素?怎么样?

在没有.then()的情况下执行两个函数

如何在不更改其高度和宽度的情况下并排浮动两个图像?

如何在没有默认“排序”的情况下加入两个集合

我无法在 mysql 中没有重复的情况下加入两个表

检查两个 GitHub 分支是否在没有本地 git repo 的情况下“偶数”?

如何在没有stackoverflow的情况下链接两个节点?

如何在没有内置谓词的情况下比较两个列表?

在没有两个完整周期的数据的情况下检测季节性

在没有硬编码的情况下使两个图像高度相同?

在没有 tkinter 或线程模块的情况下运行两个 while 循环

是否可以在没有两个循环的情况下遍历二维数组?

如何在没有任何条件的情况下链接两个选择?

在没有两个查询的情况下如何在Knex中执行此操作

在没有主键的情况下链接存在相同值的两个表-SQLAlchemy

是否可以在没有端口转发的情况下连接两个设备?

两个如何在没有任何索引的情况下合并两个数据帧

在嵌套的recyclerview情况下,没有在父recyclerview的项目上获得点击事件。如何获得两个recyclerviews?

如何在不更改项目代码库的情况下运行具有两个主要@SpringBootApplication文件的项目?

在没有桌子的情况下将材料对齐到相同的宽度和高度

如何在没有固定宽度的情况下左右对齐控件?

自动布局:并排对齐两个按钮并在没有图像时向右移动

我不明白为什么这两个元素没有并排对齐?

如何在没有子查询的情况下对一个新表中的两个查询求和

如何在Swift中在没有代码重复的情况下实现具有相同内容的两个init?

Django 中的两个表单-如何在没有所有字段的情况下使表单可提交?

如何在没有重复数据的情况下对两个带有连接的表求和?

在没有激活函数的情况下将两个卷积层依次放置是否有意义

如何在不指定宽度的情况下使两个DIV相邻浮动?