css - 更改我网页的整个颜色模式

标签 css colors

背景:我正在开发我的 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/

相关文章:

JavaScript:如何更改创建的跨度的 CSS 样式?

css - 背景颜色,顶部有不透明图像

html - 链接中带有 CSS 的垂直文本

html - <DIV> 和 Shadowbox

css - 使用 CSS 自定义粗体

带有CSS条件的javascript if语句

performance - 变换 : scale immensely slow in all versions of firefox

c# - C# .NET 标签中的多种颜色

python - axes.prop_cycle 的 Matplotlib 1.5 用法

r - R中的半色箱线图