当计算机显示器颜色调色板有限时,网页设计师经常使用一组网页安全颜色来创建网站。虽然在较新设备上显示的现代网站可以显示比原始网页安全颜色调色板更多的颜色,但我有时喜欢在创建网页时参考网页安全颜色。 这样我就知道我的页面在任何地方看起来都不错。
您可以在网上找到网页安全颜色调色板,但我想拥有自己的副本以便于参考。 您也可以使用 Bash 中的 for
循环制作一个。
Bash for 循环
Bash 中的 for 循环的语法如下所示
for 变量 in 集合 ; do 语句 ; done
例如,假设您想打印从 1 到 3 的所有数字。您可以在 Bash 命令行上编写一个快速的 for
循环来为您完成此操作
$ for n in 1 2 3 ; do echo $n ; done
1
2
3
分号是标准的 Bash 语句分隔符。 它们允许您在单行上编写多个命令。 如果您要将此 for
循环包含在 Bash 脚本文件中,则可以改为用换行符替换分号,并将 for
循环编写成这样
for n in 1 2 3
do
echo $n
done
我喜欢将 do
与 for
放在同一行,这样我更容易阅读
for n in 1 2 3 ; do
echo $n
done
一次多个 for 循环
您可以将一个循环放在另一个循环内部。 这可以帮助您迭代多个变量,一次执行多项操作。 假设您想打印字母 A、B 和 C 与数字 1、2 和 3 的所有组合。 您可以使用 Bash 中的两个 for
循环来完成,如下所示
#!/bin/bash
for number in 1 2 3 ; do
for letter in A B C ; do
echo $letter$number
done
done
如果您将这些行放在名为 for.bash
的 Bash 脚本文件中并运行它,您将看到九行,显示所有字母与每个数字配对的组合
$ bash for.bash
A1
B1
C1
A2
B2
C2
A3
B3
C3
循环遍历网页安全颜色
网页安全颜色是从十六进制颜色 #000
(黑色,其中红色、绿色和蓝色值均为零)到 #fff
(白色,其中红色、绿色和蓝色颜色均为最大强度)的所有颜色,以 0、3、6、9、c 和 f 的十六进制值步进。
您可以使用 Bash 中的三个 for
循环生成网页安全颜色的所有组合列表,其中循环迭代红色、绿色和蓝色值。
#!/bin/bash
for r in 0 3 6 9 c f ; do
for g in 0 3 6 9 c f ; do
for b in 0 3 6 9 c f ; do
echo "#$r$g$b"
done
done
done
如果您将其保存在名为 websafe.bash
的新 Bash 脚本中并运行它,您将看到所有网页安全颜色的迭代,以十六进制值表示
$ bash websafe.bash | head
#000
#003
#006
#009
#00c
#00f
#030
#033
#036
#039
要制作一个 HTML 页面,您可以将其用作网页安全颜色的参考,您需要将每个条目设为一个单独的 HTML 元素。 将每种颜色放在 <div>
元素中,并将背景设置为网页安全颜色。 为了使十六进制值更易于阅读,请将其放在单独的 <code>
元素中。 更新 Bash 脚本,使其看起来像这样
#!/bin/bash
for r in 0 3 6 9 c f ; do
for g in 0 3 6 9 c f ; do
for b in 0 3 6 9 c f ; do
echo "<div style='background-color:#$r$g$b'><code>#$r$g$b</code></div>"
done
done
done
当您运行新的 Bash 脚本并将结果保存到 HTML 文件时,您可以在 Web 浏览器中查看输出,以查看所有网页安全颜色
$ bash websafe.bash > websafe.html

(Jim Hall,CC BY-SA 4.0)
该网页看起来不是很美观。 黑色文本在深色背景上无法阅读。 我喜欢应用一些 HTML 样式,以确保十六进制值在颜色矩形内以白色文本显示在黑色背景上。 为了使页面看起来真正美观,我还使用 HTML 网格样式来排列框,每行六个框,并且每个框之间有一些空间。
要添加这种额外的样式,您需要在 for 循环之前和之后包含其他 HTML 元素。 顶部的 HTML 代码定义了样式,底部的 HTML 代码关闭了所有打开的 HTML 标签
#!/bin/bash
cat<<EOF
<!DOCTYPE html>
<html lang="en">
<head>
<title>Web-safe colors</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
div {
padding-bottom: 1em;
}
code {
background-color: black;
color: white;
}
@media only screen and (min-width:600px) {
body {
display: grid;
grid-template-columns: repeat(6,1fr);
column-gap: 1em;
row-gap: 1em;
}
div {
padding-bottom: 3em;
}
}
</style>
</head>
</body>
EOF
for r in 0 3 6 9 c f ; do
for g in 0 3 6 9 c f ; do
for b in 0 3 6 9 c f ; do
echo "<div
style='background-color:#$r$g$b'><code>#$r$g$b</code></div>"
done
done
done
cat<<EOF
</body>
</html>
EOF
这个完成的 Bash 脚本生成一个 HTML 格式的网页安全颜色指南。 每当您需要参考网页安全颜色时,运行该脚本并将结果保存到 HTML 页面。 现在您可以在浏览器中看到网页安全颜色的表示形式,作为您下一个 Web 项目的易于参考的指南
$ bash websafe.bash > websafe.html

(Jim Hall,CC BY-SA 4.0)
1 条评论