PrimeFaces 10环境下PrimeFlex 3.0.1样式未生效问题咨询
问题原因与解决方案
1. 核心原因:类名与PrimeFlex版本不匹配
你使用的PrimeFlex 3.0.1属于3.x大版本,该版本已经完全移除了所有样式类的p-前缀,你代码中使用的p-d-flex、p-mb-2、p-flex-md-row等都是PrimeFlex 2.x版本的类名,自然无法匹配到3.x版本的CSS规则,这是样式不生效的最主要原因。
2. 辅助说明:web.xml配置无效
你添加的primefaces.FLEX上下文参数是PrimeFaces 11.0及更高版本才支持的特性,开启后会自动加载内置的PrimeFlex资源,你使用的PrimeFaces 10.0.0不识别该参数,所以添加后不会产生任何效果。
可选解决方案
- 方案1(保留PrimeFlex 3.x):将页面中所有样式类的
p-前缀删除即可,例如:
把class="p-d-flex p-flex-column p-flex-md-row"改为class="d-flex flex-column flex-md-row",其他p-mb-2、p-mr-2等同理修改。 - 方案2(不修改现有类名):将PrimeFlex版本降级到2.x系列(如2.0.0),原有带
p-前缀的类名可以直接匹配生效。
你当前引入CSS文件的方式没有问题,只要Chrome控制台确认资源加载成功,按上述方案调整后样式即可正常渲染。
内容的提问来源于stack exchange,提问作者Greenfly77
相关产品推荐
相关产品推荐

