使用SCSS动态调整字体大小

时间:2019-01-15 21:39:40

标签: sass scss-mixins

是否可以仅使用SCSS而不使用JS来设置相对于另一个元素的字体大小的字体大小?

例如,我想让段落文本小2像素然后输入。

我已经尝试过类似的操作,但是它似乎不起作用:

HTML

<input type="text" value="This is input text">
<p>Text smaller then input</p>

SCSS

$isize: 16px;
$psize: $isizev - 2;

input {
  font-size: $isize;
}

p {
  font-size: $psize;
}

2 个答案:

答案 0 :(得分:1)

我们还可以按照https://caniuse.com/#search=calc()

来依赖浏览器的calc()函数。
$isize: 16px;
$psize: calc(#{$isize} - 2px);

input {
  font-size: $isize;
}

p {
  font-size: $psize;
}

答案 1 :(得分:0)

也许正在使用一个功能?

SCSS

@function ratioDimensions($factor:1, $base-dimension:16, $unit:px) {
  $calcSize: $base-dimension * $factor;
  @return #{$calcSize}#{$unit};
}

然后您可以使用:

SCSS

$isize: ratioDimensions(1);
$psize: ratioDimensions(1,16-2,px);

input {
  font-size: $isize;
}

p {
  font-size: $psize;
}