建议展开阅读
新人如果想快速开发出响应式网站建议使用响应式框架Bootstrap,Foundation等等......
三个部分[Viewport][网格视图][媒体查询]
1.先在head里面设置Viewport
<meta name="viewport" content="width=device-width, initial-scale=1.0">用户可以通过平移和缩放来看网页的不同部分。
2.很多响应式都基于网格视图设计
响应式网格视图通常是 12 列,宽度为100%,在网页自动伸缩
比如CSS里面写
* {box-sizing: border-box
}
[class*="col-"] {
float: left
padding: 15px
}
.col-1 {width: 8.33%}
.col-2 {width: 16.66%}
.col-3 {width: 25%}
.col-4 {width: 33.33%}
.col-5 {width: 41.66%}
.col-6 {width: 50%}
.col-7 {width: 58.33%}
.col-8 {width: 66.66%}
.col-9 {width: 75%}
.col-10 {width: 83.33%}
.col-11 {width: 91.66%}
.col-12 {width: 100%}
这样即可在html写
<div class="row"><div class="col-3">
<ul>
<li>标题1</li>
<li>标题2</li>
<li>标题3</li>
<li>标题4</li>
</ul>
</div>
<div class="col-9">
<h1>2333333</h1>
<p>2333333333333333333333333333333333333333333333333333333333333333333333333333333333333333</p>
<p>2333333333333333333333333333333333323333333333</p>
</div>
达到简单的响应式效果[拖拽浏览器大小查看]
图片响应式方法
div {width: 100%
height: 400px
background-image: url('url')
background-repeat: no-repeat
background-size: contain
border: 1px solid red
}
background-size 属性设置为 "contain", 图片比例会自动缩放。
3.媒体查询主要用于针对不同的媒体类型定义不同的样式
比如我在电脑显示图片1,但是在手机显示的是图片2
详细可以私信我
响应是指根据不同设备浏览器分辨率或尺寸来展示不同页面结构、行为、表现的设计方式。下面总结了几种响应式设计布局方式:1.Viewport。一个常用的针对移动网页优化过的页面的 viewport meta 标签大致如下:<meta name="viewport" content="width=device-width, initial-scale=1.0">。
2.网格视图。使用网格视图让向网页添加元素很简单。在创建响应式网格视图时,一定要确保所有的HTML元素都有box-sizing属性且设置为 border-box。
3.媒体查询,使用@media查询,你可以针对不同的媒体类型定义不同的样式。实例:@media only screen and (orientation: landscape) {
body {
background-color: lightblue
}
}
方法1:使用已有的响应式网页框架,如bootstrap
方法2:
a:声明页面viewport标签—-响应式页面的前提条件
<!--device指设备,initial-scale指打开的缩放比例,user-scalable指用户是否可以缩放--><meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
b:使用响应式图片
/*只是举例而已,max-width是图片在页面缩小到影响自身大小时,图片的最大宽度,但不会超过自身图片的原有宽度*/img{
max-width:50%/*防止图片无限放大产生失真*/
}
c:使用流式布局
布局元素使用浮动float或者行内块 inline-block
ps:个人建议使用行内块,第一不影响其余元素的布局,第二方便设置。
d:避免使用绝对尺寸(px等),使用相对单位(如rem/em/%)
ps:这里科普一下,我们都知道em是根据 父级元素 字体的大小来计算的,而rem更狠是根据 根元素 的字体大小来计算,所以推荐使用rem,减少使用em计算的难度。。
f:使用CSS3 MediaQuery技术