响应式设计:列与Flexbox

时间:2016-08-22 14:47:10

标签: css flexbox

在学习CSS和制作响应式列布局时,我学习了flexbox方法(但也应该避免使用它太多)。最近,我观看了teamtreehouse的一个新视频,它使用了列,列数等,来制作响应式列设计。哪一个更好用,还是第三个选项最好?

编辑:抱歉,显然这是一段较旧的视频。我之所以问的原因是因为它不在我的网页设计轨道上,所以我不确定它是否已经相关了。

5 个答案:

答案 0 :(得分:1)

大多数现代页面布局都远离浮动列并迁移到Flexbox。你会发现即使是bootstrap 4也会将它们的布局基于flexbox。

我发现使用flexbox的主要优点是垂直对齐,这是革命性的。因为在此之前,开发人员必须面对最大的痛苦之一。你也可以重新订购非常酷的dom元素。还有flex基础,它允许你有一个固定尺寸的div,并允许其他div占据宽度/高度的其余部分。可能性是无止境!

TL; DR Flexbox让您的生活更加轻松。只有支持旧浏览器不成问题。

答案 1 :(得分:1)

请注意,CSS网格与旧的浮动列不同。听起来像teamtreehouse使用CSS网格。

CSS网格是2d系统(行和列),而flexbox是1d(行或列)。因此它们可以结合使用,css网格用于页面布局,而flexbox用于内部细节布局。见:

https://tutorialzine.com/2017/03/css-grid-vs-flexbox

答案 2 :(得分:1)

我遇到了我们代码库中的列数,对此感到惊讶,在成为前端开发人员6年之后,我再也没有听说过它。所以我深入了一下,并找到了这个线程。要回答上面的原始问题:

何时使用列计数
当您使用大量文本或例如复选框时,想要将它们排序为列时,column-count是一个不错的选择。它基本上为您创建了新闻文章的列式布局。因此,您提供列数,浏览器将计算高度。这里的缺点是您通常不希望在较小的设备上使用多列,因此您必须将其放入媒体查询中。如果您想了解更多信息,请阅读此文章:https://www.smashingmagazine.com/2019/01/css-multiple-column-layout-multicol/

最好不要使用列数
如果您想更好地控制列和行,例如某些内容应放在列中,请使用flexbox或grid。另外,当您不希望列具有相同的宽度时,最好使用flexbox或grid。

答案 3 :(得分:-1)

如果您已经熟悉CSS并想要一个响应式设计,那么您可能需要查看Boostrap。拾取很容易。我发现它为我节省了大量的时间和精力,而不是为每个项目编写自己的CSS。

答案 4 :(得分:-1)

使用css时,您需要不断考虑要支持的浏览器,然后选择要使用的功能。为此,有一个方便的网站http://caniuse.com/

例如在你的情况下,你可以看到ie8不支持列http://caniuse.com/#search=columns,也不支持flexbox http://caniuse.com/#search=flexbox所以如果你想支持ie 8我建议你使用tipical浮动柱方法。那里有很多网格系统但是我按照上面的建议去了。 http://getbootstrap.com/