返回顶部
首页 > 资讯 > 前端开发 > html >CSS自定义属性的示例分析
  • 192
分享到

CSS自定义属性的示例分析

2024-04-02 19:04:59 192人浏览 泡泡鱼
摘要

这篇文章主要为大家展示了“CSS自定义属性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS自定义属性的示例分析”这篇文章吧。 兼容性 第一个问

这篇文章主要为大家展示了“CSS自定义属性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS自定义属性的示例分析”这篇文章吧。

兼容性

第一个问题是:CSS 自定义属性能用在哪?目前从 Can I use 上获取的信息显示除了 Edge 外主流浏览器的最新版都已经支持这个特性了,而 Edge 也将支持这个属性.

这说明现在 CSS 自定义属性已经能用在实际项目中了,相信不久以后开发者们将大大依赖这个特性.但还请在使用之前请先检查一下本文附录中 Postcss 对于 CSS 自定义属性的支持情况,以便做好兼容.

设一个值,任何值都可以

那么……什么是自定义属性呢?简单来说就是一种开发者可以自主命名和使用的 CSS 属性.浏览器在处理像 color 、position 这样的属性时,需要接收特定的属性值,而自定义属性,在开发者赋予它属性值之前,它是没有意义的.所以要怎么给 CSS 自定义属性赋值呢?这倒和习惯无异:

.foo {

  color: red;

  --theme-color: gray;

}

自定义元素的定义由 -- 开头,这样浏览器能够区分自定义属性和原生属性,从而将它俩分开处理.假如只是定义了一个自定义元素和它的属性值,浏览器是不会做出反应的.如上面的代码, .foo 的字体颜色由 color 决定,但 --theme-color 对 .foo 没有作用.

你可以用 CSS 自定义元素存储任意有效的 CSS 属性值:

.foo {

  --theme-color: blue;

  --spacer-width: 8px;

  --favorite-number: 3;

  --greeting: "Hey, what's up?";

  --reusable-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.85);

}

使用

假如自定义属性只能用于设值,那也太没用了点.至少,浏览器得能获取到它们的属性值.

使用 var() 方法就能实现:

.button {

  background-color: var(--theme-color);

}

下面这段代码中,我们将 .button 的 background-color 属性值赋值为 --theme-color 的值.这例子看起来自定义属性也没什么了不起的嘛,但这是一个硬编码的情况.你有没有意识到,--theme-color 的属性值是可以用在任意选择器和属性上的呢?这可就厉害了.

.button {

  background-color: var(--theme-color);

}

.title {

  color: var(--theme-color);

}

.image-grid > .image {

  border-color: var(--theme-color);

}

缺省值

如果开发者并没有定义过 --theme-color 这个变量呢?var() 可以接收第二个参数作为缺省值:

.button {

  background-color: var(--theme-color, gray);

}

注意:如果你想把另一个自定义属性作为缺省值,语法应该是 background-color: var(--theme-color, var(--fallback-color))

传参数时总是传入一个缺省值是一个好习惯,特别是在构建 WEB components 的时候.为了让你的页面在不支持自定义属性的浏览器上正常显示,别忘了加上兼容代码:

.button {

  background-color: gray;

  background-color: var(--theme-color, gray);

}

作用域和级联

要在什么时候定义这些属性?在使用之前吗?自定义属性遵从标准的作用域和级联规则,开发者按照平时使用的习惯来就可以了!

你可能希望将 --theme-color 设置为全局变量,处处可用.最简单的方法是使用 :root 伪元素:

:root {

  --theme-color: gray;

}

这样定义以后,无论是按钮、标题还是图片网格乃至整个文档,都可以使用 --theme-color 了.

但当你希望不同的模块使用不同的 --theme-color 值怎么办呢?和初始化自定义属性的步骤相同,只需要在模块的作用域中给属性重新赋值,新的颜色就会分模块生效,而不需要开发者一个个重置使用到 --theme-color 的属性.

section.about {

  --theme-color: darkblue;

}

section.contacts {

  --theme-color: darkred;

}

section.news {

  --theme-color: teal;

}

当然,你也可以定义复杂的选择器规则,应用特定的属性值:

section.news > .sidenote {

  --theme-color: gray;

}

以上是“CSS自定义属性的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网html频道!

--结束END--

本文标题: CSS自定义属性的示例分析

本文链接: https://lsjlt.com/news/90941.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • CSS自定义属性的示例分析
    这篇文章主要为大家展示了“CSS自定义属性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS自定义属性的示例分析”这篇文章吧。 兼容性 第一个问...
    99+
    2024-04-02
  • H5自定义属性data-*的示例分析
    这篇文章主要为大家展示了“H5自定义属性data-*的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“H5自定义属性data-*的示例分析”这篇文章吧。 ...
    99+
    2024-04-02
  • HTML5中data-*自定义属性的示例分析
    这篇文章将为大家详细讲解有关HTML5中data-*自定义属性的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、关于html元素的特性1.html元素都存在一些...
    99+
    2024-04-02
  • CSS属性之定位属性的示例分析
    小编给大家分享一下CSS属性之定位属性的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!CSS的定位属性有三种,分别是绝对定位、相对定位、固定定位。posi...
    99+
    2023-06-08
  • CSS定位属性的示例分析
    这篇文章给大家分享的是有关CSS定位属性的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   1.定位的专业解释   (1)语法   position:static...
    99+
    2024-04-02
  • CSS Padding属性定义元素边框的示例分析
    CSS Padding属性定义元素边框的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Padding(填充)当元素的 ...
    99+
    2024-04-02
  • CSS定位position属性的示例分析
    这篇文章主要为大家展示了“CSS定位position属性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS定位position属性的示例分析”这篇文...
    99+
    2024-04-02
  • CSS属性MASK的示例分析
    小编给大家分享一下CSS属性MASK的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!顾名思义,mask 译为遮罩。在 CSS 中,mask 属性允许使用者通过遮罩或者裁切特定区域的图片的方式来隐藏一个元素的部分或者...
    99+
    2023-06-08
  • HTML5中Video属性及自定义播放器的示例分析
    这篇文章主要介绍了HTML5中Video属性及自定义播放器的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 使用方法: &nbs...
    99+
    2024-04-02
  • CSS定位中四个属性的示例分析
    这篇文章给大家分享的是有关CSS定位中四个属性的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   CSSposition属性   总共有四个属性:   stati...
    99+
    2024-04-02
  • CSS属性text-overflow的示例分析
    这篇文章主要为大家展示了“CSS属性text-overflow的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS属性text-overflow的示例...
    99+
    2024-04-02
  • CSS列表属性的示例分析
    这篇文章主要介绍了CSS列表属性的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 CSS 列表 从某种含意上讲,不是描摹性的文本...
    99+
    2024-04-02
  • phpunit自定义的示例分析
    这篇文章主要介绍phpunit自定义的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!下载:wget  https://phar.phpunit.de/ph...
    99+
    2024-04-02
  • Android重写View并自定义属性实例分析
    本文实例分析了Android重写View并自定义属性的方法。分享给大家供大家参考,具体如下: 这里通过自定义属性 实现如下图所示效果: 第一步:在res\values的目录下...
    99+
    2022-06-06
    自定义 view 属性 自定义属性 Android
  • css中will-change属性的示例分析
    这篇文章主要介绍了css中will-change属性的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。will-changeCSS 属...
    99+
    2024-04-02
  • CSS属性选择器的示例分析
    这篇文章主要介绍CSS属性选择器的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具有特定属性的HTML元素样式具有特定属性的HTML元素样式不仅仅是class和id。注意:I...
    99+
    2024-04-02
  • CSS中mask-image属性的示例分析
    这篇文章给大家分享的是有关CSS中mask-image属性的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。CSS mask遮罩属性的历史非常久远了,远到比CSS3 bor...
    99+
    2024-04-02
  • CSS中position属性sticky的示例分析
    这篇文章主要介绍了CSS中position属性sticky的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在开发移动端app时,经常会碰到需要这样一种情况 &...
    99+
    2023-06-08
  • Fabric.js保存自定义属性方法示例
    目录引言动手试试看代码仓库引言 之前有些工友留言:在 fabric.js 中怎么保存元素的自定义属性? 比如,创建一个矩形,这个矩形有自己的 ID 属性,在执行序列化操作出来的结果...
    99+
    2023-02-14
    Fabric.js 保存自定义属性 Fabric.js 保存属性
  • css为定位和浮动提供属性的示例分析
    这篇文章给大家分享的是有关css为定位和浮动提供属性的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 CSS 定位和浮动 CSS 为定位与浮动供应了一些属性,哄骗这些...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作