首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何避免css选择器从另一个文件中应用样式规则

如何避免css选择器从另一个文件中应用样式规则
EN

Stack Overflow用户
提问于 2017-11-08 17:19:03
回答 3查看 60关注 0票数 0

我在处理一个大型项目时遇到了这个问题,我觉得我应该向这里的社区征求意见。

我在style1.css中指定了一个css类“header”,即

代码语言:javascript
运行
AI代码解释
复制
.header { color: red;}

在另一个文件中,我无意中再次用以下规则命名了一个类“header”:

代码语言:javascript
运行
AI代码解释
复制
.header { background-color: yellow; }

当我刷新浏览器时,我注意到红色字体,检查了样式检查器后发现了问题。我试图通过应用专用性来避免这个问题,即#some .header,但这并没有阻止它应用红色字体。当然,我可以通过将头重命名为其他东西来解决这个问题,但是我很好奇处理大型项目的开发人员是如何处理这个问题的。耽误您时间,实在对不起。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-08 17:35:35

从您的代码中,您在header类的两个声明中指定了不同属性的值。第一个声明指定颜色属性,第二个声明指定背景色属性.从所有迹象来看,您并没有真正“覆盖”任何东西,因为您没有为一个属性提供冲突的值,所以CSS只是将头类的第一个声明的值给第二个属性,因为没有区别。如果您想要在第二次重写它,您可能必须向标题类的第二个声明中添加不同的标识符,以指向唯一的元素并为颜色属性指定不同的值。希望这能满足你的好奇心。

票数 1
EN

Stack Overflow用户

发布于 2017-11-08 17:41:07

不要像其他用户建议的那样使用!important。避免一切代价。暂时来说,这是一条简单的出路,但一旦你开始沿着这条路走下去,你就会得到一个很难管理的样式表。

为特定的基类设置样式,并使用类和更特定的选择器作为重写。记住样式表是层叠的。

例如,假设您有一个典型的标题字体颜色,应该是您的.header。如果您有其他一次性或唯一的报头,它们共享相同的结构,则为那些对您有意义的类提供另一个类。

,所以作为一个例子:

两个标头都有.header样式,但是带有特殊类的头具有蓝色文本颜色,覆盖红色。

代码语言:javascript
运行
AI代码解释
复制
.header {
  color: red;
  width: 100%;
  display: block;
  background-color: #eee;
  padding: 10px;
  margin: 2px;
}
.header.special {
  color: blue;
}
代码语言:javascript
运行
AI代码解释
复制
<div class="header">Regular Header</div>
<div class="special header">Special Header</div>

票数 1
EN

Stack Overflow用户

发布于 2017-11-08 17:44:11

只需在其中一个案例中添加一个不同的类即可。例如:

代码语言:javascript
运行
AI代码解释
复制
.header {
  color: red;
}

.header.yellow-bg {
  color: initial;
  background-color: yellow;
}
代码语言:javascript
运行
AI代码解释
复制
<h3 class="header">Red header</h3>
<h3 class="header yellow-bg">Black/yellow header</h3>

color的第二个声明之所以适用,是因为它更具体(2个类>1个类)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47192389

