一个有趣的问题,但也许它已经解决了。我有一组适用于多个域的CSS样式表。它的架构方式,两个域共享相同的CSS文件,并将自己的定义和规则添加到样式表。我们的系统就是这样,只要开发人员对属于特定域的CSS文件进行更改,那么同样的更改也需要在另一个域的样式表中完成。
例如,如果我有两个域:Main,SubMain。其中的BOth共享一个名为global.css的样式表,而在SubMain域上工作的开发人员通过添加新规则来更改此样式表。为了确保主域中的内容不会中断,开发人员需要继续向global.css添加相同的规则到主域的global.css样式表。
为什么这个没有相同的共享位置超出了我,因为这是一个共享的工程项目。我的理解是,原因是更改将立即应用,不幸的是唯一的选择是在所有域中使用相同的样式表+目录结构。 但是这个问题确实存在并且是巨大的开销。无论如何都要扩展CSS样式表,以便可以将特定于域的CSS添加到扩展样式表中。
如果没有,可以提出哪些其他解决方案?
答案 0 :(得分:1)
如果你在两个地方有相同的代码,为什么有两个文件(这也适用于编码 - 方法或变量或其他)?如果你使用的东西比较多,请把它放在一个地方,并在其他地方引用它。
您需要做的是将Main
网站指向CSS
文件的本地副本(如此):
<link rel=stylesheet type=text/css href="/global.css">
...然后在SubMain
网站上,在您的标题中添加指向Main
网站的CSS文件的链接(如此):
<link rel=stylesheet type=text/css href="http://mainwebsite.com/css/global.css">
要解决您的问题,只能在一个域(Main
)上拥有可编辑的CSS文件/文件,然后使用另一个(SubMain
)网站中的绝对URL链接到它们。 / p>
答案 1 :(得分:0)
我不明白你。我不知道你的问题在哪里。你想添加2个css样式表吗?
<link href="style.css" type="text/css" rel="stylesheet" />
<link href="style2.css" type="text/css" rel="stylesheet" />
或者你想要2个域使用1个样式表吗?
<link href="http://url.com/style.css" type="text/css" rel="stylesheet" />
两个域都可以使用它。您没有链接到样式表的目录中。你把你风格的链接放在里面。这将解决您的问题。
答案 2 :(得分:0)
两个域都可以使用一个CSS文件。
<link rel="stylesheet" type="text/css" href="http://myotherdomain.com/css/global.css">
只需链接到一个CSS文件。
或者,如果您真的想要“同步”它们,您可以创建一个rsync脚本,但这没有意义。
答案 3 :(得分:0)
很明显,您知道可以跨域包含样式表:
<link rel=stylesheet type=text/css href="http://example.com/global.css">
但是你知道你可以包含多个样式表吗?创建一个包含所有“主”样式的样式表,并将其放在域中一个的global.css中(您的选择)。每个域唯一的样式可以位于特定于该域的样式表中。
<link rel=stylesheet type=text/css href="http://example.com/css/global.css">
<link rel=stylesheet type=text/css href="/css/specific.css">