css多列自适应布局

发布于 2022-09-06 20:37:18 字数 579 浏览 45 评论 0

如图,要实现视频列表区域根据页面宽度自适应。比如现在是三列显示,当页面宽度缩小时,自动变成两列,当页面宽度变大时,也相应地变成多列显示。每个视频的宽高固定,间距固定,列表区域保持居中,列表上面左右两边的文字跟着两端对齐。不使用js计算,只用css + rem如何实现?
clipboard.png

列表区域html结构:
clipboard.png

使用flex居中的话,最后一行如果没有刚好铺满,则多出的视频也居中了,但我要最后一行左对齐,也就是说视频是从上到、下从左到右排下来的。因为列数是不确定的,所以也没法对最后一行的视频单独设置flex属性。
使用媒体查询好像能做到,但又不知道怎么实现。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

挽你眉间 2022-09-13 20:37:18

使用媒体查询吧

夜未央樱花落 2022-09-13 20:37:18

我感觉。不需要用到JS吧。
视频展示区域设置最小min-width为一个视频方格的宽度,然后width用百分比设置。
视频方格float:left,最后用一个div clear: both撑大父元素。
然后浏览器缩小的时候,视频展示区宽度缩小,不够一排三个的宽度,float的特性使得视频方格下排,然后由于最后一个clear父元素被拉长,形成一排两个,共有三排的布局。

温柔女人霸气范 2022-09-13 20:37:18

如一楼所说,媒体查询再适合不过,或者你想懒一点就用bootstrap的栅栏布局

嗳卜坏 2022-09-13 20:37:18

用媒体查询和calc就可以。
看这个代码合适不
https://jsfiddle.net/codekoal...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文