搜索
首页web前端css教程创建具有自定义属性,HSL和Little calc()的彩色主题

创建具有自定义属性,HSL和Little calc()的彩色主题

在CSS自定义属性(通常称为“变量”)之前,在单个网站上管理多种配色方案需要单独的样式表 - 一种麻烦的方法。现在,我们可以在单个样式表中定义变量,并让CSS处理变体。

即使没有用户定义的主题,范围内的主题也很有价值。例如,不同的部分可能采用不同的调色板。

让我们构建一个示例:我们的示例在各节之间使用一致的轻度,仅变化。单个色调的简化调色板看起来像这样:[[示例为简洁而省略了示例调色板,正如原始作品中的视觉表示]。多种色调会扩展这一点,可以轻松地使用HSL管理一个值。

利用自定义属性

自定义属性广泛支持且容易填充,可为较旧的浏览器提供,提供与标准CSS相似的简单语法。基本用法如下:[正如原始概念上解释的那样,省略了简洁的基本用法示例]。变量通常在:root伪元素上定义,但可以使用诸如数据属性之类的属性将其范围范围为特定元素。

集成calc()

自定义属性不限于固定值。 calc()函数可以在一致的模式中启用动态值计算:[示例使用calc()省略了简洁的calc(),正如原始概念上所述的那样]。尽管CSS缺乏循环,但预处理器可以帮助生成代码的一部分(但请记住:CSS变量与SASS变量不同)。

实践实施CSS变量

我们的目标是在不同的页面部分更改组件的颜色。我们将使用具有ID的三个部分: #food#lifestyle#travel ,每个部分都与不同的色调相关联。 .wrapper div上的data-theme属性确定活动色调。当#travel处于活动状态时--first-hue (例如,蓝绿色的180°)被分配给--hue

<div data-theme="travel">
  
</div>

<style>
.wrapper[data-theme="travel"] {
  --hue: var(--first-hue); /* = 180° = teal */
}
</style>

一个小的JavaScript片段根据单击“ Tabs”单击更新data-theme属性,然后删除哈希( # )。这利用JavaScript操纵CSS的能力,与编译后是静态的预处理器变量不同。

渐进式增强

为了确保JavaScript禁用的用户可访问性,我们添加了渐进式增强:

 //渐进式增强:
//没有JavaScript所有部分显示,仅在页面加载时设置主题
wrapper.dataset.theme = wrapper.queryselector('section')。id;

即使没有JavaScript,这也可以确保基本功能。

虽然这里使用了单页方法,但是将部分作为单独的页面提供服务器端data-theme设置也是可行的。

替代方法

如果颜色值不会线性变化,我们可以将样式表分开:[示例为简洁而省略,正如原始概念上的概念上的解释]。

支持Web组件

主题Web组件需要:host-context()伪选择器:[示例为简洁而省略,正如原始概念上解释的那样]。

结论

CSS自定义属性简化了网站主题,可提高可维护性,性能和与JavaScript的集成。结合HSL和calc() ,它们解锁功能强大的主题功能,扩展到简单的颜色更改到用户控制的主题。

以上是创建具有自定义属性,HSL和Little calc()的彩色主题的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
仅CSS的星级等级组件等等! (第2部分)仅CSS的星级等级组件等等! (第2部分)Apr 22, 2025 am 10:23 AM

在两部分系列的第二篇文章中,Temani AFIF演示了一种使用实验性卷轴驱动的动画而不是使用边框图像属性,从第一篇文章中创建星级评级组件的另一种方法。

衬线税衬线税Apr 22, 2025 am 10:22 AM

字体是向量。矢量艺术的分数比较少点的矢量艺术更大的文件。下载自定义字体。因此,字体少

简单而无聊简单而无聊Apr 22, 2025 am 10:21 AM

简单性是网页设计和开发中有趣的形容词。我确定它几乎是每个项目的引用目标。没有人走进开球

下一个genpm下一个genpmApr 22, 2025 am 10:20 AM

因此,许多Web项目都使用NPM来吸引前端和背部的依赖关系。 npm安装和走开,将数千个文件拉入一个

重新访问CSS边界图像重新访问CSS边界图像Apr 22, 2025 am 10:08 AM

我定期使用边界图像。然而,它仍然是最不受欢迎的CSS工具之一,而我一生都无法弄清楚原因。人们是否有可能因为其语法尴尬和不直觉而避开边界图像?也许是

可访问性事件可访问性事件Apr 22, 2025 am 10:07 AM

“没有某种方式知道何时 - …?”

使很难搞砸驱动的开发使很难搞砸驱动的开发Apr 22, 2025 am 10:02 AM

发展很复杂。我们的工作是完成工作和以安全,持久的方式完成这项工作之间的一场持续的战斗。

在一个小时内与Vuelidate的形式验证在一个小时内与Vuelidate的形式验证Apr 22, 2025 am 10:00 AM

形式验证因实施棘手而闻名。在本教程中,我们将分解事情以减轻其中的一些痛苦。创造不错

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境