2013-02-01 23 views
0

CSS颜色名称,有没有一种方法,以覆盖对JavaScript的转换复杂的CSS颜色名称将它们应用到DOM元素时RGB值。浏览器如何处理在源代码

例如:document.getElementById("colorMe").style.background = "lightblue" 将设置div.style对象的背景= rgb(...)

然而,document.getElementById("colorMe").style.background = "blue"将设置div.style对象与背景= blue

我想绕过javascript如何将该颜色转换为RGB值为复杂的颜色名称。这可能吗?

+0

如果你想做到这一点,我会用一些服务器以插入正确的值。 – Brad

+0

为什么不仅仅使用Chrome Inspector_而不是“查看源代码”? –

+0

不是“查看源代码”是否给你创作的源代码? –

回答

2

对于不透明颜色,CSS颜色的标准化格式是rgb(R,G,B),对于半透明颜色,标准格式为rgba(R,G,B,A)。不管你给出什么样的输入,它都会被转换为这些格式之一作为输出,并且没有什么可以做到的。

但是,您可以保存到其他地方的名称,如:

​​

然后只得到elem.getAttribute("data-color"),你有你lightblue输入。

+0

在铬检查器中,我可以指定'style =“background:lightblue;”'的来源,所以这段代码是有效的。那么它是JavaScript,那是转换价值?并且无法覆盖该默认转换? –

+0

这不是JavaScript,它只是浏览器如何在内部工作。例如,你可以* *'型等等',但浏览器将其转换为'等等' - 你不会看到这个当您检索的DOM,就像你不除直到您找回颜色格式更改才会看到。 –

+0

不幸的是我相信我不正确地问了这个问题。我不认为这与浏览器有关,但javascript如何转换'div.style'对象中的颜色。我可以做'div.style.background =“蓝色”',它将其存储为“蓝色”,但这样做'div.style.background =“lightblue”'将其存储为'RGB(...)',所以后来,当我访问javascript对象内部时,它不返回“lightblue”。我正在寻求重写THAT功能。而不是浏览器。 –

0

有一个叫做网页颜色标准...

http://en.wikipedia.org/wiki/Web_colors

当你的浏览器读取lightblue它只是将它转换为173 216 230

+0

我知道,当它读取红色时,javascript不会将其转换为RGB,而会将其保留为“红色”。有没有一种方法可以让lightblue在通过javascript设置时不会在'div.style'对象内转换? –

+0

不,但如果我明白你想要做什么,你可以用element.setAttribute('data-color','lightblue')...来保存跟踪那个颜色的东西... –