背景:我正在开发我的 Web 应用程序的主要新功能版本,我认为也可以通过更新用户界面来“庆祝”一下。由于我没有专业重新设计的预算,我想我可以改为对 style.css 表进行一些细微的更改。
理想情况下,会有一个程序可以导入我的 style.css 表(颜色是围绕 Windows XP 设计的)并导出一个 Windows 7 样式的新 style.css 表。 虽然我见过允许您导入 css 表并自己玩每种颜色然后导出的程序 [我既没有时间也没有眼睛去做],但我还没有看到任何可以自动更改整个 css 表的东西在颜色之间保持某种相关性。
我写了下面的 VBA 代码 [我知道它可以改进很多,但我只是把它放在一起进行实验] 这将改变 style.css 表的所有颜色(如果它被粘贴到事件的 A 列Excel表格)。假设 CSS 颜色以十六进制表示,例如 #123456(其中 12 是红色分量,34 是绿色分量,56 代表蓝色分量)目前的代码使颜色的红色分量更大,而蓝色成分较少。 [查看函数 makeWarmer]
Sub changeCSSColors()
For j = 1 To 1390 'number of rows
a = Cells(j, 1)
b = InStr(a, "#")
If b > 0 Then
aHex = UCase(Mid(a, b + 1, 6))
If isHexS(aHex) Then
a = Left(a, b) + makeWarmer(aHex) + Mid(a, b + 7)
Cells(j, 1) = a
End If
End If
Next j
End Sub
Function isHex(aChar)
If InStr("ABCDEFabcdef01234567890", aChar) > 0 Then isHex = True Else isHex = False
End Function
Function isHexS(aString)
For j = 1 To Len(aString)
b = Mid(aString, j, 1)
If Not isHex(b) Then isHexS = False: Exit Function
Next j
isHexS = True
End Function
Function makeWarmer(aString)
b = addOneToChar(Mid(aString, 1, 1))
c = subOneToChar(Mid(aString, 5, 1))
makeWarmer = addOneToChar(Mid(aString, 1, 1)) + Mid(aString, 2, 1) + addOneToChar(Mid(aString, 3, 1)) + Mid(aString, 4, 1) + addOneToChar(Mid(aString, 5, 1)) + Mid(aString, 6, 1)
End Function
Function swapBlueGreen(aString)
swapBlueGreen = Mid(aString, 3, 2) + Mid(aString, 1, 2) + Mid(aString, 5, 2)
End Function
Function addOneToChar(aChar)
If (aChar >= "0" And aChar <= "8") Or (aChar >= "A" And aChar <= "E") Then
aChar = Chr(Asc(aChar) + 1)
ElseIf aChar = "9" Then
aChar = "A"
ElseIf aChar = "F" Then
aChar = "F"
End If
addOneToChar = aChar
End Function
Function subOneToChar(aChar)
If (aChar >= "1" And aChar <= "9") Or (aChar >= "B" And aChar <= "F") Then
aChar = Chr(Asc(aChar) - 1)
ElseIf aChar = "A" Then
aChar = "9"
ElseIf aChar = "0" Then
aChar = "0"
End If
subOneToChar = aChar
End Function
我还尝试使用函数 SwapBlueGreen 更改蓝色和绿色组件。但是,这两种功能都没有获得令人满意的视觉效果。 [Web 应用程序看起来很奇怪]
除了我可以使用的 makeWarmer 或 SwapBlueGreen 之外,是否有人对函数有任何其他想法,也许是某种掩蔽。或者,也许有一些软件可以满足我的需求。
最佳答案
您可以将旧文档转换为 SASS 并使用 powerful SASS color functions做你的操纵。
这可能比自己写程序容易:)
关于css - 更改我网页的整个颜色模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13047866/