- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 HTML:
<div class="row">
<div class="col-1-of-3">Col 1 of 3</div>
<div class="col-2-of-3">Col 2 of 3</div>
</div>
和以下 scss:
$gutter-horizontal: 6rem;
@mixin clearfix {
&::after {
content: "";
display: table;
clear: both;
}
}
@mixin colWidth($dim, $sub: 1) {
width: calc(
#{$sub} * (100% - (#{$dim}-1) * #{$gutter-horizontal}) / #{$dim} +
(#{$sub}-1) * #{$gutter-horizontal}
);
}
.row {
max-width: $grid-width;
background: #eee;
margin: 0 auto;
&:not(:last-child) {
margin-bottom: $gutter-vertical;
}
@include clearfix;
[class^="col-"] {
float: left;
background: red;
&:not(:last-child) {
margin-right: $gutter-horizontal;
}
}
.col-1-of-3 {
width: calc((100% - 2 * #{$gutter-horizontal}) / 3);
}
.col-2-of-3 {
@include colWidth(3, 2);
}
我试图概括:
.col-2-of-3 {
width: calc(
2 * ((100% - 2 * #{$gutter-horizontal}) / 3) + #{$gutter-horizontal}
);
}
渲染时,inspect 告诉我我的 mixin 产量:
width: calc( 2 * (100% - (3-1) * 6rem) / 3 + (2-1) * 6rem);
简化为:
width: calc( 2 * (100% - 2 * 6rem) / 3 + 6rem);
当直接方法检查到:
width: calc( 2 * ((100% - 2 * 6rem) / 3) + 6rem);
虽然这些在操作顺序上是相同的,但根据 inspect 的最终宽度是不同的。
对我来说,它们分别是 614 和 594。
为什么不同?
谢谢。
最佳答案
我认为这里的问题是 space
如果你的 mixin 给你这个输出:
width: calc( 2 * (100% - (3-1) * 6rem) / 3 + (2-1) * 6rem);
浏览器返回一个错误,因为你必须在每个运算符之间放置空格:
width: calc( 2 * (100% - (3 - 1) * 6rem) / 3 + (2 - 1) * 6rem);
我创建了一个示例。在第一种情况下,我使用了您的混合结果和直接方法:
.col-1-of-3 {
width: calc(2 * (100% - (3-1) * 6rem) / 3 + (2-1) * 6rem);
background-color:#ff0000;
}
.col-2-of-3 {
width: calc(2 * ((100% - 2 * 6rem) / 3) + 6rem);
background-color:#00ff00;
}
<div class="row">
<div class="col-1-of-3">Col 1 of 3</div>
<div class="col-2-of-3">Col 2 of 3</div>
</div>
宽度不同是因为,对于您的混合结果,浏览器无法理解您的 (3-1)
和 (2-1)
操作。但是如果我们在运算符之间放置空格,mixin result 和 direct 方法会给出相同的结果:
.col-1-of-3 {
width: calc(2 * (100% - (3 - 1) * 6rem) / 3 + (2 - 1) * 6rem);
background-color:#ff0000;
}
.col-2-of-3 {
width: calc(2 * ((100% - 2 * 6rem) / 3) + 6rem);
background-color:#00ff00;
}
<div class="row">
<div class="col-1-of-3">Col 1 of 3</div>
<div class="col-2-of-3">Col 2 of 3</div>
</div>
我认为这就是造成这种差异的原因。
关于html - Sass mixin 输出 css 与 calc 不同的输出比手工简化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53893195/
我想过滤掉特定列上具有特定颜色的行。我尝试几乎到处搜索但找不到答案。希望大家给点好的建议,谢谢。 最佳答案 据我所知,目前没有内置函数允许根据单元格的格式选择单元格。但在 this OOo forum
我有一个百分比表: A | B | C ------------------- 1| 12% | 22% | 42% ------------------- 2| 52% | 2%
我有一个格式为 HH:MM 的时间值求和列。总和的格式为 [HH]:MM,可防止 HH > 23 时翻转。我希望将此值转换为十进制数表示形式。例如: A B 1 12
LibreOffice Calc 中的什么公式将计算不同 Week_Number 出现的次数?答案应该是2。 最佳答案 这个问题之前已经被问过很多次了。一种方法是在 B6 中输入以下公式然后按 Ctr
我在 Calc 电子表格中有几个数据列,每个列有 400 到 500 个条目。对于这些列中的每一列,我只想简单地找到均值和标准差,但不知道如何进行。 有人可以用简单而非技术性的语言逐步指导我如何做到这
假设我在 LibreOffice calc 中有以下电子表格: | A | B | C | D | ------------------- |1| 1 | 2 | | 2 | |2| 2 |
LibreOffice Calc 中是否有接受 的函数整数 x 和 整数 y 并以该位置吐出单元格的内容? 有一个功能ADDRESS吐出给定 [x;y] 的地址。问题是我不知道如何取消引用它。 最佳答
我希望能够在 LibreOffice Calc 中选择两个单元格,然后按某种魔术键,结果交换两个单元格的内容。 我怎么做? 我为 Excel 找到了这个解决方案,但它在 LibreOffice 中不起
我有两列有数字。当另一个有重复时,另一个只有一次数字。这些列中的数字不匹配。我需要在 B 列中找到在 A 列中匹配的所有数字。 这可能更好地解释了它: 甲乙 1 2 2 2 4 5 6 5 7 6 8
我想为 Calc 编写一个返回 #VALUE 的 Basic 函数!可使用 ISERR() 进行测试。 Function foo() foo = #VALUE! End Function 但是
我正在寻找一种使用 LibreOffice 的 Calc 从网站获取一些数据的方法。 我之前使用带有 IMPORTXML 函数的 Google 表格,但因为它非常不可靠,所以我想改用 Calc。 我的
我有这些单元格的 A 列: A1: Apple A2: Banana A3: Cherry 我想要一个公式,将它们串在一个单元格中,如下所示: "Apple, Banana, Cherry" 最佳答案
我想从 LibreOffice Calc 中多次出现的字符中获取最后一次出现。 例如我有一个字符串 abc1ba2ac2adeaa43add .现在,如果我正在搜索 a它应该返回 18。 最佳答案 使
假设我有这个这个单元格: 然后出于某种原因,我想自动反转列的顺序,变成这样: 任何帮助将不胜感激! 最佳答案 快速步骤: 在 1 上方插入新行 用单调递增的整数索引向右填充行。 然后选择您的数据并降序
我想在 LibreOffice Calc(v5.4.4.2 但可以升级)中实现一些条件格式,以突出显示其值通过公式计算而不是直接输入的单元格。 例如,一个单元格包含 =A3 将突出显示,而 Hello
我有一个 LibreOffice 3 电子表格(在 Ubuntu 11.04 上),其中有一列包含数百个超链接,这些超链接仅显示为“链接”。 我需要将这些转换为纯文本,或者更糟糕的是显示超链接而不是文
我在屏幕上有四个绝对定位的 div,它们需要在所有分辨率下保持它们的位置。 div1 - 高度 150px,顶部 0px div2 - 高度 30%,顶部 150px div3 - 高度 50 像素,
所以我很清楚,一般来说,应该在 JS 和浏览器检测中使用特征检测。 jQuery 1.9 放弃了 $.browser 就是一个很好的例子。 此外,在我阅读的每篇文章中,都说永远不要使用浏览器检测。 但
到目前为止,我一直在使用 em-calc 在我的 Zurb Foundation 元素中定义 CSS 大小。但是,最近我注意到开发人员越来越多地使用 rem-calc。 我知道每个函数的作用,但我不太
如何在另一个 CSS calc 函数中使用 CSS calc 函数?根据这个post这是可能的,但没有这样的例子。 最佳答案 It is possible to use calc() inside a
我是一名优秀的程序员,十分优秀!