复制
相关文章
GWT 初体验
最近体验了一下 GWT(Google Web Toolkit),其实这个技术老早就有了,写 Java 代码,代码很像 AWT 或者 Swing,但是最后编译成一个 war 包,也就是说,没有啰嗦的 JavaScript、HTML 和模板语言,Java 从前到后通吃,常用的模块都被封装成组件了。虽说写起来代码还挺啰嗦的(写法上面居然不支持链式调用,这确实让我看不懂),而且也没有传统 Web 开发方式来得直观,但也算一种很有意思的开发方式,值得体验一下。网上有足够多的教程,要系统地学习,官方文档是最好的材料,非常详尽。而我的方式,则更具个人风格一点,比较+吐槽,这可不是教程。
四火
2022/07/18
1.1K0
GWT 初体验
在MySQL中查找重复记录
I want to pull out duplicate records in a MySQL Database. 我想在MySQL数据库中提取重复记录。 This can be done with: 这可以通过以下方式完成:
kirin
2021/04/30
4K0
Rdfind - 在Linux中查找重复文件
前段时间遇到一个问题,服务器下面一个文件夹下面的图片越来越多,由原来的5G,达到了现在的94G,其中这个文件夹下面有好多重复的图片,文件多了之后造成图片备份困难,图片迁移困难,浪费了大量的空间和IO。
kubernetes中文社区
2019/06/24
5.5K0
在 TS 中如何减少重复代码
相信有些读者已经听说过 DRY 原则,DRY 的全称是 —— Don’t Repeat Yourself ,是指编程过程中不写重复代码,将能够公共的部分抽象出来,封装成工具类或者用抽象类来抽象公共的东西,从而降低代码的耦合性,这样不仅提高代码的灵活性、健壮性以及可读性,也方便后期的维护。
阿宝哥
2020/05/06
2.4K0
uniq命令 – 去除文件中的重复行
uniq命令全称是“unique”,中文释义是“独特的,唯一的”。该命令的作用是用来去除文本文件中连续的重复行,中间不能夹杂其他文本行。去除了重复的,保留的都是唯一的,也就是独特的,唯一的了。
用户4988085
2021/07/24
3.1K0
使用uniq命令去除文件中的重复行
uniq命令全称是“unique”,中文释义是“独特的,唯一的”。该命令的作用是用来去除文本文件中连续的重复行,中间不能夹杂其他文本行。去除了重复的,保留的都是唯一的,也就是独特的,唯一的了。
用户7639835
2021/08/28
2.2K0
eclipse安装gwt插件,浏览器安装gwt插件,eclipse启动gwt自带的工程,并在浏览器上访问,eclipse导入gwt工程「建议收藏」
首先gwt插件,小编这里上传了eclipse和浏览器上的gwt插件:http://download.csdn.net/download/csdnliuxin123524/10255451
全栈程序员站长
2022/08/05
1.2K0
eclipse安装gwt插件,浏览器安装gwt插件,eclipse启动gwt自带的工程,并在浏览器上访问,eclipse导入gwt工程「建议收藏」
gwt之mvc4g
Mvc4g是一个简单的框架来实现的GWT应用程序的MVC模式。 主要思想 其主要思想是,以减轻开发人员的工作,以单独的视图从模型。该框架是一个XML文件,将允许开发人员告诉视图发射事件时要执行什么样
cloudskyme
2018/03/20
9180
gwt之mvc4g
快速在组合中查找重复和遗失的元素
? ? ? ? ? ? ? ?
望月从良
2018/09/29
4.5K0
快速在组合中查找重复和遗失的元素
在C#中如何List去除重复元素?
List中有两个一样的元素,想把两个都去除,用remove和removeall都不行,list中是对象,distinct好像也不太好使,还请各位帮忙解答一下。 代码片段如下: class Edge { public PointF start; public PointF end; }
全栈程序员站长
2022/11/16
2.6K0
LeetCode 609. 在系统中查找重复文件(哈希)
给定一个目录信息列表,包括目录路径,以及该目录中的所有包含内容的文件,您需要找到文件系统中的所有重复文件组的路径。 一组重复的文件至少包括二个具有完全相同内容的文件。
Michael阿明
2020/07/13
1.5K0
编程实现删除数组中在重复数字
编写程序,在被调函数中删去一维数组中所有 相同的数,使之只剩一个,数组中的数已按由 小到大的顺序排列,被调函数返回删除后数组 中数据的个数。 例如: 原数组: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10 删除后: 2 3 4 5 6 7 8 9 10
用户7886150
2021/02/05
1.2K0
在Linux命令中tail的用法
linux 中的 tail 命令用途是按照要求将指定的文件的最后部分输出到标准设备,一般是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,如果该档案有更新,tail 会自动刷新,确保你看到最新的档案内容。 工作中经常用 tail 命令查看 PHP 错误日志,接口日志等.分享一下这个命令的用法! 一、tail 命令语法 tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ] 参数说明:
沈唁
2018/05/24
3.8K0
在AMD PetaLinux中添加命令pstree
命令pstree将相关进程以树状图显示,方便查看进程间的关系。由于调试需要,需要在Linux里使用命令pstree。但是PetaLinux产生的Linux映像,默认不带命令pstree。
hankfu
2023/10/16
3620
在 Linux 中管理日志操作命令
在 Linux 系统上管理日志文件可能非常容易,也可能非常痛苦。这完全取决于你所认为的日志管理是什么。
用户8989785
2021/09/09
1.1K0
linux nslookup命令安装,在CentOS中安装nslookup命令
域名查询工具nslookup并不是Win系统的专利,Linux系统中也可以使用,不过要安装,默认没有。
全栈程序员站长
2022/11/02
5.9K0
在 Laravel 中编写高级的 Artisan 命令
在上一篇教程中,学院君向大家介绍了什么是 Artisan 命令,系统内置的 Artisan 命令,以及如何编写一个简单的 Artisan 命令。我们完全可以将命令行看作与 Web 应用同等的控制台应用(实际上,Laravel 底层也是这么做的),它具备自己的路由、Kernel、输入、控制器(命令类)、输出。因此,在这篇教程中,我们将更进一步,一起来看下如何编写更加高级的 Artisan 命令,比如带输入参数、选项,以及能够与用户互动,输出图表/进度条的 Artisan 命令。
学院君
2021/01/08
8.4K0
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。
例如 链表1->2->3->3->4->4->5 处理后为 1->2->5 public ListNode deleteDuplication(ListNode pHead) { ListNode cur = this.head; ListNode newHead = new ListNode(-1); ListNode tmp = newHead; while (cur != null){ if (cur.n
小雨的分享社区
2022/10/26
1.1K0
linux命令mysql启动,在linux中启动mysql服务的命令
用reboot命令重启linux服务器之后会导致mysql服务终止,也就是mysql服务没有启动。必须要重启mysql服务,否则启动jboss时会 报有关数据库mysql方面的错误。
全栈程序员站长
2022/08/27
20.2K0
linux命令mysql启动,在linux中启动mysql服务的命令
做技术,如何使自己在重复性业务中持续提升?
每个工作两年以上的技术人都应该想过,自己每天这样的这些业务代码,并没有什么技术含量,也没有什么拿得出手的项目,在公司的始终处于螺丝钉的地位,觉得自己目前做的一切虽然对公司有价值,但是似乎对自己并没有什么价值,难道一成不变的工作内容对我们真的没有任何价值么?
代码宇宙
2023/02/23
7290

相似问题

在If命令中重复If命令

26

GWT命令插入

118

在GWT中处理应用程序命令

12

在GWT命令模式中避免匿名内部类

10

在输出中重复命令

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档