CSS 变量中的 CSS calc() 行为

2024-04-10

我对使用 calc() 设置 CSS 变量的行为感到好奇。

Example:

#test {
    --halfWidth: calc(100% / 2);
}

现在,如果#test元素,比如说div,宽 500px,我想要--halfWidth变量设置为 250px。

但是,据我所知var(--halfWidth)其他地方使用的代码只需放入calc(100% / 2)字符串而不是250px。这意味着我不能使用元素 A 的计算并稍后在元素 B 中使用它,因为它只是简单地设置例如width: var(--halfWidth);作为元素 B 宽度的一半,而不是定义变量的元素 A 宽度的一半。

我在网络上搜寻,试图找到有关此行为的任何文档,但到目前为止我一无所获。

理想情况下,使用 calc 设置 CSS 变量应该有两种变体:

  1. 一种变体的工作方式与此示例类似,只需按原样放入字符串,禁止任何字符串内变量替换。
  2. 第二种变体,其中 calc() 将产生计算结果,而不是简单地替换字符串。

如何实现这一目标?我宁愿将实际的实现留给适合它的人,但一种可能性是eval()之类的事情;喜欢eval(calc(100% / 2))会给出结果250px.

无论如何,如果有人有关于此行为的任何真实文档或如何让上面的示例产生结果的解决方案,我洗耳恭听!

编辑:仅供参考,我已阅读规格https://drafts.c​​sswg.org/css-variables/ https://drafts.csswg.org/css-variables/


这是一个很难回答的问题,因为答案不会是:

这样做...然后它就会起作用

您面临的问题是 CSS 的正常行为。它层叠了样式。如果你想要实现的目标能够实现,那么短时间内它就会变得非常混乱。

我的意思是你可以定义这样的变量是多么酷

#test {
    --halfWidth: calc(100% / 2);
}

where var(--halfWidth)应该永远是calc(100% / 2)。您是否注意到它始终是父元素宽度的一半?

想象一下,如果一个程序员在几个月内阅读了你的代码并得到了宽度为1000px设置为--halfWidth现在是250px宽......我认为互联网坏了:)它应该只是500px wide.

