媒体查询与rem

rem与em

两者都用于设置字体大小,值都代表倍率,rem也可以用于设置盒子大小
设置了em的元素字体大小依据其自身字体大小或者其父元素的字体大小进行等比例缩放;
设置了em的元素字体大小依据html元素的字体大小进行等比例缩放。

html默认字体大小为16px 最小渲染的大小为12px

媒体查询(css3)

根据不同窗口大小来设置html字体大小,从而通过rem改变字体,元素的大小。

媒体查询语法

@media mediatype and|not|only (media feature) {
    CSS-Code;
}
mediatype 媒体类型;
	all			用于所有设备
	print		用于打印机和打印预览
	screen		用于平板、pc、以及智能手机等
and|not|only 关键字
	and			可以将多个媒体特性连接到一起,相当于“且”的意思。
	not			排除某个媒体类型,相当于“非”的意思,可以省略。
	only		指定某个特定的媒体类型,可以省略;
media feature 媒体特性,必须有小括号包含,根据不同媒体类型的媒体特性设置不同的展示风格。
	width
	min-width
	max-width

为了防止混乱,媒体查询我们要按照从小到大或者从大到小的顺序来写,但是我们通常还是使用从小到大来写

@media screen and (max-width: 540px) {
	html { background-color: orange; }
}
@media screen and (min-width: 540px) {
	html { background-color: aqua; }
}
@media screen and (min-width: 970px) {
	html { background-color: red; }
}

换个思考方式,也可以这样写

@media screen and (min-width: 970px) {
  html { background-color: red; }
}
@media screen and (max-width: 970px) {
  html { background-color: aqua; }
}
@media screen and (max-width: 540px) {
  html { background-color: orange; }
}

以上屏幕小于540px显示橙色,屏幕在540px与970px之间显示橙色,屏幕大于970px显示红色

通过行内样式属性进行分别引入不同的css样式

<link rel="stylesheet" href="./backgroundColorAqua.css" media="screen and (max-width:414px)">
<link rel="stylesheet" href="./backgroundColorRed.css" media="screen and (min-width:415px)">
/*backgroundColorAqua.css*/
html{
    background-color: aqua;
}
/*backgroundColorRed.css*/
html{
    background-color: red;
}

以上屏幕小于414px显示蓝色,大于415px显示红色

flexible.js

淘宝开发的移动端屏幕适配的插件,原理和媒体查询类似
具体使用方法可以参考:(转发)
https://github.com/beipiaoyu2011/flexible

rem适配方案

1.媒体查询+less+rem
2.flexible.js+rem

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值