对 Flex 不看好的一些原因

本文探讨了Flex技术的优点与不足之处,指出尽管Flex拥有美观的UI等优势,但在定制性、测试性等方面存在挑战,并分析了其对开发流程的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

  • UI 很漂亮,但是比较难以定制。尤其是在像 jQuery 这样的 DOM DSL 出现并广泛的使用之后。
  • 界面动态修改不方便。
  • 还不够成熟,一些细节做得还不如发展了多年的客户端、web dhtml 贴心。虽然是一些细节,但是如果自己开发的话会是很大的工作量。
  • 增加开发的复杂度。
  • 增加学习成本。
  • 不容易测试。
  • 生成的控件比较大。
  • 必须依赖 Flash.

Flex 也有不少优点,但是目前在项目(有特殊需求的项目除外)中采用的话目前弊大于利。


这是一篇别人写的 Flex 相关的文章,也可供参考


http://it-essence.xs4all.nl/roller/technology/entry/why_flex_is_evil

`flex-basis` 属性用于设置 Flexbox 容器内项目的初始主轴大小,有时它可能看似起作用,这通常是由以下几个常见原因引起的: ### 1. **父容器未设置 `display: flex;`** 如果父元素没有明确地设置为 `display: flex;` 或者 `display: inline-flex;`,那么它的子元素将会被视为 Flex 项目,此时所有的 Flex 相关属性(包括 `flex-basis`)都会生效。 ### 2. **`flex-grow` 和 `flex-shrink` 的影响** 默认情况下,Flex 项的 `flex-grow` 和 `flex-shrink` 分别是 `0` 和 `1`。如果设置了非零的 `flex-grow` 值,则会允许该项目在其可用空间充足时增长,并覆盖掉原本由 `flex-basis` 指定的基础尺寸;同样,当存在负向的空间分配需求时,`flex-shrink` 可能会让元素缩小超出预期,从而忽略 `flex-basis` 设定值的影响。 ### 3. **浏览器默认样式或其他 CSS 规则干扰** 浏览器自带的一些默认样式表可能会对某些 HTML 元素应用特定宽度、高度等属性,默认情况下的盒子模型也可能会影响实际效果。另外,在样式层叠过程中更具体的规则或者后来定义的同名属性都会优先于原先设定的 `flex-basis` 生效。 针对上述问题可以采取相应措施调整代码确保 `flex-basis` 正常工作: - 确认父级是否已声明了正确的显示模式; - 调整其他弹性盒布局相关的属性配置如 `flex-grow`, `flex-shrink`; - 使用开发者工具检查是否有冲突样式的存在并解决它们。 希望以上信息对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值