【问题标题】:CSS Conflicting Style SheetsCSS 冲突样式表
【发布时间】:2023-03-09 20:00:01
【问题描述】:

我有两个样式表,它们在几个方面相互冲突。因为我使用了 5 个、6 个,有时甚至是 9 个或 10 个完整的插件,每个插件都有三到四个样式表,以及我自己的,所以到处都会出现冲突。解决此问题的最佳方法是什么?是不是只能进去修改所有插件的选择器?

编辑:问题是所有插件都使用自己的样式表,这些样式表相互冲突。如果不修改所有选择器,最佳但可能是不可能的解决方案是将样式表轻松本地化到页面的某些部分。

【问题讨论】:

  • 我曾希望插件样式表只针对相关元素,而不会与其他元素发生太多冲突。拥有如此多的资源一定是移动设备的杀手锏。
  • 它不在网站的“前端”供用户使用。管理人员可以从网站上查看统计数据、图表、数据收集等。
  • 为什么重要的是给谁?插件作者仍然应该注意这些事情并使用非常具体的选择器......
  • 另外,因为在这一点上存在一些混淆,我猜想:你是说你自己的样式表与插件冲突,还是插件的样式表相互冲突?
  • @Colleen 我的评论是关于“移动杀手”部分,因为这部分确实需要功能而不是快速加载时间。我认为我的编辑应该清除所有内容,抱歉之前不够具体。

标签: html css web stylesheet


【解决方案1】:

记住一些关于样式覆盖的非常基本的技巧:

首先,尽量避免使用肯定会被其他来源使用的通用类名和 id。

其次,!important 可以覆盖样式,但只能以有意义的方式使用...

三、css的“级联”部分的层次结构向下-> out:

所以

#header a{
    color:#fff;
}

#header div a{
    color:#000;
}

#header div.some-class a.active{
    color:#ff0000;
}

无论放在哪里,底部选择器都会优先考虑,因为它专门针对可怕的选择器链。因此,也许您需要以一种减少被其他来源覆盖的机会的方式编写您的 css。

【讨论】:

  • 你不认为他坚持选择器修改并且不触及css胆量是最好的吗?我的意思是就 !important 而言。
【解决方案2】:

最好的方法绝对是去修改插件的选择器,除非你自己写插件。您应该修改自己的 classes/ids/css 文件以...没有冲突。

【讨论】:

  • 问题是它们相互冲突
  • 对 - 这也是我从这个问题中得到的。可能是因为他说“和我自己一起”
【解决方案3】:

让你的 CSS 尽可能具体,除非你确信你知道自己的方式,否则我不会修改插件。

【讨论】:

    【解决方案4】:

    使用特定且适当的 ID 将您要本地化的每个部分包装在其自己的 div 中。然后将样式表中的每个选择器修改为以 #specificSectionID 开头。在一个不错的代码编辑器中查找/更改,您将在五分钟内完成。示例:

    .headersection a {color: #DDD; background: transparent}
    //becomes
    #topSection .headersection a {color: #DDD; background: transparent}
    

    【讨论】:

      猜你喜欢
      • 2016-04-19
      • 1970-01-01
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多