【发布时间】:2019-03-31 09:01:48
【问题描述】:
我正在为私人目的编写一个 HTML 页面,该页面应该以图形方式显示矩阵的内容。本质上,我有一个由 div 组成的表格,每个单元格都有一个形状。例如,我从https://www.w3schools.com/howto/howto_css_shapes.asp 获取了三角形。正如您在他们的示例中看到的,div 的背景颜色在 div 的样式定义中编码。
我现在想做的是在所有单元格中到处都有相同的形状,但是任意改变颜色。我可以做的是制作两个具有相同样式定义的 div,然后只在涉及颜色的地方分开行。但关键是,我有任意数量的不同颜色(它实际上取决于矩阵),因此,这种方法不是可取的。
相反,这是我的问题:是否可以在调用 div 时更改颜色? IE。我现在想在调用 div 时更改颜色,而不是让单个类具有相同的颜色或同一类的多个副本具有不同的颜色。有没有可能做这样的事情:
<div class="triangle(red)"></div>
<div class="triangle(green)"></div>
<div class="triangle(light-red)"></div>
等等各种颜色?我在 css 中搜索了变量用法并找到了一些页面,但在我看来它们是相当静态的,即一个在顶部或通过 js 定义它们,但它们仍然被硬编码到样式定义中,所以它们没有真的从 div 变成了 div。
感谢您的建议!
康尼
【问题讨论】:
-
好吧,如果我理解正确,您可以创建颜色类(例如
.red),它们所做的只是改变颜色。然后,在 div 声明中,您将这样写:class="triangle red。 -
为每种颜色创建一个类。
.green{ background: green} .red { background: red}。然后像这样添加到您的类属性:<div class="triangle green"></div><div class="triangle red" ></div> -
考虑 CSS 变量(例如:stackoverflow.com/a/55091778/8620333)
-
不,您不能在没有脚本的情况下动态执行此操作,或者设置静态类/变量。 CSS 不是一种编程语言,因此没有可以运行的方法(目前除了
calc()和attr())
标签: css