响应式网页之媒体查询
由于现在的网页要兼容各种pc尺寸及ipad甚至手机屏幕,所以响应式的网页变得尤为重要。手写响应式网页,具体技术点有:
1.声明viewport元标签(响应式网页必备)
<meta name="viewport"
content="width=device-width, initial-scale=1, user-scalable=no">
width - viewport的宽度 height - viewport的高度
initial-scale - 初始的缩放比例
minimum-scale - 允许用户缩放到的最小比例
maximum-scale - 允许用户缩放到的最大比例
user-scalable - 用户是否可以手动缩放
2.页面中的图片都要用响应式图片 如:
img{width:50% (该图片在父元素中的占比)
max-width:50%;(在父容器中的占比,并且不能超过图片自身的大小--防止图片无限放大产生失真)}
3.使用流式布局(布局元素使用浮动或行内快)
4.避免使用绝对尺寸如px,使用相对单位em或rem;
em:相对于父元素的字体大小
rem:相对于根目录的字体大小
5.使用CSS3MediaQuery技术(最重点)
Media:指浏览网页的设备,如:screen(pc/pad/phone/watch/print/tv/projection/tty(针式打印机/cmd)/braille(读屏软件)...)
MediaQuery:查询出当前浏览设备类型、分辨率、色彩深度、方向(landscape/portait)等等特性。
CSS3 MediaQuery:根据当前浏览设备的特性有选择性执行某些CSS样式,而忽略其他一些样式。
具体做法有两种:
1.有选择性的执行某些外部CSS文件
<link media="screen and
(min-width:768px) and (max-width:991px)" rel="stylesheet"
href="css/pad.css"/>
特点:只有媒体查询结果为真的外部样式文件才会被执行,否则不执行!不足:即使不符合当前浏览设备的外部样式文件,也会被浏览器请求!
2.有选择性的执行某段CSS中的部分样式
@media screen and (min-width:768px) and
(max-width:991px) {
.box {
margin: 6px;
...
}
}