我可以将一个HTML5元素的CSS规则应用于另一个HTML5元素而无需编辑核心文件和重复规则吗?如果可以的话我该怎么办?
这是我遇到的问题的简化版本:
core.style.css
的内容:
abbr {
color: #ff8c00;
}
span {
color: #e9967a;
}
extension1.style.css
的内容:
abbr {
/* applying style rules of span of core.style.css */
color: #e9967a;
}
如您所见,我希望abbr
的{{1}}与extension1.style.css
的{{1}}具有相同的规则。如果某人更新了span
的{{1}},则core.style.css
的{{1}}也应该更新。
修改
JavaScript不是一种选择。
答案 0 :(得分:1)
答案 1 :(得分:0)
为什么你没有core.style.css
拥有核心css,而不是复制新的风格:
abbr {
color: #e9967a;
}
span {
color: #e9967a;
}
并且extension1.style.css
有样式可以覆盖你想要的核心:
abbr {
color: #ff8c00;
}
然后在加载核心CSS后,只需在abbr
上想要不同颜色的页面上加载CSS:
<link rel="stylesheet" type="style/css" href="core.style.css" />
<link rel="stylesheet" type="style/css" href="extension1.style.css" />
或者,有一种方法可以使用PHP,在您的情况下可以使用任何类型的数据持有者。
<强> HTML:强>
<link rel="stylesheet" type="style/css" href="core.style.php" />
<link rel="stylesheet" type="style/css" href="extension1.style.php" />
CSS: core.style.php
<?php
header("Content-type: text/css; charset: UTF-8");
$color = // color variable obtained from data holder
?>
span {
color: <?=$color;?>;
}
abbr {
color: #e9967a;
}
CSS: extension1.style.php
<?php
header("Content-type: text/css; charset: UTF-8");
$color = // color variable obtained from data holder
?>
abbr {
color: <?=$color;?>;
}