我想基于rems实现css-tricks中的例子,这是我目前为止得到的结果,但是缩放并没有按预期工作,字体大小只增加了很小的量,这是什么错误?
html {
font-size: 1rem;
}
@media screen and (min-width: 320px) {
html {
font-size: calc(1rem + 2 * ((100vw - 20rem) / 680));
}
}
@media screen and (min-width: 1000px) {
html {
font-size: 3rem;
}
}
我假设2 * ((100vw - 20rem) / 680)
返回一个px值,如果这是真的,我怎么把它改为返回rem
呢?
编辑以添加一些说明:我想使用rem
而不是px
,因为这允许用户覆盖浏览器中的默认字体大小。
术语2 * ((100vw - 20rem) / 680)
介于0
和2
之间(1 rem等于正常字体大小的16px)。这就是我想要实现的。我想要font-size: 1rem + [0, 2]rem
介于320和1000px之间的视口宽度。一个基于视口宽度的线性增加rem函数。
这是一个link to a sandbox example。
编辑二:我想我想达到的效果是不可能的,如果用户把默认字体大小增加50%,我想缩放比例也增加50%:font-size: 1rem + [0, 2 * 1.5]rem
.
当前的问题是2 * ((100vw - 20rem) / 680))
部分需要基于rem,这是不可能的,因为CSS中没有办法剥离单元,如果我可以剥离单元,我可以这样做:x1米10英寸1x
2条答案
按热度按时间shyt4zoc1#
如果你想要一个响应的字体大小,那么你也可以使用视图宽度,不需要使用calc或rem。
只需更改此选项,以便您可以试用:
视图宽度从0到100,这样您就可以知道需要使用多少空间。
编辑:我个人还没有找到如何在两个轴上缩放,但在大多数情况下,X轴就足够了。
4zcjmb1e2#
下面是我从Creating a Fluid Type Scale with CSS Clamp获得的一个流畅字体解决方案
经过一些调整后,我得到了下面的Sass代码来生成clamp函数。