css之px、em、rem
rem是css3新定义的设置字体大小属性,常用的两种字体大小设置有下面2种:
1、 px为单位
2、em为单位(百分比用法跟em类似)
PX为单位
在Web页面初期制作中,我们都是使用“px”来设置我们的文本,因为他比较精确和固定。只要页面某元素设置了px字体大小,其子元素/子孙元素未设置字体大小或设置的字体大小css优先级没父元素高的话,该子元素/子孙元素会继承其父元素的px字体大小设置 。但种方法存在一个问题:当用户在浏览器中浏览我们制作的Web页面时,他改变了浏览器的字体大小,这时会使用我们的Web页面布局被打破。这样对于那些关心自己网站用户可读性、用户体验的前端人员来说,就是一个大问题了。因此,这时就提出了使用“em”来定义Web页面的字体。
em为单位
前面也说了,使用是“px”会在浏览器中放大或缩放浏览页面时页面布局会被打破,要解决这个问题,我们可以使用“em”单位。
在使用“em”作单位时,一定需要知道其父元素的字体大小设置,因为“em”就是一个相对值,而且是一个相对于父元素的字体大小值(缩放比率/缩放因子)
实例:
父元素为16px,子元素设置为1.4em 则子元素实际字体大小16px x 1.4=22.4px
因此 “1.4em”可以是“14px”,也可以是“20px”,或者说是“24px”,总之是一个不确定值,至于确定值是多少,必须知道其父元素的值!
为什么要用rem单位
从上面的介绍可知,px单位的的设置会影响子元素/子孙元素的字体大小显示,而em单位的设置也是根据父元素的字体来确定的。这时候父元素的字体大小设置就显得很关键了!
而rem是相对于页面根元素<html>,这样就意味着,我们只需要在根元素确定一个参考值即可,其它元素设置rem大小都是以html的字体大小设置为参考值进行一个字体大小缩放,字体大小值标准参考图:
我们来看一个简单的代码实例:
html {font-size: 62.5%;/*10 ÷ 16 × 100% = 62.5%*/}
body {font-size: 1.4rem;/*1.4 × 10px = 14px */}
h1 { font-size: 2.4rem;/*2.4 × 10px = 24px*/}
我在根元素<html>中定义了一个基本字体大小为62.5%(也就是10px。设置这个值主要方便计算:1.2rem即 12px ,1.6rem即16px 。 如果没有设置,将是以浏览器默认的“16px”为基准 )。
最新文章
- DevExpress Carousel 设置水平滑动列表
- php 一些经常用到的方法
- 《IT蓝豹》完整阅读软件客户端app
- python group()
- 重学JAVA基础(六):多线程的同步
- mysql 查看 索引
- webstorm添加vue模板支持
- JAVA去掉字符串前面的0
- 电子科大POJ ";敲错键盘";
- 新概念英语(1-55)The Sawyer family
- Vant-Weapp小程序+商城案例
- animate()写无限循环
- 1.9 Android程序签名打包
- 转帖--计算机网络基础知识大总汇 https://www.jianshu.com/p/674fb7ec1e2c?utm_campaign=maleskine&;utm_content=note&;utm_medium=seo_notes&;utm_source=recommendation
- Java关于struts2框架
- docker基本原理
- 1.maven安装配置
- Java - 线程让步和休眠
- memcached监控工具
- GDI+(一):GDI+ 绘图基础
热门文章
- Vue框架主要内容学习总结
- OpenCV 之 特征检测
- Nexus Repository Manager 3 远程命令执行漏洞(CVE-2019-7238)
- IOS真机调试找不到设备:ERROR: Could not connect to lockdownd, error code -[x]
- 【动画消消乐|CSS】调皮逃跑的小方块 077
- SpringBoot数据访问之Druid数据源的使用
- 在nodejs中利用 Proxy监听对象值的获取
- Typora加七牛云实现实时图片自动上传
- 端口,InetSocketAddress类的使用
- 关于Algorithm in Nutshell源代码