当前位置: 首页 > 面试题库 >

左右流动的CSS列

路和悌
2023-03-14
问题内容

假设我有一个div,其中将包含一组元素(div),这些元素可能具有不同的高度,但是所有元素的宽度都相同。

目前,我已经通过同位素+砌体实现了这一目标,但是由于某些浏览器已经支持CSS3多列,因此我希望为这些浏览器提供唯一的CSS解决方案,而其余的则使用Javascript。

这是我一直在尝试的CSS:

.div-of-boxes {
  -webkit-column-count: 3;
  -webkit-column-gap:   10px;
  -moz-column-count:    3;
  -moz-column-gap:      10px;
  column-count:         3;
  column-gap:           10px;
}

但是,这使元素的流动从上到下从左到右。我想要的是左右自上而下的流程。这是我想要的示例:

1 2 3
4 5 6
7 8 9

但这就是我得到的:

1 4 7
2 5 8
3 6 9

在自上而下先于左向右流动的多列元素中,提出了类似的要求,但我对答案不满意,并且它不适用于不同高度的元素。CSS列完全有可能吗?还是有限制?


问题答案:

多列规范不提供更改列之间元素分布的属性。这样的属性似乎与模块的设计宗旨背道而驰(重新创建报纸或杂志文章的布局方式)。

其他纯CSS解决方案都无法让您获得想要的效果。



 类似资料:
  • css flex 布局,页面分为上下两部分,下面通过 flex: 1; 撑开,并且 overflow-y: auto;下面又分为左右布局,左右高度不一定,想要设置一个边框分割左右,但是边框始终到最底部; 下半部分左右边框高度能够到自动撑开的高度 https://codesandbox.io/p/devbox/flexbu-ju-zi-dong-cheng-gao-8...

  • 问题内容: 是否有更改此文本的CSS代码 到这个 问题答案: 尝试这个 编辑:将此类应用于段落标记,您应该得到想要的结果。

  • 问题内容: 每个浏览器都不同,因此: Firefox(壁虎): https : //dxr.mozilla.org/mozilla-central/source/layout/style/res/html.css。或者,浏览resource://gre-resources/并查看html.css。 Chrome / Safari(WebKit): http : //trac.webkit.org/

  • 问题内容: 今天在玩一些css3,主要是过渡。 我想实现的是,悬停在li元素上时,背景将以不同的颜色从左到右填充,理想情况下,我希望能够填充一半或全部。 我需要使用房产吗 任何人都可以给我一些有关实现这一目标的指示。 谢谢 问题答案: 您将需要在此处执行的操作是使用线性渐变作为背景并为背景位置设置动画。在代码中: 使用线性渐变(红色为50%,蓝色为50%),并告诉浏览器背景是元素宽度(宽度:200

  • 问题内容: 我有风格的元素 然后,我想在单击后平稳地更改其位置,但是当我添加样式更改时,过渡不会发生,而是元素立即移动。 但是,例如,如果我更改属性,则它会平滑更改。 这可能是什么原因?是否有非“过渡性”的属性? 编辑 :我想我应该提到这不是jQuery,它是另一个库。该代码似乎按预期工作,添加了样式,但是过渡仅在第二种情况下有效? 问题答案: 尝试在CSS中设置默认值(让它知道您要从哪里开始)

  • 我有viewpager和tablayout,内部viewpager有一个创建RecolyerView片段, 在RecyclerVIew roe项目中,我创建了一个水平滚动视图,用于向左/向右移动, 基本上,我只想滑动屏幕的75%左右,然后显示可滑动视图, 我还使用了的,但它会刷行(100%刷行), 但所有这些都不能正常工作,因为当我们在recyclerview项上滑动时,有时触摸到ViewPage