【发布时间】:2015-04-20 21:42:47
【问题描述】:
我正在尝试使用 rems 通过 SCSS 实现响应式排版解决方案,以便仅对 html 中的基线字体大小而不是每个元素使用媒体查询。
我在 html 中发现了不同的字体大小方法:
html { font-size: 100%; } // uses the default browser font-size
html { font-size: 62.5%; } // 62.5% = 10px to facilitate rem calculation
html { font-size: 16px; } // uses 16px
假设我会选择62.5%-approach suggested by Jonathan Snook,然后我可以使用a mixin for px-fallbacks: 轻松分配我的标题和段落安静
@mixin font-size($sizeValue: 1.6) {
font-size: ($sizeValue * 10) + px;
font-size: $sizeValue + rem;
}
h1 { @include font-size(3.2); } // 32px
h2 { @include font-size(2.6); } // 26px
h3 { @include font-size(2.2); } // 22px
h4 { @include font-size(1.8); } // 18px
h5 { @include font-size(1.6); } // 16px
h6 { @include font-size(1.4); } // 14px
然后我可以将媒体查询应用到 html 字体大小以在不同的分辨率下缩放排版,如下所示:
@media (min-width: 768px) { html { font-size: 56.3%; } } // 56.3% = 9px
@media (min-width: 992px) { html { font-size: 62.5%; } } // 62.5% = 10px
@media (min-width: 1200px) { html { font-size: 68.8%; } } // 68.8% = 11px
我的问题:
1.字体大小基线的最佳方法是什么(px vs 100% vs 62.5%)?
2。使用 SASS / SCSS 进行响应式排版的最佳整体方法是什么?
【问题讨论】:
-
这似乎是一个非常广泛的问题?
-
我在互联网上找到了很多关于如何处理响应式排版的不同建议,但我找不到一个普遍接受的标准化解决方案。每个人的做法似乎都不一样。
-
我认为您所拥有的是一种相当标准的方法。在我看来,它更归结为它是否适用于项目/设计。因为我们这样做的原因是为了让我们的生活更轻松。如果它这样做,那么它可能是正确的。
-
62.5% 是 9.375 像素(至少在我的电脑上),所以我看不出这将如何促进 rem 计算
-
这就是 62.5% 方法的问题:它在不同浏览器中的解释不同,这让我认为 px 中的基线更有意义。我们也不能在用户的浏览器中控制 100%(可以设置为一个完全奇怪的值)。
标签: css responsive-design sass typography