如何配置cssutils序列化器以保留完整十六进制颜色值?
保留cssutils序列化后的完整十六进制颜色
当然可以!cssutils专门提供了配置项来控制十六进制颜色的输出格式,你只需要调整序列化器的偏好设置,就能轻松保留完整的6位十六进制颜色。
方法一:全局配置(影响所有后续操作)
直接修改cssutils的全局序列化偏好,将keepHexColors设置为True即可:
import cssutils # 开启保留完整十六进制颜色的全局配置 cssutils.ser.prefs.keepHexColors = True # 测试效果 hex_d = cssutils.parseStyle('color: #aaaaaa') print(hex_d.color) # 输出 #aaaaaa
方法二:局部配置(仅针对特定序列化操作)
如果不想修改全局设置,你可以创建一个自定义的CSSSerializer实例,传入keepHexColors=True参数,仅对该实例的序列化操作生效:
import cssutils from cssutils import CSSSerializer hex_d = cssutils.parseStyle('color: #aaaaaa') # 创建带自定义配置的序列化器 custom_serializer = CSSSerializer(keepHexColors=True) # 序列化目标样式声明 print(custom_serializer.serialize(hex_d)) # 输出 color: #aaaaaa;
补充说明
keepHexColors参数默认值为False,这也是为什么默认情况下#aaaaaa会被自动简化为#aaa;当设置为True时,cssutils会强制保留原始的6位十六进制颜色格式,不再进行简写转换。
内容的提问来源于stack exchange,提问作者Roman
相关产品推荐
相关产品推荐

