【问题标题】:CSS calc() written in different wayCSS calc() 以不同的方式编写
【发布时间】:2019-04-02 11:14:50
【问题描述】:

我遇到了 CSS calc() 函数和 CSS minifier 的问题。在我的源 .css 文件中,我有变量

margin-left: calc(15px - 20%);

但是,当使用压缩器翻译源文件时,我得到了输出

margin-left: calc(-20%+15px);

并且无法在网络浏览器中正确读取该值 - 我在 Chrome 开发选项中只能看到 margin-left: calc(-20%+15px);,旁边是警告标志对它说“无效的属性值”。

我怎样才能避免这种情况,也许以不同的方式编写 calc() 函数来解决这个问题?更改源 .css 文件中变量的位置不会进行任何更改,而且我没有选择使用不同的缩小器。

【问题讨论】:

  • 你用的是什么缩小器?如果相关,请添加到问题中
  • 将取决于您使用的缩小器以及它是否具有解析 calc 函数的设置
  • 尝试使用类似 calc(~"15px - 20%");
  • Minifier 至少目前是未知的,并且它的设置无法更改。我们通过远程界面使用它,我们团队中没有人对此一无所知。我们应该按照我们拥有的方式使用它,改变它是最后的选择。
  • @TemaniAfif 我有一个 div,其中包含有关用户的内容。在此之下,我试图定位一张地图(谷歌地图),它的起点应该在用户内容宽度的(-20% + 15)处(换句话说,离用户内容有点左)。地图的宽度也是动态计算的,如 width: calc(145% - 55px);宽度工作正常,我猜缩小器在读取负百分比时有问题

标签: css minify css-calc


【解决方案1】:

你可以试试这样写:

.box {
 margin-left: calc(-1*calc(20% - 15px));
}
<div class="box">
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 2019-11-23
    • 2012-04-16
    • 1970-01-01
    相关资源
    最近更新 更多