css - 响应式 2 列到单列列表

标签 css html media-queries

是否可以有一个默认情况下显示为两列的单个无序列表,但通过如下所示的媒体查询响应性地变回单列?

@media (max-width: 640px)

列表中元素的数量是未知的,我想避免使用多个列表(例如以编程方式插入标签)

最佳答案

是的,这是可能的。

默认设置 liwidth50%float:left inside media query (min-width - 移动优先方法)

@media (min-width: 640px) {
  li {
    width: 50%;
    float: left
  }
}
<ul>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
</ul>

更新 - 你可以使用 flexbox 来实现这一点

@media (min-width: 640px) {
  ul {
    display: flex;
    flex-wrap: wrap;
  }
  li {
    width: 50%
  }
}
<ul>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
  <li>Foo</li>
</ul>

关于css - 响应式 2 列到单列列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36463636/

相关文章:

javascript - 为什么在悬停时使用 Angular 变量切换图像会导致图像向下移动

css - 网站在移动设备上没有响应,但对调整大小有响应

html - 如何在 Bootstrap 3 中使导航栏元素具有固定宽度

html - 如何在:hover之后进行反向转换

javascript - 如何使用 jquery 在 svg 之前附加图标?

jquery - 响应式/流体菱形网格

css - 在 Angular 中使用正确的 CSS 媒体查询

css - bootstrap 2.3 流体行间距

html - 比显示 : flex? 更好的居中方式

javascript - 选择新选项卡后隐藏选择轮廓