开发者社区> 问答> 正文

页面布局,将元素的min-width设置为em的形式是什么意思?

雅虎的pure框架将元素的宽度设置为em的形式,这里的em是什么意思呢,是父元素font-size的倍数吗?
@media screen and (min-width: 35.5em)
@media screen and (min-width: 48em)
为什么我将body元素的font-size的大小改为40px、80px不同的值,div布局的断点还是一样的呢?

展开
收起
a123456678 2016-05-26 16:08:27 3782 0
1 条回答
写回答
取消 提交回答
  • em相对父级元素来计算的。

    如果html结构是:.box>.test,box字体大小为14px,test设置字体大小为2em,那么test字体大小为28px。

    但是,这里响应式用的em,参考谁呢?测试下,使用火狐响应式开发工具。

    html:

    lalala


    css:

    html
    {

    font-size: 18px;

    }

    body
    {

    font-size: 24px;

    }

    @media screen and (min-width: 20em)
    {

    body
    {
        height: 400px;        
        height: 600px; 
        color: orange;
    }

    }
    我以为参考的是body或者html的字体大小,但测试结果并非如此。而是默认的16px。。。
    也就是说,此处的min-width计算出来是20*16px。

    比em更舒服的是rem,根元素html。通常根元素默认字体大小为16px,这样我们就不用管其他的继承影响了,只要针对根元素html的16px去计算即可。基于此,可以用sass函数来做。

    $baseSize:16;
    @function px-to-rem($size){
    @return $size*1rem/$baseSize;
    }
    调用:

    .box { font-size:px-to-rem(12); width:px-to-rem(220); }

    2019-07-17 19:16:27
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载