【问题标题】:Joomla Plugin css overrideJoomla 插件 css 覆盖
【发布时间】:2015-08-27 08:42:40
【问题描述】:

是否可以覆盖 joomla 插件中的 css 文件?

我想为插件 Simple Image Gallery 更改一些 css 样式。我在 joomla 文件夹中找到了相关的 css 文件:

plugins/content/jw_sig/jw_sig/tmpl/Classic/css/template.css

现在我在这个 template.css 文件中进行了一些更改,并将其保存在模板文件夹中:

templates/my_template/html/content/jw_sig/jw_sig/Classic/css

它不起作用。我的 CSS 更改没有出现在图库中。

【问题讨论】:

    标签: image templates plugins joomla gallery


    【解决方案1】:

    我认为如果没有核心黑客或扩展,这是不可能的(但让我们等待其他答案)。

    但它似乎不是一个 joomla 核心插件,所以你为什么只更改原始 css 文件?它不应该被更新覆盖(因为它没有核心插件)?

    方法二:你可以复制(下载文件并重命名插件+重新安装)插件并禁用原来的插件。

    方法三: 尝试覆盖您自己的 css 文件中的 css 定义(使用 !important)并通过您的文件覆盖它们!

    【讨论】:

    • 我使用了方法 3 - 请参阅上面的评论。
    【解决方案2】:

    覆盖css的一个好方法是添加相同的选择器(具有相同的属性)并将它们放入您的模板css中。如果模板 css 在其他 css 之后加载,那么您的定义具有更高的优先级。否则你可以在你的选择器之前添加'body'选择器或者在每个值之后写一个'!important',但是这种方法有点混乱。

    另一种方法是尽可能取消设置 css(仅当 css 加载到 head 时才有效),例如

    unset($doc->_styleSheets[$this->baseurl.'/path/to/some.css']);
    

    【讨论】:

    • 我想改变的只是一个样式元素,我在 template.css 的末尾插入了这个定义,使用关键字 !important li.sigFreeThumb { margin: 0px 5px 5px 0px !important }
    • 插件的 CSS 似乎比模板的 CSS 加载得晚。因此,我不得不在 template.css 的末尾使用关键字 !important 来定义样式。
    猜你喜欢
    • 2018-04-06
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 2015-11-07
    相关资源
    最近更新 更多