【问题标题】:How-to style links without crashing Admin UI?如何在不崩溃管理 UI 的情况下设置链接样式?
【发布时间】:2018-05-24 23:49:13
【问题描述】:

我遇到了与how-to-separate-apostrophe-syles-from-the-front-end-template 相关的问题。

如何在不破坏管理 UI 的情况下设置 <a>-tags 样式? 我是否必须在我自己的小部件中为每个<a> 赋予样式类<a class="mystyle">

如何设置所提供的富文本小部件的链接样式?

我必须使用.apos-rich-text a 来停止更改小部件的管理控制用户界面吗?

因为以下内容会破坏管理 UI。

.custom-main-container a:hover {
    color: #ffffff !important;
}

菜单文本在悬停时变为白色,无法阅读。

如何处理样式并确保您不监督任何事情?!

【问题讨论】:

  • 我不明白使用 .apos-rich-text a 覆盖 css 有什么问题
  • 这只是一个例子。我将不得不找出我必须在其他地方设置我的风格的地方。

标签: css apostrophe-cms


【解决方案1】:

我的耻辱......问题是上面的!important
这使得特异性太高。不知何故,我以前也没有想到这一点。

尽管如果管理 UI 能够获得更多的特异性,这样就不会那么容易被 2 个类选择器覆盖它的规则。

【讨论】:

    【解决方案2】:

    正是由于这个原因,Apostrophe 开发团队通常远离元素级别的样式,但是 CKEditor 不允许您轻松地在链接上应用类。

    将样式范围限定为 a 元素且不干扰 Apostrophe 的管理 UI 的一种简单而紧凑的方法是将项目级类添加到富文本小部件包装器。

    在你的项目级别/lib/modules/apostrophe-rich-text-widgets/views/widget.html

    <div data-rich-text class="apos-rich-text MY-RICH-TEXT">{{ data.widget.content | safe }}</div>
    

    然后在你的CSS中你可以写

    .MY-RICH-TEXT a:hover { //whatever }
    

    请务必将data-rich-text 留在包装器中,Apostrophe 正在使用该属性来增强前端的小部件。

    【讨论】:

    • 我必须为所有其他小部件做类似的事情?
    • 有点乱。布局小部件是什么?您应该如何在不破坏 apos-ui 的情况下设置布局样式?不会错过撇号在他们的类名上设置一些重要的样式吗?这不是bug吗?
    • 每个小部件都需要一个模板,这是您为包装器提供项目级类名称的机会..这是我们通常做的。我们将不涉及任何apos-* 类作为内部实践。
    • 如果您认为存在一个实际的错误,那么快速总结一下您要完成的工作、尝试完成的代码示例以及您认为已损坏的内容会很有帮助
    猜你喜欢
    • 1970-01-01
    • 2015-07-17
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多