超级简单的 CSS 变量入门

超级简单的 CSS 变量入门

Photo by 杰克逊·索法特

文章英文原文: css变量的超级简单开始

如果你像我一样,你对 CSS 变量的游戏有点晚了。也许你(和我一样)喜欢在 CSS-in-JS 中使用真正的 JavaScript 变量。不幸的是,我认识和尊重的聪明人说这很棒,我必须接受这个相对较新的平台。

当我开始创业时,我喜欢非常简单地开始。一起来看看吧。

在聊天中 “CSS 变量” ve “CSS 自定义属性” 我听说有人讨论过它,但我并不真正理解其中的差异。事实证明它们本质上是一样的‍♂️“CSS 自定义属性”是技术术语,但它通常被称为“CSS 变量”。

好吧,我们开始吧。变量 (自定义属性) 让我们快速开始:

 <html>  
 <style>  
 :根 {  
 --颜色:蓝色;  
 }  
 .我的文字{  
 颜色: var(--color);  
 }  
 </style>  
 <body>  
 <div class="my-text">这将是蓝色的</div>  
 </body>  
 </html>

:根 , <html> 是匹配的伪类 (伪类) .实际上, :根 取而代之 html 与我们使用的完全相同(更高的特异性) (特异性) 除了有)。

就像 CSS 中的所有其他内容一样,您可以将变量范围限定为文档的某些部分。出色地, :根 而不是普通的选择器 (选择器) 我们可以用:

 <html>  
 <style>  
 .蓝色文本{  
 --颜色:蓝色;  
 }  
 .red-text {  
 - 红色;  
 }  
 .我的文字{  
 颜色: var(--color);  
 }  
 </style>  
 <body>  
 <div class="blue-text">  
 <div class="my-text">这将是蓝色的</div>  
 </div>  
 <div class="red-text">  
 <div class="my-text">这将是红色的</div>  
 </div>  
 </body>  
 </html>

级联也适用于此:

 <html>  
 <style>  
 .蓝色文本{  
 --颜色:蓝色;  
 }  
 .red-text {  
 - 红色;  
 }  
 .我的文字{  
 颜色: var(--color);  
 }  
 </style>  
 <body>  
 <div class="blue-text">  
 <div class="my-text">这将是蓝色的</div>  
 <div class="red-text">  
 <div class="my-text">  
 这将是红色的(即使它在蓝色文本 div 中,  
 红色文本更具体)。  
 </div>  
 </div>  
 </div>  
 </body>  
 </html>

您甚至可以使用 JavaScript 更改变量的值:

 <html>  
 <style>  
 .蓝色文本{  
 --颜色:蓝色;  
 }  
 .red-text {  
 - 红色;  
 }  
 .我的文字{  
 颜色: var(--color);  
 }  
 </style>  
 <body>  
 <div class="blue-text">  
 <div class="my-text">  
 这将是绿色的(因为 JS 会改变颜色属性)  
 </div>  
 <div class="red-text">  
 <div class="my-text">  
 这将是红色的(即使它在蓝色文本 div 中,  
 红色文本更具体)。  
 </div>  
 </div>  
 </div>  
 <script>  
 const blueTextDiv = document.querySelector('.blue-text')  
 blueTextDiv.style.setProperty('--color', 'green')  
 </script>  
 </body>  
 </html>

在这里,它是你的 你超级简单的开始 .我没有在这篇文章中提到你为什么要这样做。我会让你用谷歌搜索(或者让你自己想象)来弄清楚。我希望这有助于您快速了解这个想法。祝你好运!

PS:如果你想知道它在 React 中是如何工作的,请查看: 使用 CSS 变量而不是 React 上下文 .

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/22952/00210910

posted @ 2022-09-09 10:00  哈哈哈来了啊啊啊  阅读(68)  评论(0编辑  收藏  举报