html - 为 2 个不同的对象生成相同的 2 种随机颜色
问题描述
基本上,我必须为 2 个不同的身体随机选择相同的颜色。有没有人对我如何将两个对象链接为具有相同的随机颜色有任何提示?每当发生某种情况时,颜色应该会刷新,并且两个身体都应该具有特定的颜色。多谢!//顺便说一句,任何代码语言都是有用的
解决方案
我建议使用自定义属性(也称为CSS 变量):
function randomColor() {
const r = Math.floor(Math.random() * 256);
const g = Math.floor(Math.random() * 256);
const b = Math.floor(Math.random() * 256);
return `rgb(${r},${g},${b})`;
}
const root = document.documentElement;
root.style.setProperty("--random-color", randomColor());
.element-1,
.element-2 {
background-color: var(--random-color);
}
<p class="element-1">Element 1</p>
<hr />
<p class="element-2">Element 2</p>
如果您愿意,可以将自定义属性设置为 CSS 文件中的某个默认值:
:root {
--random-color: rebeccapurple;
}
并确保你的元素使用这个属性,使用CSSvar()
函数:
.element-1,
.element-2 {
background-color: var(--random-color);
}
然后,您使用以下方法覆盖您的 if 语句中的该属性style.setProperty
:
if (condition) {
const root = document.documentElement;
root.style.setProperty("--random-color", randomColor());
}
在本文中阅读有关动态设置自定义属性的更多信息。
推荐阅读
- rust - 如何将 std::ffi::OsString 转换为 f64 或 f32
- php - 如何让 GuzzleHttp 客户端正确发送 POST 请求?
- java - 如何从 android 中的 pom.xml 文件创建 gradle 依赖项?
- python - 如何将图像作为参数从 ac# 应用程序传递给 python 脚本,而无需从磁盘写入/读取它?
- css - 在 div 中添加元素会使其他元素消失
- reactjs - 如何使用 turfjs 和 mapbox js 从方形网格中选择和突出显示单元格?
- leaflet - 在传单中显示关系(轨迹)
- python - NEAT 的 TypeError
- python - tkinter框架内的网格?
- python - 过滤掉多维numpy数组中的行