【问题标题】:CSS: 3 or 4 columns depending on device orientationCSS:3 或 4 列,取决于设备方向
【发布时间】:2018-10-19 08:09:02
【问题描述】:

我想实现以下目标:我总共有 12 个 div,在一个 div 内。 根据媒体查询(平板电脑纵向、平板电脑横向、手机纵向、手机横向等),我想显示三列内有四个 div 或四列内有三个 div。

这应该是最终结果:

3 列,每列 4 个 div

4 列,每列 3 个 div

我在想办法仅使用 CSS 实现这一点时遇到问题。

<div className="cb-Categorie-Wrapper">
    <div className="cb-Categorie" id="categorie-Fictie"><span className="label">Fictie</span></div>
    <div className="cb-Categorie" id="categorie-Thrillers-spanning" ><span className="label">Thrillers en spanning</span></div>
    <div className="cb-Categorie" id="categorie-Romantiek"><span className="label">Romantiek</span></div>

    <div className="cb-Categorie" id="categorie-Kinderen-YA"><span className="label">Kinderen en YA</span></div>
    <div className="cb-Categorie" id="categorie-Non-fictie"><span className="label">Non-fictie</span></div>
    <div className="cb-Categorie" id="categorie-Reizen"><span className="label">Reizen</span></div>

    <div className="cb-Categorie" id="categorie-Mens-ontwikkeling"><span className="label">Mens en ontwikkeling</span></div>
    <div className="cb-Categorie" id="categorie-Management"><span className="label">Management</span></div>
    <div className="cb-Categorie" id="categorie-Educatief"><span className="label">Educatief</span></div>

    <div className="cb-Categorie" id="categorie-Engels"><span className="label">Engelse boeken</span></div>
    <div className="cb-Categorie" id="categorie-Anderstalig"><span className="label">Andere anderstalige boeken</span></div>
    <div className="cb-Categorie" id="categorie-Non-books"><span className="label">Non-books</span></div>
</div>

我每三个 div 都用一个包装 div 包围,这将是一个块,带有 float:left(见图:4 列,每列三个 div),这使四列彼此相邻。

但现在希望将列作为图片 1(3 列,4 个 div)。

如果有帮助,我可以使用 Bootstrap3。

【问题讨论】:

  • 与您的问题无关,但className 来自哪里?它应该只是class="..."
  • 对不起,我正在使用 react,其中的类应该定义为 className。
  • 好的,感谢您的信息和澄清。没想到这个:-)

标签: html css reactjs dynamic


【解决方案1】:

.column-example {
    column-count: 4;
column-rule-style: solid;
column-rule-color: #ff0000;
}
<div class="column-example">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
  <div>7</div>
  <div>8</div>
  <div>9</div>
  <div>10</div>
  <div>11</div>
  <div>12</div>
</div>

【讨论】:

  • 不要在生产代码中使用供应商前缀。它们是实验性的,还没有准备好迎接黄金时段。当前的浏览器也不需要它们。
  • 这似乎没有解决这个问题:这是关于根据设备方向提供不同的布局。
  • 有了这个你可以很容易地实现这一点,在媒体查询中你可以根据你的需要改变你的计数link在这里参考
  • @Quentin 请检查链接以及它在现代浏览器甚至 IE10 上运行的浏览器兼容性。您可以删除供应商前缀
  • 你能解释一下列数的作用吗?它会在包装器内制作 div 的列吗?我不需要支持
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-02
  • 1970-01-01
相关资源
最近更新 更多