为了实现你想要的,你可以/应该定义不同的vars 定义父元素的宽度。并将其分给孩子们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS 变量中的 CSS calc() 行为 的相关文章

  • jquery 文本旋转

    我在 div 中有一个简单的文本 如下所示 div div This is an example text div div 我希望 div 内的文本旋转 20 30 度 我已经找到了this https stackoverflow com
  • 用于创建动画渐变按钮背景的 CSS

    我正在寻找一个CSS规则可以创建一个CSS动画按钮的彩色渐变背景 https i stack imgur com NHqf8 gif 我只是想玩它并这样做 https codepen io prashant nadsoftdev pen b
  • 使用过渡+不透明度更改+溢出隐藏时出现问题

    如果您看到我共享的代码示例 您可以看到覆盖层超出了框的范围 我将问题追溯到transition属性 我想删除div之外的内容 溢出没有按预期工作 删除transition有效 但如果可能的话我想保留它 任何帮助表示赞赏 代码笔链接 http
  • Twitter Bootstrap - 多图像(缩略图)轮播 - 一次移动一个缩略图

    我正在尝试 Twitter bootstrap 3 我对 HTML CSS 和 Javascript 还很陌生 我有一个我创建的轮播 它的代码如下所示 div class container div class carousel slide
  • onclick 函数上的 CSS 选择器

    有没有办法让CSS选择器onclick function 您可以在onclick https stackoverflow com questions 24365416 select element which have specific a
  • 将引导程序中的表单居中不起作用[重复]

    这个问题在这里已经有答案了 我试图将我的表单置于 div 中 但我使用的方法不起作用 我尝试使用引导文档中所述的 justify content center 属性 但它没有将其居中 当我尝试将其居中但应用时display flex and
  • 底部页脚的 css 布局,动态 ajax 内容更改页面高度

    Update 实际上 我现在通过放弃固定页脚设计来解决这个问题 动态内容移动页脚并适当调整容器大小似乎没有问题 除非页脚最初固定在浏览器底部 我希望其他人最终能够提供一个兼具两全其美的出色解决方案 I spent all day tryin
  • CSS:如何在模糊的背景上剪切文本?

    我想重新创建以下样式 我想出了以下内容 问题是剪切不会影响模糊滤镜 我不知道如何解决它 这是我的 HTML 代码 glass width 40 height 100 position absolute background rgba 255
  • 左对齐图像和居中文本在 div 内的同一级别?

    HTML br div class UpperTitle img src align left CableSolve Web Dashboard Version 0 1 1 div br CSS UpperTitle text align
  • window.open 使用 css 样式

    我想设计我的 window open 目前 我的网页上有一些项目由于解析了某个类而打开 然后在新窗口中打开指定的文本 我想更改字体大小 字体和填充等 这是我的 JavaScript 代码
  • 文本溢出:省略号显示不同的字符

    我这里遇到了一些 CSS 问题 看这张图片 https www flickr com photos 125543025 N07 saved 1 在此图像中 我为文本 INTENSE TRAINING 添加了 CSS 样式 sample st
  • Outlook 有条件 CSS If 吗?

    我需要一些特定的 css 来发送 html 电子邮件 但仅限于 Outlook 我正在寻找相当于
  • 外部 css 文件在 Flask 框架中不起作用

    我正在尝试在我的 html 文件中使用外部 css 文件 起初我使用 bootstrap 框架 效果很好 然而 当我尝试通过添加自定义的css文件来自定义网页时 它根本不起作用 这是我的代码
  • 无限水平滚动图像循环?

    所以我试图在我的网站上创建一个无限滚动动画 但我一直在努力 原始教程在这里 使用 6 张图像 最后重复 4 张图像以实现无缝过渡 https designshack net articles css infinitephotobanner
  • 将图例标签设置为块

    我已经在以下网址设置了我的问题的演示 http jsfiddle net YHHg7 4 http jsfiddle net YHHg7 4 我正在尝试执行以下操作 legend display block border bottom 1p
  • Android浏览器上的Web应用程序宽度问题

    所以到目前为止我只在 Android 浏览器上遇到过这个问题 基本上我的网站几乎一直运行良好 而且我还没有在 Dolphin Opera 或 Skyfire 上看到这个问题 但偶尔当我从手机主屏幕之一上的书签重新打开 Android 浏览器
  • 如何检测被覆盖的 CSS 属性?

    I can get all css properties for an element with document stylesheets but some of those are not active because those pro
  • CSS 未在 Django 项目中加载?

    我是 Django 新手 但负责该项目的前端工作 我一直在研究如何准确加载 css 文件 但我发现这些方法不起作用 这是 html 文件布局 load static
  • CSS 选择器:Active 不适用于 IE8 中的子元素单击

    我有以下 HTML 结构 div class wrapper div class control clickable img src logo png div div 以及以下 CSS control border 1px solid 00
  • 嵌套 DIV 的类似斑马的 CSS 样式

    我嵌套了 DIV 元素 但我不知道嵌套的级别 我需要每个都有与其父级不同的背景 创建类似斑马的颜色 我只使用两种背景 深色和白色 效果需要类似于在容器中设置奇数和偶数子级的样式 但在我的例子中 子级是嵌套的 我可以使用每个嵌套元素的规则来做

