最近写移动端页面的一些心得

先苦逼的抱怨下,我一个phper,突然让我写移动端页面,可把我折腾惨了。。。。。。

允许网页宽度自动调整

  • head标签里加入viewport元标签
    //网页宽=屏幕宽,原始缩放比0.5,一开始不会呀,后来翻了淘宝的移动页面,才发这个
  <meta name="viewport" content="width=device-width, initial-scale=0.5" />
  • viewport是网页默认宽度和高度,为啥0.5?这个涉及现在安卓,苹果手机的DPI问题。有空再讨论,在这我们需要知道就是:设置为0.5后,原本500px*300px的图,在手机屏幕上只会占250px*150px!没错,是不是图片看着不再模糊了?。

绝对!绝对!绝对!不要固定宽度

  • 这一条非常重要。具体就是:
  width : xx px;

正确的姿势如下

  width : xx%;
      //或
  width : auto;

同上类似,字体一个德性

  • 字体相对大小em,还有个rem有兴趣自己了解
      //100%,即浏览器默认,好像一般是16px
  body {
    font: normal 100% Helvetica, Arial, sans-serif;
  }
      //1.5倍,16*1.5
  p {
    font-size: 1.5em;
  }

流动布局

  • 俗点就是各块都浮动,不是固定不变的。
  • 当屏幕宽度小,放不下两个元素,后面的元素会自动滚动到下方
  • 注意绝对定位position: absolute,为什么?自己想
  .rDiv {
    float: right;
    width: 70%;
  }
  .lDiv {
    float: left;
    width: 25%;
  }
      //别刚好加起来100%,应当小于100%

图片自适应

  • 自动缩放,这个神技呀。一行CSS解决战斗
  img,object { max-width: 100%;}
  • 另外要提醒的是:又是坑爹的IE兼容,专业前端自己找解决方法吧
    //算了,还是加上吧
    //老版本的IE不支持max-width,所以只好写成:
  img { width: 100%; }
    //此外,windows平台缩放图片时,可能出现图像失真现象。然后就放IE的专有技能吧:
  img { -ms-interpolation-mode: bicubic; }
    //或者,Ethan Marcotte的imgSizer.js。
  addLoadEvent(function() {
    var imgs = document.getElementById("content").getElementsByTagName("img");
    imgSizer.collate(imgs);
  });

选择加载CSS

  • 这个个人觉得不实用,因为我特么要写更多的CSS,像我这么懒的人,这方法还是去吃翔吧!!

"自适应网页设计"的核心,就是CSS3引入的Media Query模块。
它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。

  <link rel="stylesheet" type="text/css"
    media="screen and (max-device-width: 400px)"
    href="tinyScreen.css" />

上面的代码意思是,如果屏幕宽度小于400像素(max-device-width: 400px),就加载tinyScreen.css文件。

  <link rel="stylesheet" type="text/css"
    media="screen and (min-width: 400px) and (max-device-width: 600px)"
    href="smallScreen.css" />

如果屏幕宽度在400像素到600像素之间,则加载smallScreen.css文件。
除了用html标签加载CSS文件,还可以在现有CSS文件中加载。

  @import url("tinyScreen.css") screen and (max-device-width: 400px);

CSS的@media规则

  • 与上面的雷同,同样是我反感的,要多写代码。我是懒人

同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。

    //屏幕宽度小于400像素,则column块取消浮动、宽度自动调节,sidebar块不显示
  @media screen and (max-device-width: 400px) {
    .column {
      float: none;
      width:auto;
    }
    #sidebar {
      display:none;
    }
  }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,799评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,333评论 0 11
  • 笔记参考自《响应式Web设计:HTML5和CSS3实践》,2013年出版内容说不上最新。如下是全书的章的目录:第 ...
    于晓鱼阅读 947评论 0 1
  • 其实我是胆小的,异常胆小的那种。我不敢说现在胆大了。第一次工地打工,见到农民工辛苦的工作,吃饭,睡觉都是在满是灰的...
    印子寻阅读 657评论 1 0
  • packagecom.example.lenovo.myapplication.baseadapter; impo...
    xtihxa223223阅读 232评论 0 0