一个简单demo让你明白真正的‘响应式设计、em、文字图标svg’

大多数网站所谓的响应式设计,只是在不同大小屏幕上能正常显示罢了,在大屏幕上显示全部页面,在小屏幕上隐藏一部分不重要的页面,这样的响应式设计只是为了兼容pc和移动,但在移动上的效果却是很不理想的,隐藏掉的页面内容虽然不能看到,但却同页面一起加载,浪费资源流量,想想那蛋疼的3G能访问这样的响应式网页吗!

你见过一个网页在不同屏幕上是“等比缩小、等比放大”的响应设计吗?不管是文字大小,图片大小,所有的一切都是等比的!请不要惊讶,其实这只是一点雕虫小技,但作为一个前端工程这必须是基础知识了,首先点击下面demo试试吧,拖动浏览器大小测试一下:

http://html5css3webapp.com/zw-dome/responsive/

响应设计css:我设置每100px屏幕宽度变化就给body一个相对应的em值,body是顶层节点,子节点继承相应的em值改变大小。


@media screen and (min-width: 1601px){
body{ font-size:2.2em}
}
@media screen and (min-width: 1501px) and (max-width: 1600px){
body{ font-size:2.1em}
}
@media screen and (min-width: 1401px) and (max-width: 1500px){
body{ font-size:2em}
}
@media screen and (min-width: 1301px) and (max-width: 1400px){
body{ font-size:1.9em}
}
@media screen and (min-width: 1201px) and (max-width: 1300px){
body{ font-size:1.8em}
}
@media screen and (min-width: 1101px) and (max-width: 1200px){
body{ font-size:1.7em}
}
@media screen and (min-width: 1001px) and (max-width: 1100px){
body{ font-size:1.6em}
}
@media screen and (min-width: 901px) and (max-width: 1000px){
body{ font-size:1.5em}
}
@media screen and (min-width: 801px) and (max-width: 900px){
body{ font-size:1.4em}
}
@media screen and (min-width: 701px) and (max-width: 800px){
body{ font-size:1.3em}
}
@media screen and (min-width: 601px) and (max-width: 700px){
body{ font-size:1.2em}
}
@media screen and (min-width: 501px) and (max-width: 600px){
body{ font-size:1.1em}
}
@media screen and (min-width: 401px) and (max-width: 500px){
body{ font-size:1em}
}
@media screen and (min-width: 301px) and (max-width: 400px){
body{ font-size:0.9em}
}
@media screen and (min-width: 201px) and (max-width: 300px){
body{ font-size:0.8em}
}
@media screen and (min-width: 101px) and (max-width: 200px){
body{ font-size:0.7em}
}
@media screen and (min-width: 1px) and (max-width: 100px){
body{ font-size:0.6em}
}
页面css:


h1{ margin:0; padding:0}
.zw{ display:block; width:100%; font-size:6em; color:#333; text-align:center; text-decoration:none}
.zw span{ cursor:pointer; color:#063}
.zw span:hover{ color:#C00}

.p{ font-size:0.8em; color:#093; text-align:center; margin:0; padding:0; font-family:"微软雅黑", "黑体", "宋体"}

.ul{ margin:1em 3%; padding:0; width:94%; border:.15em solid #ededed; list-style-type:none; border-radius:1em; background:#fff}
.ul li{ margin:0; padding:0}
.ul li a{ display:block; width:100%; line-height:2.5em; font-size:1.2em; color:#999; text-decoration:none; border-top:.15em solid #ededed}

.ul li:first-child a{ border-top:none; border-radius:0.833em 0.833em 0 0}
.ul li:last-child a{ border-radius:0 0 0.833em 0.833em}
.ul li a:hover{ background:#063; color:#fff}
.ul li a i{ margin:0 .8em}
要做到整个页面等比响应式,必须得所有关于大小的单位都用em代替px,或者百分比代替px
图片都是用文字图标实现,文字图标制作地址: http://www.flaticon.com/


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值