移動端代碼規(guī)范

  1. 安全邊距:15px,用px就行

  2. 整體使用:box-sizing: border-box;設(shè)置padding時會往里面撐而不會向外,設(shè)置寬度為100%時不會占用padding部分

  3. rem布局:

//css
html{font-size:20px}
//js
function setFontSize() {
    document.documentElement.style.fontSize = window.innerWidth / 16 + 'px';
}
setFontSize();
window.addEventListener('resize', function() {
    setFontSize();
});
//尺寸計算:樣式的rem = ps測量尺寸/2/20 (一般設(shè)計圖寬度為640px)
  1. 點擊300ms延遲
//fastclick.js
<script type="application/javascript" src="../js/fastclick.js"></script>
window.addEventListener('load', function() {
    FastClick.attach(document.body);
}, false);
//或者使用zepto.js代替jquery
  1. 頭部
<head>
        <meta charset="utf-8" />
        <title>標(biāo)題</title>
         //iOS 7.1的Safari為meta標(biāo)簽新增minimal-ui屬性,在網(wǎng)頁加載時隱藏地址欄與導(dǎo)航欄
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no,minimal-ui">
        <meta name="screen-orientation" content="portrait">
        <meta name="x5-orientation" content="portrait">    
        <meta name="format-detection" content="telephone=no,email=no">    
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-title" content="">
        <meta name="keywords" content="">
        <meta name="description" content="">
        <link rel="stylesheet" type="text/css" href="../css/swiper-3.4.2.min.css" />
        <link rel="stylesheet" type="text/css" href="../css/weui.min.css" />
        <link rel="stylesheet" type="text/css" href="../css/index.css" />
        <script type="application/javascript" src="../js/fastclick.js"></script>
        <script type="text/javascript" src="../js/adapt-screen.js"></script>
        
    </head>
  1. 移動端輪播圖(swiper)
<body>
        <!--banner-->
        <div id="banner" class="swiper-container">
            <div class="swiper-wrapper">
                <div class="swiper-slide">![](../img/banner.jpg)</div>
                <div class="swiper-slide">![](../img/banner.jpg)</div>
                <div class="swiper-slide">![](../img/banner.jpg)</div>
            </div>
            //左右按鈕和分頁器寫成自己的樣式,也用rem去寫
            <div class="swiper-pagination"></div>
            <div class="swiper-button-prev"></div>
            <div class="swiper-button-next"></div>
        </div>

    </body>
    <script type="text/javascript" src="../js/jquery-3.1.1.min.js"></script>
    <script type="text/javascript" src="../js/swiper-3.4.2.min.js"></script>
    <script type="text/javascript">
        $(function() {
            //swiper
            var mySwiper = new Swiper('#banner', {
                direction: 'horizontal',
                autoplay: 3000,
                speed: 1000,
                loop: true,
                pagination: '.swiper-pagination',
            })

        })
    </script>
  1. 1px的線
    參考weui解決辦法
    https://weui.io/
    https://github.com/Tencent/weui.js

  2. 清除輸入框內(nèi)陰影
    在 iOS 上,輸入框默認(rèn)有內(nèi)部陰影,但無法使用 box-shadow 來清除,如果不需要陰影,可以這樣操作:

input,
textarea {
    border: 0; 
    -webkit-appearance: none; 
}
  1. 頭部和底部使用固定定位定住,注意要設(shè)置內(nèi)容div的margin,不然頂部和頭部會遮擋住內(nèi)容

  2. 常用a鏈接

//發(fā)郵件
<a href="mailto:XXX@163.com">Email</a>
//發(fā)短信
<a href="sms:123456">123456</a>
//打電話
<a href="tel:123456">123456</a>
//跳轉(zhuǎn)到下一頁的指定位置,本頁面的a標(biāo)簽 后邊加上#XXX,傳入一個錨點,新頁面指定位置加上idXXX
<a href="index.php/category/index/id/101.html#xzccp">
<div id="xzccp">這里是指定位置</div>
  1. 設(shè)置文字超出部分省略 父級div設(shè)置overflow:hidden
//適用于單行文本
p{
  display:block;
  overflow: hidden;
  text-overflow:ellipsis;
  white-space: nowrap;
}
  1. 動畫
//盡可能多的利用硬件能力,如使用3D變形來開啟GPU加速
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
//一個元素通過translate3d右移500px的動畫流暢度會明顯優(yōu)于使用left屬性:
#ball-1 {
  transition: -webkit-transform .5s ease;
  -webkit-transform: translate3d(0, 0, 0);
}
#ball-1.slidein {
  -webkit-transform: translate3d(500px, 0, 0);
}
#ball-2 {
  transition: left .5s ease;
  left: 0;
}
#ball-2.slidein {
  left: 500px;
}
//3D變形會消耗更多的內(nèi)存與功耗,應(yīng)確實有性能問題時才去使用它,兼在權(quán)衡
//盡可能少的使用box-shadows與gradients
//盡可能的讓動畫元素不在文檔流中,以減少重排
position: fixed;
position: absolute;
//消除transition閃屏
-webkit-transform-style: preserve-3d;
/*設(shè)置內(nèi)嵌的元素在 3D 空間如何呈現(xiàn):保留 3D*/
-webkit-backface-visibility:?hidden;
/*(設(shè)置進(jìn)行轉(zhuǎn)換的元素的背面在面對用戶時是否可見:隱藏)*/
  1. 圖片壓縮 https://tinypng.com/
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 各種純css圖標(biāo) CSS3可以實現(xiàn)很多漂亮的圖形,我收集了32種圖形,在下面列出。直接用CSS3畫出這些圖形,要比...
    劍殘閱讀 9,977評論 0 8
  • META相關(guān) 1. 添加到主屏后的標(biāo)題(IOS) 2. 啟用 WebApp 全屏模式(IOS) 當(dāng)網(wǎng)站添加到主屏幕...
    老夫的天閱讀 3,134評論 3 21
  • 前言 對于熟悉pc端的小伙伴來說,對于靜態(tài)頁面的布局,一般都是沒有什么問題的,為了保持各瀏覽器顯示的一致性,無論是...
    itclanCoder閱讀 13,852評論 5 61
  • 這是一個最好的時代,因為我們站在潮流中;但也是一個最壞的時代,因為我們站在潮頭上。 META相關(guān) 1. 添加到主屏...
    泡芙小姐110閱讀 759評論 3 17
  • 一個人久了,不會去羨慕倆個人的快樂,一個人的孤單。不是自己多么的不想面的,只是自己更加堅強。
    丁壯壯閱讀 139評論 0 2

友情鏈接更多精彩內(nèi)容