html - CSS:3 或 4 列,具体取决于设备方向

标签 html css reactjs dynamic

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

这应该是最终结果:

3 列,每列四个 div enter image description here

4 列,每列三个 div enter image description here

我在想出一种仅使用 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 括起来,这将是一个 block ,带有 float:left(参见图片:4 列,每列三个 div),这使得四列彼此相邻。

但现在的愿望是让列如图 1(3 列,4 个 div)。

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

最佳答案

.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>

关于html - CSS:3 或 4 列,具体取决于设备方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50249438/

相关文章:

javascript - 本地存储只存储我的部分数据, session 存储中没有存储任何数据

html - 如何将最大宽度设置为百分比和像素?

jquery - 如何消除标题和导航栏之间的差距?

reactjs - Framer Motion 退出动画未使用 Reach Router 触发

javascript - 编码和解码跳过字符

html - 页面字段定位表单冲突的处理方法

html - 扩展结束 div 以填充剩余空间

javascript - 与在 jquery 中获取类名相关的问题

reactjs - 在不同环境中使用 Jest 风格的组件生成的快照乱序

javascript - 在 ReactJS 箭头函数类属性上防止 ESLint "no-undef"