媒体查询 @media
1. 设置 Meta 标签(适用于移动端)
大多数移动浏览器将HTML页面放大为宽的视图(viewport)以符合屏幕分辨率。你可以使用视图的meta标签来进行重置。下面的视图标签告诉浏览器,使用设备的宽度作为视图宽度并禁止初始的缩放。在<head>
标签里加入这个meta标签。
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
2. 通过媒介查询来设置不同屏幕大小的样式
@media screen and (max-width: 980px) and (min-width:720px) {
#head { … }
#content { … }
#footer { … }
}
3.宽度尽量用百分比
例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link href="//at.alicdn.com/t/font_1047897_spi0hu5hwk.css" rel="stylesheet">
<style>
@media only screen and (max-width: 800px) {
.item .name{
display: none;
}
}
.content{
display: flex;
justify-items: center;
}
.content .item{
display: flex;
justify-content: center;
width: 100px;
height: 40px;
line-height: 40px;
margin-left: 5px;
font-size: 16px;
color: #fff;
background: #1f9bb1;
}
.content i{
font-size: 20px;
}
</style>
</head>
<body>
<div class="content">
<div class="item"><i class="iconfont icon-filedone"></i><span class="name">1</span></div>
<div class="item"><i class="iconfont icon--"></i><span class="name">2</span></div>
<div class="item"><i class="iconfont icon-feiji"></i><span class="name">3</span></div>
<div class="item"><i class="iconfont icon-user"></i><span class="name">4</span></div>
</div>
</body>
</html>
以上采用媒体查询和flex布局实现一个最大宽度为800的响应式简单例子,注:关于icon的话可以自己替换 如果时间久啦我可能改变了在线链接的地址
外部样式引用区分屏幕
- <link rel="stylesheet" type="text/css" media="screen" href="css/common.css" />
- <link rel="stylesheet" media="screen and (min-device-width:990px)" href="css/media_pc.css " />
- <link rel="stylesheet" media="screen and (min-width:768px) and (max-width:989px)" href="css/media_pad.css">
- <link rel="stylesheet" media="screen and (max-width:768px)" href="css/media_phone.css " />
这里第一个common.css为公共 都会引用,后面的加了最大宽度和最小宽度的条件,满足条件时候才会引入使用。
更多媒体查询的api参考这里:http://www.runoob.com/cssref/css3-pr-mediaquery.html