em rem 和px使用简单介绍

1.rem是一个非常酷的CSS3属性,它相对于根元素的字体大小适配。

./* Document level adjustments */

html {

font-size: 17px;

}

@media (max-width: 900px) {

html { font-size: 15px; }

}

@media (max-width: 400px) {

html { font-size: 13px; }

}

/* Type will scale with document */

h1 {

font-size: 3rem;

}

h2 {

font-size:2.5rem;

}

h3 {

font-size: 2rem;

}

这样做很简单,但是有点儿想当然。最主要的问题是:你不能指望一个页面上设置的类型,能够满足所有模块的比例要求:大屏幕可能界面元素会显示的非常大,小的又太小。或者甚至相反,大屏幕可能无法显示足够小。遇到这种情况,可以继续用@media query调整大小,但是这样做效率不高,而且会非常混乱。

因此,我的想法是:

1、文档级别依然使用px像素,能够直接有效地检测出分辨率的变化。

2、页面每个模块用rem设置字体大小。因为rem是相对于根元素的字体大小适配。

3、文本元素(H1、H2、p、li等等),如果你调整他们的大小,并用em作为单位,就能和模块大小形成相对比例。“em”作单位时,是一个相对于父元素的值。

/* Document level adjustments */

html {

font-size: 17px;

}

@media (max-width: 900px) {

html { font-size: 15px; {

}

@media (max-width: 400px) {

html { font-size: 13px; }

}

/* Modules will scale with document */

.header {

font-size:1.5rem;

}

.footer {

font-size:0.75rem;

}

.sidebar {

font-size:0.85rem;

}

/* Type will scale with modules */

h1 {

font-size: 3em;

}

h2 {

font-size:2.5em;

}

h3 {

font-size: 2em;

}

这样你可以设置一个模块级别的字体大小,这是非常容易的。

当然IE6-8是不支持CSS3的rem属性的。移动端的话也不需要考虑这个问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,692评论 1 92
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 4,743评论 0 1
  • 笔记参考自《响应式Web设计:HTML5和CSS3实践》,2013年出版内容说不上最新。如下是全书的章的目录:第 ...
    于晓鱼阅读 4,545评论 0 1
  • 作者:HelKyle链接:http://www.w3cplus.com/css/when-to-use-em-vs...
    红叶丶秋鸣阅读 8,596评论 0 3
  • 第六章 请求帮助 一、思维导图 二、经典语录 1.首先,清楚地告诉对方,我们希望他们做什么。如果我们请求他人不做什...
    成长路上的小茹阅读 2,118评论 0 0

友情链接更多精彩内容