【问题标题】:How to properly use css-values viewport-relative-lengths?如何正确使用 css-values viewport-relative-lengths?
【发布时间】:2015-07-22 10:23:51
【问题描述】:

根据Is there a way to up-size the font with CSS to fit the screen?,可以使用css3-values/#viewport-relative-lengthsdev3dev),vwvhvminvmax,使文档更加流畅。

但是,从保守的角度来看,我想确保我希望将屏幕安装在较大的显示器上不会对较小的显示器造成伤害。

我知道使用<meta name = 'viewport' content = 'width = device-width' />和隐含的font-size: 1em;,我应该保证我的页面中的字体大小将与界面元素的字体大小基本相同,并且不应该进行不必要的滚动也出现了。

如上所述,有没有办法确保vw/vh/vmin/vmax 永远不会低于上述相对1em 的绝对值?也许与CSS4/CSS3 media queriesdpiwidthlength 等)有关?

【问题讨论】:

  • 基本上,我正在寻找 em、dpi、width/height 和 vw 之间的某种视觉关系。我很确定所有这些都有一些具体的数学,但我懒得自己弄清楚。

标签: css responsive-design font-size


【解决方案1】:

根据定义,vw 单位应该代表视口宽度的 1%(即 1/100)。 (谁能确认分页媒体是否大致相同?)

因此,如果视口宽度为50em,则1vw 将等于0.5em,或者换句话说,1em 将等于2vw

因此,在媒体查询中只使用vw 单元确实是个好主意;这似乎是最简单和最实用的视觉设计,数学上将至少定位为50em 宽度(以及高度),然后是2vw(或者,如果我们使用媒体查询定位最小高度,同样,2vmin) 将保证至少表示 1em,或者换句话说,它将保证放大率始终至少为 100%。

例如,对于 OpenBSD 端口类别列表,可以使用以下内容来放大类别列表(如果窗口本身过大并且也有足够的高度),而不会影响页面的其余部分,也不会降低体验在较小的窗户上。在这里,我们使用vmin 来对抗横向视图中的过度放大(这会导致向上/向下滚动),但您还必须小心指定至少为50emmin-height(否则,如果高度低于50em,我们的放大倍率将低于2vmin)。

@media (min-width: 50em) and (min-height: 50em) {
  /* guarantees at least 1em in all viewports */
  ul {font-size: 2vmin; -webkit-columns: 4;}
}

(请注意,当规则适用时(至少在我的 Google Chrome 中进行测试时),上述内容似乎将ul 元素与用户可缩放的元素分离,因此,总体而言,最佳实践的问题仍然存在。)

或者,对于仅列出您的姓名/地址/联系方式的小型名片式首页:

/* automatically magnify business-card-style page in large viewports */
/* please don't use this unless you yourself posses a large monitor! */
@media (min-width: 50em) and (min-height: 64em) {
  /* start with 100% at 50em, we'll have 150% magnification at 75em */
  html {font-size: 2vmin;}
}
@media (min-width: 75em) and (min-height: 96em) {
  /* start with 225% magnification at 75em (75 / 100 * 3 = 2.25) */
  html {font-size: 3vmin;}
}

在我写这篇文章的时候,我也意识到为了避免过度放大导致引入滚动,似乎我们必须绝对指定 min-widthmin-height 之类的 @987654342 @,然后也只使用vmin作为我们的单位。否则,仅使用2vw 就会将一个真正宽屏的窗口放大太多,从而很可能会引入过度和不必要的滚动。

【讨论】:

  • 我对这个答案不太满意。基本上,在这种情况下,最小高度似乎是绝对的,但字体大小将是相对的,因此,在具有奇怪纵横比的大型显示器上无法保证整个关系......
猜你喜欢
  • 2022-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-10
  • 1970-01-01
  • 2012-06-15
  • 1970-01-01
相关资源
最近更新 更多