我最近学到了很多关于flexbox的知识,但有一点我还不清楚。我应该始终将adapter.getFilter().filter(cs);
//no need to use Activity_ListView.this.adapter.getFilter().filter(cs);
设置为display
/ flex
,还是使用inline-flex
/ block
是否有利?
我找到了几篇有用的文章,但没有一篇文章回答这个具体问题。 This article使用flexbox解释了不同inline-block
值之间的差异,而不是将它们与display
进行比较。问题确实表明使用display: block
/ block
已经过时,但我还没有看到任何其他来源确认这一点。如果inline-block
现在过时了,我会认为它会在W3 Schools上这样说(并不是说它们总是正确的,但它们似乎是一个很好的来源)。
有几个答案提到this article,但同样,它没有解释何时应该使用display: block
而不是display: block
(如果有的话)。
其他回答类似问题的文章有this one和this one。虽然两者都很棒。第一个给两者带来优势和劣势,但flexbox的唯一显着缺点是浏览器兼容性,这不是该项目的关注点。后一篇文章给出了我看到的最佳答案,即使用display: flex
允许元素保留flexbox属性。这是否意味着如果它不需要flexbox属性,我应该使用display: flex
?是否会对性能产生影响,或者我应该始终使用display: block
?
答案 0 :(得分:4)
它们是不同的盒子布局模型。一切都是有效的,每一个都有自己的优点和缺点。
block
和inline-block
都不过时。您仍然可以使用它们,CSS工作组仍在添加可用于这些旧布局的新功能。
Flexbox的唯一显着缺点是浏览器兼容性
这是假的,flexbox有多个缺点,比如lack of floating and lack of multicolumns:
Flex布局在表面上类似于块布局。它缺乏很多 可以使用的更复杂的以文本或文档为中心的属性 在块布局中,例如floats和columns。作为回报,它变得简单 和强大的工具,用于分配空间和对齐内容 网络应用程序和复杂的网页经常需要。
这是否意味着如果它不需要flexbox属性,我应该使用
display: block
即使您不需要弯曲,Flexbox仍然可以正常工作。但在那种情况下,我会劝阻它。块布局更简单,这可能意味着浏览器可以更快地渲染它。
答案 1 :(得分:0)
创建“ flex”是为了使用简单且响应更好的设计,因此它需要更多的渲染计算时间,如果您不需要响应设计,则最好使用“块”,因为它更快。