欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

移动Web

程序员文章站 2022-05-29 11:14:19
...
用到的工具:

  • FireFox浏览器
  • Sublime Text 2
  • 响应式布局定义:

    2010年,Ethan Marcotte提出, 可查看原文;

    通俗地讲就是:百份比布局,根据不同设备显示不同布局;

    这次主要解决:传统的固定像数(px)相比:

  • 不同显示设备,使用不同布局。例如:PC屏幕,显示3栏;手机,显示为1栏;用到media query(媒体查询),它的用法,例如:
  • @media screen and (min-width: 481px) :屏幕最小481px,即大于481px适用;
  • @media screen and (max-width: 480px) :屏幕最大480px,即小于480px适用;
  • @media print and (monochrome):打印机,黑白,适用;
  • 宽度使用百份比,横屏与竖屏会自动伸缩;
  • 先看看原始素材的效果, 原始素材下载:

    PC屏幕,3栏显示如下:

    手机屏,显示不全:

    先看看html的结构:

    CSS里对应使用固定像数,这为了简单,只关注布局相关的CSS:

    实现PC显示3栏,手机显示1栏的CSS:

    .header {background:url(images/w.png) no-repeat;height: 200px;}.navigation {min-height: 25px;}.header, .navigation, .footer {clear: both;} @media screen and (min-width: 481px){body, .header, .navigation, .footer {width: 960px;}.column {margin: 10px 10px 0 0;}.navigation ul li {width: 320px; /* 960/3 */}#visit {width: 240px;float: left;}#points {width: 240px;float: right;}#main {margin: 10px 260px 0 250px;width: 460px;}}@media screen and (max-width: 480px){body, .header, .navigation, .footer {width: 320px;}.column {margin: 10px 0;/*红色分割线*/border-bottom: 1px dashed red;}.navigation ul li {width: 106.67px; /* 320/3 */}#visit,#points,#main {width: 320px;}}

    PC显示效果没变;

    手机显示效果,变为了1栏,竖向滚动,这就是移动Web开始。

    这里出现了横向滚动条,因为图片撑大了。

    最后一步,将里面的宽度像数转为百份比,并控制图片大小不撑大父元素:

    .header {background:url(images/w.png) no-repeat;height: 200px;}.navigation {min-height: 25px;}.header, .navigation, .footer {clear: both;} @media screen and (min-width: 481px){body, .header, .navigation, .footer {width: 100%;}.column {margin: 10px 1.042% 0 0;}.navigation ul li {width: 33.33%; /* 960/3 */}#visit {width: 25%;float: left;}#points {width: 25%;float: right;}#main {margin: 10px 27.083% 0 26.042%;width: 47.92%;}}  @media screen and (max-width: 480px){body, .header, .navigation, .footer {width: 100%;}.column {margin: 10px 0;border-bottom: 1px dashed red;}.navigation ul li {width: 33.33%; /* 320/3 */}#visit,#points,#main {width: 100%;}}img, object{max-width: 100%;}

    手机横屏效果:

    全文完!