Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 两个连续调用的样式表中的第二个是否可以覆盖第一个中定义的所有样式?_Css_Inheritance_Overriding_Stylesheet - Fatal编程技术网

Css 两个连续调用的样式表中的第二个是否可以覆盖第一个中定义的所有样式?

Css 两个连续调用的样式表中的第二个是否可以覆盖第一个中定义的所有样式?,css,inheritance,overriding,stylesheet,Css,Inheritance,Overriding,Stylesheet,如果我有一个链接到两个样式表的HTML页面,它们的调用方式如下: <link rel="stylesheet" href="original.css" media="screen, projection" /> <link rel="stylesheet" href="override.css" media="screen, projection" /> 如果这两个文件定义了完全相同的样式名称,那么original.css是否真的对样式化页面的结果没有影响,并且所有

如果我有一个链接到两个样式表的HTML页面,它们的调用方式如下:

<link rel="stylesheet" href="original.css" media="screen, projection" />
<link rel="stylesheet" href="override.css" media="screen, projection" />

如果这两个文件定义了完全相同的样式名称,那么
original.css
是否真的对样式化页面的结果没有影响,并且所有样式都来自
override.css
中定义的样式


我问这个问题的原因是:我有一个
original.css
,我不能修改它,我不想触及调用这个文件的代码行。相反,我希望在调用原始文件后立即插入对新文件的调用,并覆盖原始文件中定义的所有内容。我不确定这是否有效,是否可取,等等。

是的,这会有效。你说得对,不过这并不明智。与其“不接触”原始代码行,不如在其周围插入注释标记?

是的,当然可以。这就是级联样式表的级联部分


我要问,为什么你不能删除original.css,或者不输出它,或者。。。。某物这似乎是一个非常大的方法来完全覆盖original中的所有内容:-)如果您确实输出了original.css和override.css,浏览器需要做的工作要比只输出override.css多得多。

它将覆盖所有被覆盖的内容,但将补充所有内容,这些内容不是相同的,而是不同的,应用于类、id、伪选择器或其他内容的信息。我是说,即:

original.css-

p { margin: 4px 6px 10px 12px; }
h1 { font-size: 2.2em }
override.css-

p { padding: 6px; color: #666666; }
h1 { font-size: 1.5em }
我所说的是p在override.css中得到了补充,因为两种样式之间没有冲突。另一方面,H1示例确实被覆盖,每个样式表中的两个规则相互冲突,因此最后一个声明获胜

这并不像人们想象的那么糟糕。。。几个月前,我刚刚结束了moodle的一个网站,它是一个风格和数据混杂的疯人院。该模板使用来自默认模板、页面模板和课程的样式表数据。当我试图意识到什么样的风格做了什么时,我因为找不到适合自己的正确代码而感到非常紧张。。。我最终决定附加一个带有新的覆盖样式和新的补充样式的样式表。这让我节省了大约两周的时间,在一个设计师做梦也想不到的代码地狱里钻研

希望这有助于你得到一个更清晰的想法


再见。

这种需求的一个很好的例子是Sharepoint。编辑任何主题都会给您留下大量需要从core.css类重写的更改。

Firefox的“Web开发人员”或“Firebug”插件之类的好工具可以很好地帮助您整理多个样式表。在Firebug中,您可以扫描HTML并被告知应用于每个元素的样式。Web开发人员与此类似。(我更喜欢WebDeveloper,除非子元素完全填充其父元素,在这种情况下,无法在WD中选择父元素,并且必须使用Firebug。)