基于javascript的web安全颜色
我想通过使用javascript显示一个具有所有web安全颜色及其值的表。我的功能不好用。首先,它跳转到另一页,我不知道如何显示颜色值基于javascript的web安全颜色,javascript,web,colors,Javascript,Web,Colors,我想通过使用javascript显示一个具有所有web安全颜色及其值的表。我的功能不好用。首先,它跳转到另一页,我不知道如何显示颜色值 function display() { document.write("<table><tr>"); var hexarr = new Array("00", "33", "66", "99", "CC", "FF"); var currcolor = "#"; for(red=0; red<6; red
function display() {
document.write("<table><tr>");
var hexarr = new Array("00", "33", "66", "99", "CC", "FF");
var currcolor = "#";
for(red=0; red<6; red++){
for(green=0; green<6; green++){
for(blue=0; blue<6; blue++){
currcolor = "#" + hexarr[red] + hexarr[blue] + hexarr[green];
document.write("<td bgcolor=" + currcolor + " title=" + currcolor + "
height=100></td>");
}
document.write("</tr><tr>");
}
}
document.write("</tr></table>");
}
函数显示(){
文件。填写(“”);
var hexarr=新数组(“00”、“33”、“66”、“99”、“CC”、“FF”);
var currcolor=“#”;
对于(红色=0;红色Wow)所有的老学校
不要使用document.write
。它旨在动态创建标记,效率非常低
您可以使用table=document.createElement(“table”)
创建一个表,并使用row=table.insertRow()
添加行,使用cell=row.insertCell()
将单元格添加到行中。表完成后,使用document.body.appendChild(table)将其添加到文档中
或添加到包含元素tableContainer.appendChild(table)
要创建数组,请使用数组文字。例如hex=[“00”、“33”、“66”、“99”、“Cc”、“Ff”]
要将颜色添加为表格单元格中的文本,只需设置单元格textContent
属性。但是,由于颜色范围较大,您需要确保文本的颜色与背景颜色不匹配
您可以通过添加红绿和蓝色值来实现这一点。如果它们添加到阈值以下,请将文本颜色设置为白色,否则设置为黑色。最好使用粗体字体。例如“arial black”
该示例对文本颜色测试的rgb值进行凹凸处理,以说明人类感知的颜色敏感性(这是一个粗略估计)
函数webSaveColorTable(){
const table=document.createElement(“表”);
常量十六进制=[0,0x33,0x66,0x99,0xCC,0xFF];
const toHex=val=>val.toString(16).toUpperCase().padStart(2,“0”);
常数宽度=100,高度=55;
用于(十六进制常数红色){
用于(十六进制的常量绿色){
常量行=table.insertRow();
用于(十六进制常数蓝色){
const colBg=“#”+toHex(红色)+toHex(绿色)+toHex(蓝色);
const c=Object.assign(row.insertCell(),{textContent:colBg,width,height});
对象。赋值(c.style{
背景颜色:colBg,
颜色:红色*0.2+绿色*0.7+蓝色*0.1>128?#000:“fff”
});
}
}
}
document.body.appendChild(表);
}
webSaveColorTable();
正文{
字体系列:arial黑色;
}
运输署{
文本对齐:居中;
}
您可能想看看这个及其替代方案。您的循环看起来不错,但由于一些很好的原因,这种编写内容的方式已经过时了。