jquery - 如何公开 css 以在小部件上进行配置
问题描述
我正在尝试构建一组小部件,允许每个客户端在其页面上配置样式。
有没有办法公开类、ID 或允许客户端修改样式的东西?我尝试覆盖!important
但似乎没有用
解决方案
生病从这个开始。您不需要使用!important
来覆盖默认样式。您需要检查两件事以使 CSS 覆盖优雅地工作。
- 覆盖样式表结构正确。如果您的默认样式表使用 定义了规则
.wrapper > .my-container
,则覆盖不能只定义规则.my-container
(默认样式是更强的规则,并且将优先于覆盖样式表)。您必须在覆盖样式表中覆盖相同的类结构。 - 覆盖样式包含在默认样式表之后。
在如何应用自定义客户端样式方面,假设您希望保存和加载这些样式而不是短暂的,有几个选项。
一种是允许客户端自定义变量,如十六进制值、宽度等。然后,您可以将这些 CSS 值存储在数据库中,并为该客户端提供覆盖这些类的自定义样式表。这里的缺点是客户端可能会存储看起来很糟糕或破坏事物的值,例如白色文本上的白色(需要验证)。
另一种选择是生成一组预设类或“主题”(例如,一个用于紫色,另一个用于黄色,一个用于大尺寸小部件,一个用于小部件等)。然后只需存储客户端选择的选项并在前端以编程方式应用它。这不需要相同的验证、提供自定义样式表或需要在数据库中存储 CSS 字符串,但会在一定程度上限制客户的选择。
推荐阅读
- jenkins - 如何告诉 jenkins 的 junit-plugin 处理在 docker-container 中创建的测试报告文件?
- python - 如何解决 Django url 模式不起作用
- python-3.x - 有没有办法我可以在python中使用名称以下划线开头的方法
- javascript - Javascript如何触发动态创建的按钮?
- linux - Apache2 虚拟主机被忽略,除了 ServerAlias
- webrtc - 在 Janus videoroom 中管理多个参与者
- java - Java java.nio.file.NoSuchFileException 和 IO 无法写入文件
- azure - 缩放时 Azure 虚拟机规模集命名不按顺序
- python - 关闭使用 QStackedWidget 制作的窗口
- google-api - /androidpublisher/v3/applications/ 上的 403 禁止错误