Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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的web安全颜色_Javascript_Web_Colors - Fatal编程技术网

基于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

我想通过使用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++){ 
  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黑色;
}
运输署{
文本对齐:居中;

}
您可能想看看这个及其替代方案。您的循环看起来不错,但由于一些很好的原因,这种编写内容的方式已经过时了。