小米商城響應式學習

淘寶的手機網頁一直是我所向往的——經過rem作的真正的響應式,可是總感受更原先在pc上的作法截然不同,也許是我理解不到。週末無心中發現小米的手機網頁也是用em方式寫的,看源碼發現這正是我所追求的響應式wap網頁。記錄學習之~css

網址:http://m.mi.comcss3

基礎設置


  1. a標籤去點擊背景藍色-webkit-tap-highlight-color: rgba(0,0,0,0);
  2. 禁用Webkit內核瀏覽器的文字大小調整功能-webkit-text-size-adjust: none;
  3. 容許長單詞換行到下一行word-wrap:break-word;

元素單位(em)


  1. 包括:paddingmarginwidthheightfont-sizeline-height
  2. 經過全局的body設置基準字號web

    body {
        font-size: 20px;
    }
    @media only screen and (max-width: 710px) and (min-width: 640px)
    body {
        font-size: 17.77778px;
    }

iconFont


  1. 全局樣式設置瀏覽器

    @font-face {
        font-family: iconfont;
        src: url(/static/fonts/iconfont_2337a86.eot?9owfml);
        src: url(/static/fonts/iconfont_2337a86.eot?#iefix9owfml) format("embedded-opentype"),url(/static/fonts/iconfont_53935e1.woff?9owfml) format("woff"),url(/static/fonts/iconfont_bfbfeef.ttf?9owfml) format("truetype"),url(/static/fonts/iconfont_7a400bd.svg?9owfml#icomoon) format("svg");
        font-weight: 400;
        font-style: normal
    }
    [class^=icon-], [class*=" icon-"], .iconfont {
        font-family: iconfont!important;
        speak: none;
        font-style: normal;
        font-weight: 400;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
  2. 增長iconfont元素svg

    .page-index .nav-index li a .icon:before {
        font-size: 4em;
        color: #5c6066;
        line-height: 1.375em;
    }
    .icon-huafeichongzhi:before {
        content: "\e608";
    }
  3. 其它設置佈局

    .page-index .nav-index li a .icon {
        display: block;
        margin: 0 auto .5em;
        width: 5em;
        height: 5em;
        -webkit-background-size: 5em 5em;
        -moz-background-size: 5em 5em;
        -ms-background-size: 5em 5em;
        -o-background-size: 5em 5em;
        background-size: 5em 5em;
    }

佈局


  1. display: table;display: table-row;display: table-cell;border-collapse: collapse;display: box;box-flex: 1;代替float:left佈局
  2. 利用:first-child等僞類進行差別處理
  3. 圖片基於父級的em寬高自適應學習

    .imgurl img {
        width: 100%;
    }
    li, img, label, input {
        vertical-align: middle;
    }
  4. 背景圖大小經過background-size: 3.85em 2.7em;設置
  5. 內容垂直居中和內容水平居中flex

    div#DemoArea {
        display: box;
        box-align: start;
        -moz-box-align: start;
        -webkit-box-align: start;
        box-align: start;
    }
    div#DemoArea {
        display: box;
        box-align: start;
        -moz-box-pack:center;
        -webkit-box-pack:center;
        box-pack:center;
    }

總結反思


  1. 好多css3新技術應用進來讓人耳目一新
  2. em做爲單位仍是rem更好操做些吧?
相關文章
相關標籤/搜索