Maison >Opération et maintenance >Nginx >Créez des couleurs sécurisées pour le Web à l'aide de Bash

Créez des couleurs sécurisées pour le Web à l'aide de Bash

WBOY
WBOYavant
2023-07-07 18:54:081534parcourir

使用 Bash 制作 Web 安全颜色

Lorsque les écrans d'ordinateur ont une palette de couleurs limitée, les concepteurs de sites Web utilisent souvent un ensemble de couleurs sécurisées pour le Web pour créer des sites Web. Alors que les sites Web modernes affichés sur des appareils plus récents peuvent afficher plus de couleurs que la palette Web sécurisée d'origine, j'aime parfois faire référence aux couleurs Web sécurisées lors de la création de pages Web. De cette façon, je sais que ma page sera belle partout.

Vous pouvez trouver des palettes sécurisées pour le Web en ligne, mais je voulais avoir ma propre copie pour pouvoir m'y référer facilement. Vous pouvez également utiliser for boucle pour en créer une. for 循环创建一个。

Bash for 循环

Bash 中的 for 循环 的语法如下所示:

for 变量 in 集合 ; do 语句 ; done

例如,假设你想打印从 1 到 3 的所有数字。你可以快速在 Bash 命令行上编写一个 for 循环来为你完成这项工作:

$ for n in 1 2 3 ; do echo $n ; done123

分号是标准的 Bash 语句分隔符。它们允许你在一行中编写多个命令。如果你要在 Bash 脚本文件中包含这个 for 循环,你可以用换行符替换分号并像这样写出 for 循环:

for n in 1 2 3doecho $ndone

我喜欢将 do 和 for 放在同一行,这样我更容易阅读:

for n in 1 2 3 ; doecho $ndone

一次多个 for 循环

你可以将一个循环放在另一个循环中。这可以帮助你迭代多个变量,一次做不止一件事。假设你想打印出字母 A、B 和 C 与数字 1、2 和 3 的所有组合。你可以在 Bash 中使用两个 for 循环来实现,如下所示:

#!/bin/bashfor number in 1 2 3 ; dofor letter in A B C ; doecho $letter$numberdonedone

如果将这些行放在名为 for.bash 的 Bash 脚本文件中并运行它,你会看到九行显示了所有字母与每个数字配对的组合:

$ bash for.bashA1B1C1A2B2C2A3B3C3

遍历 Web 安全颜色

Web 安全颜色是从十六进制颜色 #000(黑色,即红色、绿色和蓝色值均为零)到 #fff(白色,即红色、绿色和蓝色均为最高),每个十六进制值的步进为 0、3、6、9、c 和 f。

你可以在 Bash 中使用三个 for 循环生成 Web 安全颜色的所有组合的列表,其中循环遍历红色、绿色和蓝色值。

#!/bin/bashfor r in 0 3 6 9 c f ; dofor g in 0 3 6 9 c f ; dofor b in 0 3 6 9 c f ; doecho "#$r$g$b"donedonedone

如果将其保存在名为 websafe.bash

Boucle for Bash

La syntaxe d'une boucle for dans Bash est la suivante : 🎜
$ bash websafe.bash | head#000#003#006#009#00c#00f#030#033#036#039
🎜Par exemple, supposons que vous souhaitiez imprimer tous les nombres de 1 à 3. Vous pouvez rapidement écrire un for la boucle fait le travail à votre place : 🎜
#!/bin/bashfor r in 0 3 6 9 c f ; dofor g in 0 3 6 9 c f ; dofor b in 0 3 6 9 c f ; doecho "<div style='background-color:#$r$g$b'><code>#$r$g$b</code></div>"donedonedone
🎜Le point-virgule est le délimiteur d'instruction Bash standard. Ils vous permettent d'écrire plusieurs commandes sur une seule ligne. Si vous souhaitez l'inclure dans un fichier de script Bash for boucle, vous pouvez remplacer le point-virgule par une nouvelle ligne et écrire comme ceci for boucle : 🎜
$ bash websafe.bash > websafe.html
🎜J'aime for sur la même ligne pour que ce soit plus facile à lire : 🎜
#!/bin/bashcat<<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>EOFfor r in 0 3 6 9 c f ; dofor g in 0 3 6 9 c f ; dofor b in 0 3 6 9 c f ; doecho "<divstyle='background-color:#$r$g$b'><code>#$r$g$b</code></div>"donedonedonecat<<EOF</body></html>EOF

