Flexbox与Twitter Bootstrap(或类似的框架)
最近我发现Flexbox
时,我正在寻找一种解决方案,使div的高度相同,取决于最高的一个。
我已阅读CSS-tricks.com上的以下页面,并确信flexbox
是一个非常强大的模块,可供学习和使用。 但是,这也让我想到了Twitter Bootstrap(以及类似的框架)为他们的网格系统提供了相同的功能(当然还有很多额外的功能)。
现在,问题是: flexbox
有什么优点和缺点? 有没有人可以用Flexbox做的事情,就是像Bootstrap这样的框架(当然纯粹谈论网格系统)呢? 在网站上实施哪个更快?
我在猜测什么时候只用于网格系统,纯粹使用flexbox
更聪明,但如果您已经在使用框架, flexbox
可以添加什么?
有没有任何理由在框架中选择flexbox
的“网格系统”?
出于几个原因,flexbox比bootstrap好得多:
Bootstrap使用浮动来制作网格系统,很多人会说网络系统并不适用于网页,而柔性盒则通过保持对项目的大小和内容的灵活性而相反; 与使用像素vs em / rem相同的区别,或者像仅使用边距和填充来控制div,并且从不设置预定义大小。
Bootstrap,因为它使用浮动,每行后需要clearfix,否则你会得到不对齐高度不同的div。 Flex-box不这样做,而是检查容器中最高的div并粘到其高度。
我想用bootstrap over flex-box的唯一原因是缺少浏览器支持(主要是IE)(已死)。 有时你会从Chrome和Safari获得不同的行为,即使它们都使用相同的webkit引擎。
编辑:
顺便说一句,如果你面临的唯一问题是高度相等的列,有相当多的解决方案:
您可以在父级使用display: table
display: table-cell;
对孩子。 请参阅如何在显示中获得相同的高度:表格单元格
您可以在每个div上使用绝对定位:
position: absolute; top: 0; bottom: 0;
编辑2:
另请参阅http://chriswrightdesign.com/experiments/flexbox-adventures/&https://scotch.io/tutorials/a-visual-guide-to-css3-flexbox-properties了解Flex-Box的工作原理。
编辑3: https : //kyusuf.com/post/almost-complete-guide-to-flexbox-without-flexbox
编辑4: https : //caniuse.com/#feat=flexbox
我没有使用Flexbox(我已阅读过它,似乎很棒),但我是Bootstrap前端开发人员。 我建议您在做出最终决定之前测试Flexbox打印页面。 你知道......有时印刷风格是一个非常头痛的问题,Bootstrap在我必须设计印刷格式时帮助我很多。
我担心你错过了另一篇关于CSS技巧的文章:
注意:Flexbox布局最适合应用程序的组件和小型布局,而网格布局适用于大型布局。
不代表,你可能不会尝试,但只是三思而后行。 最终都取决于所需的浏览器支持。
链接地址: http://www.djcxy.com/p/75959.html