CSS有没有继承的概念? 如何不使用 JS 让 新添加的classA 的样式和 已有的classB 是一样的?

目前现状:我现在一个工程下,有1k个网站,这些网站只是样式的不同,每个网站都有自己的个性化的css样式,比如不同网站的button的颜色是不同。

需求:现在所有网站都添加了一个“表格A“,而 ”表格A“ 的颜色需要和button的颜色是一样的。

备注1:因为网站数量太多,不可能逐一修改所有网站的css样式文件。而且目前没有使用sass less。

备注2:不能用JavaScript jQuery实现。

请问大家,有没有办法实现?最好是纯CSS的样式

我认为是我的提问没有说清楚,我重新描述下问题:目前每个网站都加载了基础的theme.css文件,而且每个网站都有自己个性化的css文件,并且每个个性化的css文件中button的颜色是不同的。
问题是: 现在页面需要添加一个表单,而表单的颜色需要和个性化的css文件中的button颜色一样。也就是说,每个网站的表单颜色是不一样的。
但是因为网站有上千个,不可能一个个css文件去添加这个属性。所以想如何在基础的theme.css文件中实现这个业务。

阅读 2.7k
2 个回答

这个不是一直有嘛

1. css variables

:root {
  --bgcolor: black;
}
body {
  background: var(--bgcolor);
}

2. 提取

就跟 BEM 命名规则一样, 你把公共的 css 包抽离出来不就行了, 然后什么 default, success

很简单啊,利用 css 的覆盖特性
每个网站都加在加载默认主题文件:<link rel="stylesheet" href="theme.css">
以下是假设 theme.css 内容

.button{
background:white
}

然后加载各自主题文件:<link rel="stylesheet" href="theme-blue.css">

.button{
background:blue
}

就覆盖啦
至于如何加载还要考虑到你的工程化,项目框架等等,配合不同的工具实现,不过原理大概就是这样。
对你的需求还有一些不大清晰,这里也很难描述很清晰,可以再交流交流。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题