Plusieurs boucles for à la fois

🎜Vous pouvez mettre une boucle dans une autre. Cela vous aide à parcourir plusieurs variables et à faire plus d'une chose à la fois. Supposons que vous souhaitiez imprimer toutes les combinaisons des lettres A, B et C avec les chiffres 1, 2 et 3. Vous pouvez en utiliser deux dans Bash for pour y parvenir, comme indiqué ci-dessous : 🎜
$ bash websafe.bash > websafe.html
🎜Si vous mettez ces lignes dans un fichier nommé for.bash dans le fichier de script Bash et exécutez-le, Vous verrez neuf lignes montrant toutes les combinaisons de lettres associées à chaque chiffre : 🎜rrreee

Couleurs sécurisées pour le Web Traverse

🎜Les couleurs sécurisées pour le Web sont dérivées des couleurs hexadécimales #fff (le blanc, c'est-à-dire que le rouge, le vert et le bleu sont les plus élevés), chaque valeur hexadécimale a des pas de 0, 3, 6, 9, c et f . 🎜🎜Vous pouvez utiliser trois for Boucles pour générer une liste de toutes les combinaisons de couleurs sécurisées pour le Web, en parcourant les valeurs rouge, vert et bleu. 🎜rrreee🎜Si vous l'enregistrez sous le nom websafe.bash dans un nouveau script Bash et exécutez-le, et vous verrez une itération de valeurs hexadécimales pour toutes les couleurs Web : 🎜
$ bash websafe.bash | head#000#003#006#009#00c#00f#030#033#036#039

要制作可用作 Web 安全颜色参考的 HTML 页面,你需要使每个条目成为一个单独的 HTML 元素。将每种颜色放在一个 <div> 元素中,并将背景设置为 Web 安全颜色。为了使十六进制值更易于阅读,将其放在单独的 <code> 元素中。将 Bash 脚本更新为如下:

#!/bin/bashfor r in 0 3 6 9 c f ; dofor g in 0 3 6 9 c f ; dofor b in 0 3 6 9 c f ; doecho "<div style='background-color:#$r$g$b'><code>#$r$g$b</code></div>"donedonedone

当你运行新的 Bash 脚本并将结果保存到 HTML 文件时,你可以在浏览器中查看所有 Web 安全颜色的输出:

$ bash websafe.bash > websafe.html

使用 Bash 制作 Web 安全颜色

Colour gradient.

这个网页不是很好看。深色背景上的黑色文字无法阅读。我喜欢使用HTML样式,以确保在颜色矩形上以白色文本显示十六进制值,并且背景为黑色。我使用了HTML网格样式将每行六个框进行排列,并为了美观效果,在框之间留有适当的间距。

你需要在循环之前和之后包含其他的HTML元素来添加额外的样式。在顶部的HTML代码中定义样式,并在底部的HTML代码中关闭所有已打开的HTML标签

#!/bin/bashcat<<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>EOFfor r in 0 3 6 9 c f ; dofor g in 0 3 6 9 c f ; dofor b in 0 3 6 9 c f ; doecho "<divstyle='background-color:#$r$g$b'><code>#$r$g$b</code></div>"donedonedonecat<<EOF</body></html>EOF

这个完整的Bash脚本生成了一个用HTML格式制作的Web安全颜色指南。当需要引用网络安全颜色时,运行脚本并将结果保存至 HTML 页面。你可以在浏览器中查看 Web 安全颜色演示,以作为你下一个 Web 项目的简单参考

$ bash websafe.bash > websafe.html

使用 Bash 制作 Web 安全颜色

(题图:MJ/abf9daf2-b72f-4929-8dd8-b77fb5b9d39b)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer