创建CSS全局变量:样式表主题管理[重复]

2023-11-26

有没有办法在 css 中设置全局变量,例如:

@Color1 = #fff;
@Color2 = #b00;

h1 {
  color:@Color1;
  background:@Color2;
}

最新更新:16/01/2020

CSS 自定义属性(变量)已经到来!

2020 年到了,是时候在您的新应用程序中正式推出此功能了。


预处理器"NOT"必需的!

CSS中有很多重复的地方。单一颜色可以用在多个地方。

对于某些 CSS 声明,可以在级联中声明得更高,让 CSS 继承自然地解决这个问题。

对于重要的项目来说,这并不总是可能的。通过声明一个变量:root伪元素,CSS 作者可以通过使用该变量来停止某些重复实例。

怎么运行的

在样式表顶部设置变量:

CSS

创建根类:

:root {
}

创建变量(--[String] : [value])

:root {
  --red: #b00;
  --blue: #00b;
  --fullwidth: 100%;
}

在 CSS 文档中的任意位置设置变量:

h1 {
  color: var(--red);
}
#MyText {
  color: var(--blue);
  width: var(--fullwidth);
}

浏览器支持/兼容性

See caniuse.com为了当前的兼容性。

![supported browsers


Firefox:版本31+ (默认启用)

支持自2014 (像往常一样在前面带路。)

More info from Mozilla


Chrome:版本49+ (默认启用).

支持自2016


Safari/IOS Safari:版本9.1/9.3(默认启用).

支持自2016


Opera:版本39+ (默认启用).

支持自2016


Android:版本52+ (默认启用).

支持自2016


Edge:版本15+ (默认启用).

支持自2017

CSS 自定义属性登陆 Windows Insider Preview 版本 14986


IE:天方夜谭。

终于到了让这艘船沉没的时候了。无论如何,没有人喜欢骑她。 ☺


W3C SPEC

即将推出的 CSS 变量的完整规范

Read more


试试看

下面附有小提琴和片段以供测试:

(它仅适用于支持的浏览器。)

演示小提琴

:root {
  --red: #b00;
  --blue: #4679bd;
  --grey: #ddd;
  --W200: 200px;
  --Lft: left;
}
.Bx1,
.Bx2,
.Bx3,
.Bx4 {
  float: var(--Lft);
  width: var(--W200);
  height: var(--W200);
  margin: 10px;
  padding: 10px;
  border: 1px solid var(--red);
}
.Bx1 {
  color: var(--red);
  background: var(--grey);
}
.Bx2 {
  color: var(--grey);
  background: black;
}
.Bx3 {
  color: var(--grey);
  background: var(--blue);
}
.Bx4 {
  color: var(--grey);
  background: var(--red);
}
<p>If you see four square boxes then variables are working as expected.</p>

<div class="Bx1">I should be red text on grey background.</div>
<div class="Bx2">I should be grey text on black background.</div>
<div class="Bx3">I should be grey text on blue background.</div>
<div class="Bx4">I should be grey text on red background.</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建CSS全局变量:样式表主题管理[重复] 的相关文章

  • Quill 公开可用的 CSS

    我最初的目的是从 PrimeFaces TextEditor 组件输出的 HTML 生成 PDF 文件 而该组件又基于 免费开源 WYSIWYG 编辑器 Quill 为此 我需要获取 TextEditor 组件生成的 HTML 将其包含在
  • 重新创建 CSS3 过渡三次贝塞尔曲线

    在 CSS3 过渡中 您可以将计时函数指定为 cubic bezier 0 25 0 3 0 8 1 0 在该字符串中 您仅指定曲线上点 P1 和 P2 的 XY 因为 P0 和 P3 始终分别为 0 0 0 0 和 1 0 1 0 根据苹
  • 编辑类名中带有空格的元素的 css 样式

    我正在创建一个 tumblr 我必须编写一个外部 CSS 文件 但我在编辑 post 元素的 css 样式时遇到问题 这是它的结构 li class post quote other code li 问题是类名中有空格 我如何创建一个 CS
  • 如何强制折断不可折断的字符串?

    我有一个根据数据库中包含的数据生成的 HTML 页面 数据库有时包含浏览器无法分解的长字符串 因为这些字符串不包含可分解的字符 空格 点 逗号等 有没有办法使用 html css 甚至 javascript 来解决这个问题 看到这个link
  • 宽度:适合内容;在 Chrome 上工作,但在资源管理器上不工作

    我构建了一个应用程序 所有内容都在 Chrome 中完美显示 但如果我在 Windows 资源管理器中打开该应用程序 容器会比应有的小 我在用着width fit content 这是只适用于 Chrome 的东西吗 我怎样才能使其适用于所
  • 使用 :hover 作为元素的内联样式(使用 HTML/CSS/php)[重复]

    这个问题在这里已经有答案了 可能的重复 如何将 a hover 规则嵌入到文档中间的样式属性中 https stackoverflow com questions 131653 how do i embed an ahover rule i
  • 将输入中每个单词的第一个字符设为大写

    我想知道如何在输入区域自动生成单词的第一个字符 目前我的代码是 Name
  • Twitter bootstrap 3表单水平和单行多个输入列

    我需要将多列输入放在单行中 如下所示 我通过将多个输入分组为一个来做到这一点form group 但是这样我不能使用has error class div class form group div
  • 将父容器扩展至 100% 高度以容纳浮动内容

    我正在为一个客户项目而苦苦挣扎 我的全部divs 没有绝对定位 height 100 for html body 和容器divs 但静态内容未达到其内容 在 910 像素处 我可以将溢出属性更改为auto 并且背景会继续向下到内容的末尾 但
  • 在我的 index.php 中加载 CSS 和 JS 等资源时出现错误 403

    我使用的是 Linux Elementary OS 并在 opt 中安装了 lampp My CSS and JS won t load When I inspect my page through browser The console
  • 如何倾斜 div 并保持背景图像不倾斜

    我已经花了几个小时了 所以希望有人能提供帮助 我有一个网站 其中大部分 div 都是倾斜的 大多数 div 都包含背景图像 现在我已经让 div 倾斜了 内容完美地位于其中 唯一的问题是背景图像 它与父级一起倾斜 我用谷歌搜索了很多 但找不
  • Textmate“注释”命令对于 css 代码无法正常工作

    当我在 TextMate 中切换 CSS 源代码的注释时遇到一些问题 Using the shortcut CMD I activate the Comment Line Selection command from the source
  • 单击按钮时增加 ASP.net 中的变量

    我是 ASP NET 新手 我正在使用 VB net 创建一个 ASP net 网站 所以这是我的问题 Dim myCounter as Integer 0 Protected Sub Button1 Click ByVal sender
  • 按百分比设置 bootstrap 模态身高

    我正在尝试制作一个带有主体的模态 当内容变得太大时 该主体会滚动 但是 我希望模式能够响应屏幕尺寸 当我将最大高度设置为 40 时 它没有任何效果 但是 如果我将最大高度设置为 400px 它会按预期工作 但不会响应 我确信我只是错过了一些
  • 如何更改 Bootstrap 3 div 列顺序

    正在做我的第一个响应式设计 在 Bootstrap 3 中可能会出现类似的情况 在 lg 上更改此设置 a b c sm 上的这个 a c b 您可以使用两个 div 一个用于第一类型的布置 另一个用于第二类型的布置 第一个仅在 lg 中显
  • Jquery 中的动态滚动位置

    请帮助我解决以下情况 我有 3 个页面 当滚动到达第二页时 用户滚动页面 它必须找到特定的 ID 然后触发一个函数 一旦第三页开始 另一个函数就会触发 根据要求我不应该使用任何插件
  • 覆盖并重置 CSS 样式:auto 或 none 不起作用

    我想覆盖为所有表定义的以下 CSS 样式 table font size 12px width 100 min width 400px display inline table 我有一个特定的表 其类名为 other 最后的餐桌装饰应该是这
  • 我可以停止 :hover 应用于元素吗?

    假设我有一些 CSS button hover font weight bold 我怎样才能防止 hover随意应用样式 我的目标用例是当元素被禁用时 例如 使用这个 HTML
  • 悬停时为 SVG 制作动画

    我正在尝试在悬停时为 SVG 文件设置动画 默认情况下 它可以使用 svg 函数实现出色的动画效果 例如
  • 闪亮井板宽度

    library shiny library shinydashboard ui lt dashboardPage dashboardHeader dashboardSidebar dashboardBody wellPanel tags d

随机推荐

  • 为什么析构函数比构造函数被调用更多? [复制]

    这个问题在这里已经有答案了 在以下代码中 析构函数被调用两次 而构造函数仅被调用一次 enum TFoo VAL1 VAL2 class CFoo public TFoo mf CFoo cout lt lt hi c tor1 n mf
  • 使用 android:process=":remote" 重新创建 android Application 对象

    我在我的应用程序中使用 AIDL 服务 我还想运行另一个进程 所以我使用android process remote 在清单中的服务声明中 我的问题是 当 remote进程启动它显然重新创建Application object 我真的不这样
  • 使用 jquery 获取 optgroup 中选择选项的索引

    我有以下选择
  • IntelliJ 社区版 JSP 语法高亮

    我刚刚下载了 IntelliJ 15 0 1 Community Edition 因为我厌倦了 Eclipse 而且它在我的笔记本电脑 Ubuntu 14 04 LTS 上看起来很糟糕 一切都进行得很顺利 直到我发现 JSP 文件中的语法突
  • 列表列表的所有组合[重复]

    这个问题在这里已经有答案了 我基本上是在寻找 python 版本的组合List
  • 告诉 git 永远不要更新文件

    我在 git 中有一些文件 即配置文件 我需要将它们放在 git 存储库中 但我不希望它们更新 出于某种原因 运行它们 然后更改配置文件 那么有什么方法可以告诉 git 忽略对文件的任何更改 但将原始文件保留在存储库中吗 目前 我发现执行此
  • 如何识别 Google OAuth2 用户?

    我使用 Facebook 登录来识别用户 当新用户到来时 我将他们的用户 ID 存储在我的数据库中 下次他们来的时候 我认出了他们的 Facebook ID 并且知道我的数据库中是哪个用户 现在我尝试用 Google 的 OAuth2 做同
  • 从 QChar 检索 Unicode 代码点 > U+FFFF

    我有一个应用程序应该处理各种字符并在某些时候显示有关它们的信息 我在 QChar QString 等中使用 Qt 及其固有的 Unicode 支持 现在我需要 QChar 的代码点来查找一些数据http unicode org Public
  • 使用 django 并扭曲在一起

    1 我想开发一个有论坛和聊天的网站 聊天和论坛以某种方式链接 对于每个线程来说 用户可以在该线程的聊天室中聊天 或者可以在论坛上发表回复 我正在考虑使用 django 进行论坛 并使用twisted 进行聊天 我可以将两者结合起来吗 使用t
  • 我应该使用哪种 X-UA 兼容模式?

    我一直在阅读有关在网页上使用文档兼容性元标记的主题 我有点困惑哪个内容值适合 用于 xhtml 过渡文档类型的共识 然后逐步使用 HTML5 文档类型 我们仍然支持 IE6 IE7 所以 IE EmulateIE8 是最合适的 有人可以帮忙
  • 手机锁定时 Android 服务停止工作

    我有一个启动服务的应用程序 该服务有一个计时器 每 30 秒弹出一次通知 我注意到以下行为 如果屏幕在屏幕上 则通知显示正常 即使应用程序在后台 如果屏幕关闭 通过电源按钮或本身关闭 则不会显示通知 如果屏幕关闭但我正在运行调试 则会出现通
  • Android:如何在启动屏幕上对齐 2 个图像

    我想使用包含 2 个图像的启动屏幕 主图像必须完全居中 次要图像必须位于底部和主图像之间的中心 The expected render is something like this But I don t see how to get th
  • Python结构模式匹配

    我无法运行此代码 match shape case Point x y case Rectangle x y print x y 我找不到matchPython 中的关键字 我在这里找到了它 https www python org dev
  • Angular 2:不改变 URL 的路由

    如何在 Angular 2 应用程序中进行路由而不更改 URL 这是因为该应用程序位于 Django 应用程序页面上的几个选项卡之一下 适合将 URL 保持不变 目前我里面有这样的东西app component ts RouteConfig
  • 有没有办法直接在 Jupyter 单元中调用 wait ?

    我见过此类代码在某些环境中工作的示例 例如https github com ipython ipykernel pull 323 但对我来说这只会提高SyntaxError so far Update 我知道在 纯 Python 中它不起作
  • 如何在java中检查(未经检查的)强制转换?

    我有以下问题 我想编写一个使用java反射的框架 我 从某处 获得一个类的名称 我想加载该类并创建一个实例 作为侧面约束 所有有效的类都属于一个公共超类 为了保持简单和容易 我不会发布我所有的课程 相反 我编写了某种 MWE 见下文 我该怎
  • 从 TFS 签出时的 .partial 文件

    当我从 TFS 查看解决方案时 我在整个项目中得到了很多 partial 文件 它们不在 TFS 服务器上 而在我的 PC 上 遗憾的是 其中一些阻止我的解决方案运行 我总是必须手动删除它们 我能以某种方式阻止这种情况吗 他们来自哪里 这些
  • 如何通过 slack API 删除/禁用用户?

    我对此尝试了多种方法 首先尝试获取没有任何用户 ID 的用户 这仅返回我的用户 然后尝试获取具有其他 id 的用户 它也可以正确检索数据 但是 我似乎无法将用户属性设置为 已删除 我正在使用这种Python方法 slack client a
  • 本地存储库需要 Git LFS 吗?

    我创建了一个专门存储在本地的 Git 存储库 我问自己 我是否真的需要 Git LFS 来存储二进制文件 据我所知 gitattributes已正确配置 如下所示 psd binary 是的 文件落在 git objects 但它们被压缩并
  • 创建CSS全局变量:样式表主题管理[重复]

    这个问题在这里已经有答案了 有没有办法在 css 中设置全局变量 例如 Color1 fff Color2 b00 h1 color Color1 background Color2 最新更新 16 01 2020 CSS 自定义属性 变量