Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
Javascript 我可以让一个元素继承其他元素的属性吗?_Javascript_Jquery_Css - Fatal编程技术网

Javascript 我可以让一个元素继承其他元素的属性吗?

Javascript 我可以让一个元素继承其他元素的属性吗?,javascript,jquery,css,Javascript,Jquery,Css,我们提供了一个预填充的WordPress站点,供多个成员在其服务器上使用。主题有一个选择器,用户可以在其中自定义标题颜色和字体。每个成员将根据其品牌拥有不同的颜色 该网站还包括一个知识库插件,它使用自己的颜色,可以在其界面内定制。相反,我们希望能够根据主题的调色板设置已知的底色/属性。最终,我们希望成员只需要在一个地方更改主题的颜色,而不是定制每个插件 因此,如果H1全局设置为蓝色,我们希望能够告诉knowledgebase的元素.kb头与H1的颜色相同 通过CSS或Javascript或其他方

我们提供了一个预填充的WordPress站点,供多个成员在其服务器上使用。主题有一个选择器,用户可以在其中自定义标题颜色和字体。每个成员将根据其品牌拥有不同的颜色

该网站还包括一个知识库插件,它使用自己的颜色,可以在其界面内定制。相反,我们希望能够根据主题的调色板设置已知的底色/属性。最终,我们希望成员只需要在一个地方更改主题的颜色,而不是定制每个插件

因此,如果H1全局设置为蓝色,我们希望能够告诉knowledgebase的元素.kb头与H1的颜色相同

通过CSS或Javascript或其他方式,这是可行的吗


非常感谢

可以使元素继承父元素的属性。例如:

p{颜色:红色;} a{color:inherit;}
段落与

如果您想继承面向对象编程,比如html标记没有任何关系,您可以使用SCS,例如SASS,它是一个文本预处理器,通过类似CSS的编码生成CSS,此外还可以使用变量等

对于更多的细节,我认为这可以帮助你的大部分项目很多


如果您不想使用SASS,您甚至可以使用javascript(带库或不带库)来完成这项工作,因为普通CSS无法在不相关的标记之间有条件地应用样式。

我已经编写了一个小型版本来描述您要找的内容。希望这有帮助:P

<html>
<style>
h1 {
    background-color: blue;
}
</style>
<body>
<h1>Hey!</h1>
<div class="kb-header">I'm a div :)</div>

<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    var bgColor = $("h1").css("background-color");
    $(".kb-header").css({"background-color": bgColor});
});
</script>
<body>
</html>

在CSS中,您可以将选择器与逗号组合在一起,并为这两个选择器创建一个单独的规则块: .a、.b{属性:value;}。 并且仍然使用下面的示例中的其他声明来设置一个或另一个选择器的样式

当选择器不相关时,它会导致维护问题,但如果它是由主题生成器生成的,那应该没问题。您不想设置这些给定组件的样式,但有一个明确的文档列表,其中列出了必须使用一组颜色设置样式的内容

h1, .kb标头{ 颜色:深色; } h1{ 字号:2rem; } @媒体最小宽度:961px{ .kb标头{ 边框:1个实心番茄; } 标题 无样式段落


这是StackOverflow的标题。请看一看,通读,然后阅读,并提供一个。如果周围的人能够轻松阅读并理解您的意思或问题所在,他们可能更愿意提供帮助:这对SASS变量不起作用,因为在生产中,您的变量将被转换为spiled为常量值。因此,您将无法更新每个用户的变量。如果在打印客户端之前在服务器端的目标元素上生成不同的基于用户ID的类,这可能会起作用,就像您在wordpress上对内容所做的一样。如果您不想处理此clean选项,则可以重写属性由于加载速度和加载速度的原因,不推荐使用javascipt加载。请记住,您可以在运行时动态编译SASS,当然,还可以为每个用户添加不同的css样式表,并根据用户动态加载所需的样式表。这是处理此逻辑的一个好选项我不建议在运行时编译SASS,但是是的,这可以做到。只要用户更改某些颜色值并保存它,您就只需编译它,因此它不是一个加载作业。