我使用underscores starter theme进行wordpress。
他们有mixin我不知道它想要做什么。
// Rem output with px fallback
@mixin font-size($sizeValue: 1) {
font-size: ($sizeValue * 16) * 1px;
font-size: $sizeValue * 1rem;
}
有人可以解释这背后的数学吗? 如果我在px中给出字体大小,我该如何使用它?
答案 0 :(得分:2)
它只会在rem
中输出您的字体大小,并带有像素回退(' 16'这里是基本字体大小)。
如果您使用@include font-size(1.2)
,则会输出:
font-size: 19.2px; // fallback for those with no rem support
font-size: 1.2rem;
此mixin不适合将字体大小(以像素为单位)转换为rem 如果你想用像素编写你的代码并将它们转换为rem,那么mixin应该是这样的:
@mixin font-size-px-to-rem($value: 12) {
font-size: $value * 1px;
font-size: $value / 16 * 1rem;
}
然后使用它:
.test {
@include font-size-px-to-rem(14);
}
输出到:
.test {
font-size: 14px;
font-size: 0.875rem;
}
答案 1 :(得分:0)
Blimey,这比需要的更抽象。这是换出来的一点点工作,但这是我使用的mixin:
$base-font-size: 16;
@mixin font-size-rems($target-px-size) {
$rem-size: $target-px-size / $base-font-size;
font-size: $target-px-size * 1px;
font-size: $rem-size * 1rem;
}
然后我就这样使用它:
.example {
@include font-size-rems(24);
}
哪个输出:
.example {
font-size: 24px;
font-size: 1.5rem;
}