随机推荐

  • 为什么我不能得到与 GridSearchCV 相同的结果?

    GridSearchCV只返回每个参数化的分数 我还希望看到 Roc 曲线以更好地理解结果 为了做到这一点 我想采用性能最好的模型GridSearchCV并重现这些相同的结果 但缓存概率 这是我的代码 import numpy as np
  • 超低延迟硬实时多线程 x86 代码的意外周期性行为

    我正在具有 RT 优先级的专用 CPU 上循环运行代码以进行多次迭代 并希望长时间观察其行为 我发现代码有一个非常奇怪的周期性行为 简而言之 这就是代码的作用 Arraythread while 1 if flag Multiply mat
  • 通过透明 Windows 窗体防止鼠标点击

    我正在制作一个小工具 用于在浮动侧边栏中切换 笔 按钮后用鼠标在屏幕上绘图 我已经做到了这一点 请不要笑 方法是使用最顶层的窗口窗体及其背景 因为它的透明键覆盖整个屏幕 当我处于绘图模式时 我需要使鼠标不会点击表单到下面的内容上 我尝试按照
  • 如何搜索一长串 JavaScript 对象以查找“sent: 0”的第一个实例

    这里有一个主要的循环问题 我的数据如下所示 var mailouts signUp date sent 1 lesson1 sent 1 time 20 lesson2 sent 0 time 20 lesson3 sent 0 time
  • Haxe - 创建 C++ 独立可执行文件

    我编写了一个 haxe 程序 尝试与远程服务器进行通信 我能够成功编译到 C 目标 该可执行文件在我的系统上运行得很好 但是 当我尝试在另一个 Windows 盒子上运行相同的命令时 它失败并出现以下错误 错误 无法加载模块 std soc
  • 是否可以重新排序或忽略控制器路由中的参数?

    问题标题是我能想到的最明确的 但为了清楚起见 这里有一个用例 示例 假设我定义以下路线来显示一篇文章 Route get article slug id ArticleController show class ArticleControl
  • 如何实现向后兼容的soap webservice(基于java)?

    我们的产品之一使用合同最后方法发布网络服务 这已经成为一个真正的问题 因为一旦我们发布产品的新版本 我们所有的客户 ws 客户 都必须重建他们的客户端应用程序 这是由于所有名称空间更改都是自动生成的 wsdls 的成本 我们使用 Axis1
  • S3和EMR数据局部性[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 MapReduce 和 HDFS 的数据局部性非常重要 Spark HBase 也是如此 我一直在研究 AWS 以及在云中部署集群时的两个选项
  • JavaScript 丢失带有私有/公共属性的“this”对象引用

    我在运行以下页面时出现以下错误 this testpublic 不是一个函数 test function var testprivate function this testpublic this testpublic function c
  • 使用 Core Plot 和 Swift 绘制多个散点图

    我正在尝试找到一种方法将两个不同的散点图添加到单个图表中 但到目前为止我还无法做到 我在 Objective C 中找到了一些示例 但在 Swift 中没有找到任何示例 只有 CorePlot 2 1 版本中的 Scatterplot 示例
  • Android 上的 EditText 中只有文本吗?

    我只想在 Android 应用程序的 edittext 中输入文本 输入 例如 仅输入 文本 A gt Z 不允许输入数字或特殊字符 请给我一个想法 应该怎么做 非常感谢 试试这个方法 android digits abcdefghijkl
  • 模拟外部 API 以使用 Python 进行测试

    Context 我正在尝试为查询外部 API 的函数编写测试 这些函数向 API 发送请求 获取响应并处理它们 在我的测试中 我想使用本地运行的模拟服务器来模拟外部 API 到目前为止 模拟服务器已成功运行并响应自定义 GET 查询 问题
  • 如何垂直分割250k列的文件?

    我需要根据大小 首选 或列数将 250k 的文件拆分为几个 5 块 我知道split命令用于按行拆分 但不知道是否有类似的函数用于按列拆分 我的文件中的列数不均匀 因此块不能具有相同的列数 Input AA BB CC DD EE FF G
  • Groupby 过滤器,基于连续序列排序以及 ID 和日期列

    我有一个数据框 如下所示 ID Status Date 0 1 F 2017 06 22 1 1 M 2017 07 22 2 1 P 2017 10 22 3 1 F 2018 06 22 4 1 P 2018 08 22 5 1 F 2
  • jar 名称中的版本

    当我将 maven 项目导入 Intellij 时 它生成的 jar 文件不包含版本 但是maven生成的jar有name version jar格式 所以我最终得到了两个 jar 文件 一个有版本 另一个没有版本 我当然可以在 Intel
  • Javascript:关闭字符串中打开的 HTML 标签

    我有一个包含 HTML 代码的 JavaScript 字符串 我显示它 并根据字数附加了一个阅读更多 更少切换器 问题是 当我缩小 HTML 代码时 它可能有开放标签 假设 p A computer is a general purpose
  • 使用 MySQL 实现物化视图(汇总表)的首选方法

    我正在工作中开发一个项目 我需要为其创建和维护汇总表出于性能原因 我相信正确的术语是物化视图 我这样做有两个主要原因 非规范化 我尽可能地规范化表格 因此 在某些情况下 我必须连接许多表才能提取数据 我们使用 MySQL Cluster 它
  • 如何使用swift在表格视图中实现图像的延迟加载

    我想使用 swift 对我的表视图使用延迟加载概念 在我的表格视图中 我显示了多个包含产品图像和产品名称的单元格 请帮助我找到解决方案 旧的解决方案 因为你没有显示任何代码 这是给您的示例 func tableView tableView
  • 如何在运行时创建 celery 队列,以便工作人员拾取发送到该队列的任务?

    我正在使用 django 1 4 celery 3 0 rabbitmq 为了描述该问题 我的系统中有许多内容网络 并且我需要一个队列来处理与每个网络相关的任务 然而 内容是在系统运行时动态创建的 因此我需要动态创建队列并让现有工作人员开始
  • CSS 变量中的 CSS calc() 行为

    我对使用 calc 设置 CSS 变量的行为感到好奇 Example test halfWidth calc 100 2 现在 如果 test元素 比如说div 宽 500px 我想要 halfWidth变量设置为 250px 但是 据我所