【问题标题】:Why using percentage to set default html font-size on mobile devices causes problems为什么在移动设备上使用百分比设置默认 html 字体大小会导致问题
【发布时间】:2016-11-02 00:05:50
【问题描述】:
@media screen and (max-width:500px){
    html{font-size:6px;}
    #chart h4{font-size:1.3rem;}
    #icon{right:4.2rem;top:17rem;}
    #drag{top:2.6rem;}
    #footer .footer_wrapper{max-width:114rem;margin:0 2%;padding:3rem 0;}
    #footer .copyright{width:20rem;text-align:center;}
}

我最近正在学习如何创建响应式网页,我刚刚发现当我使用百分比为根元素设置默认字体大小时,会出现问题。请看一下上面的代码,我将根元素的字体大小设置为 6px,效果很好,但如果我将其设置为 40% 之类的百分比,'rem's 将在移动设备上以一种非常奇怪的方式工作.请问有人对此有什么想法吗?

【问题讨论】:

    标签: html css responsive-design


    【解决方案1】:

    rem 单位是相对于根或 html 元素的。因此,应该在 html 元素上定义基本字体大小。

    在 body 上定义 font-size 会起作用,但所有使用 rem 单位定义 font-size 的子元素将退回到 root/html 元素来计算它们的绝对大小。

    所以

        html {
          font-size: 10px;
        }
    
        body {
          font-size: 15px;
        }
    
        .parent {
          /* font-size will be 15px here */
        }
    
        .parent .child {
          font-size: 1.2rem; /* resolved to 12px */
        }
    

    转自here

    【讨论】:

    • 是的,我知道这一点,但问题是,我使用百分比设置根元素的字体大小,它在移动设备上不能正常工作,而在 PC 上工作得很好。例如:html{}
    • 这样做可以工作:html{font-size:6px;} ........但是这样做不行: html{font-size:40%} 在移动设备上
    • 如果我们不设置字体大小和使用百分比,桌面使用系统或机器提供的默认字体大小,但在移动设备的情况下,它将采用移动设备的 40% 的字体大小,这可能再次成为文本缩放的东西
    • 是的,你是对的,但是 'rem 的工作方式非常奇怪,比如有些内容被缩放而有些没有,怎么会发生这种情况,页面的所有部分都应该是同步缩放,不是吗?我想肯定还有其他原因。
    猜你喜欢
    • 1970-01-01
    • 2020-11-29
    • 2012-09-20
    • 2018-10-06
    • 1970-01-01
    • 2014-10-09
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    相关资源
    最近更新 更多