前面有一篇文章介紹了HTML5的一些新特性以及技巧, 現(xiàn)再來總結(jié)一些更多的針對(duì)webkit的HTML, CSS和Javascript方面的特性.
HTML, 從HTML文檔的開始到結(jié)束排列:
XML/HTML Code復(fù)制內(nèi)容到剪貼板- <meta name=”viewport” content=”width=device-width, initial-scale=1.0″/>
- <!--讓內(nèi)容的寬度自適應(yīng)為設(shè)備的寬度, 在做Mobile Web時(shí)必須加的一條 -->
- <meta name=”format-detection” content=”telephone=no”]]>
- <!--禁用手機(jī)號(hào)碼鏈接(for iPhone) -->
- <link rel=”apple-touch-icon” href=”icon.png”/>
- <!--設(shè)置你網(wǎng)頁的圖標(biāo), 尺寸為57X57 px -->
- <!– iOS 2.0+: tell iOS not to apply any glare effects to the icon –>
- <link rel=”apple-touch-icon-precomposed” href=”icon.png”/>
- <!– iOS 4.2+ icons for different resolutions –>
- <link rel=”apple-touch-icon” sizes=”72×72″ href=”touch-icon-ipad.png” />
- <link rel=”apple-touch-icon” sizes=”114×114″ href=”touch-icon-iphone4.png” />
- <link rel=”apple-touch-startup-image” href=”startup.png”>
- <!--全屏啟動(dòng)時(shí)候的啟動(dòng)畫面圖像, 尺寸320X460 px -->
- <meta name=”apple-mobile-web-app-capable” content=”yes” />
- <!--是否允許全屏顯示, 只有在桌面啟動(dòng)時(shí)可用 -->
- <meta name=”apple-mobile-web-app-status-bar-style” content=”black” />
- <!--控制全屏?xí)r頂部狀態(tài)欄的外觀, 默認(rèn)白色 -->
- <input autocorrect=”off” autocomplete=”off” autocapitalize=”off”>
- <!--取消自動(dòng)完成, 自動(dòng)大寫單詞字母(適用于Mobile上) -->
- <input type=”text” x-webkit-speech />
- <!--語音輸入 -->
- <input type=”file” accept = “image/*; capture=camera” />
- <!--文件上傳, 從相機(jī)捕獲媒體, 下同 -->
- <input type=”file” accept = “video/*; capture=camcorder” />
- <input type=”file” accept = “audio/*; capture=microphone” />
- <a href=”sms:18005555555,18005555556″]]>
- <!--發(fā)送短信給多個(gè)人的鏈接 -->
- <a href=”sms:18005555555?body=Text%20goes%20here”]]>
- <!--發(fā)送短信附帶內(nèi)容的鏈接 -->
- <a href=”tel:18005555555″]]>Call us at 1-800-555-5555</a]]>
- <!--撥打電話的鏈接 -->
CSS:
CSS Code復(fù)制內(nèi)容到剪貼板- -webkit-tap-highlight-color: transparent;
- /*Mobile上點(diǎn)擊鏈接高亮的時(shí)候設(shè)置顏色為透明*/
- -webkit-user-select: none;
- /*設(shè)置為無法選擇文本*/
- -webkit-touch-callout: none;
- /*長(zhǎng)按時(shí)不觸發(fā)系統(tǒng)的菜單, 可用在圖片上加這個(gè)屬性禁止下載圖片*/
- :-webkit-full-screen canvas {}
- /*全屏模式時(shí)的樣式(for Desktop)*/
- div p :matches(em, b, strong) {}
- /*使用mathes來匹配多個(gè)選擇器*/
- @media only screen and (max-width: 480px) {}
- /*指定Mobile設(shè)備或者小屏幕桌面屏幕*/
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 300dpi) { }
- /*指定高分辨率屏幕設(shè)備*/
- header { background-image: url(header-highres.png); }
- }
- @media (-webkit-max-device-pixel-ratio: 1.5),(max-resolution: 299dpi) { /*指定低分辨率屏幕設(shè)備*/}
- header { background-image: url(header-lowres.png); }
- }
- background-repeat: space; background-repeat: round;
- /*這兩種CSS3的背景屬性值得研究*/
- width: calc(100%-40px);
- /*計(jì)算寬度*/
- text-decoration: #FF8800 wavy ine-through;
- /*波浪型鏈接*/
- text-rendering: optimizeLegibility;
- /*用這個(gè)屬性之后會(huì)收緊字符間的距離*/
- font-variant-ligatures: common-ligatures;
- /*設(shè)置CSS連字*/
- transform: rotate(90);
- /*旋轉(zhuǎn)90度*/
- transform-origin: center center; transform-origin
- /*可以改變變換的位置*/
- -webkit-appearance: none; -webkit-appearance
- /*可以改變按鈕或者其它控件看起來類似本地的控件*/
美化表單校驗(yàn)時(shí)的提示樣式
CSS Code復(fù)制內(nèi)容到剪貼板- -webkit-validation-bubble {}
- -webkit-validation-bubble-message {}
- -webkit-validation-bubble-arrow {}
- -webkit-validation-bubble-arrow-clipper {}
當(dāng)提示出現(xiàn)時(shí)類似于下面的結(jié)構(gòu)
XML/HTML Code復(fù)制內(nèi)容到剪貼板- <div -webkit-validation-bubble>
- <div -webkit-validation-bubble-arrow></div>
- <div -webkit-validation-bubble-arrow-clipper></div>
- <div -webkit-validation-bubble-message>Error Message</div>
- </div>
自定義webkit瀏覽器的滾動(dòng)條, 見Google Reader等在Chrome/Safari下的效果, 下面是一個(gè)實(shí)例, 這個(gè)滾動(dòng)條的樣式代碼如下
CSS Code復(fù)制內(nèi)容到剪貼板- Customized WebKit Scrollbar /* Let´s get this party started */
- ::-webkit-scrollbar {
- width: 12px;
- }
- /* Track */
- ::-webkit-scrollbar-track {
- -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
- -webkit-border-radius: 10px;
- border-radius: 10px;
- }
- /* Handle */
- ::-webkit-scrollbar-thumb {
- -webkit-border-radius: 10px;
- border-radius: 10px;
- background: rgba(255,0,0,0.8);
- -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
- }
- ::-webkit-scrollbar-thumb:window-inactive {
- background: rgba(255,0,0,0.4);
- }
- -webkit-background-composite: plus-darker; -webkit-background-composite
- /*用來設(shè)置一個(gè)元素的背景或顏色的組合樣式*/
- -webkit-text-stroke: 1px rgba(0,0,0,0.5); -webkit-text-stroke
- /*可以用來給文字添加描邊*/
- -webkit-mask-image: url(/path/to/mask.png);
- /*定義一個(gè)圖片用來遮罩元素*/
- -webkit-box-reflect: below 5px;
- /*定義了一個(gè)元素的反射*/
- :local-link {font-weight: normal;}
- /*local-link可以定義相對(duì)地址的鏈接樣式*/
Javascript:
window.scrollTo(0,0); 隱藏地址欄
window.matchMedia(); 匹配媒體
navigator.connection; 決定手機(jī)是否運(yùn)行在WiFi/3G等網(wǎng)絡(luò)
window.devicePixelRatio; 決定屏幕分辨率(iPhone 4值為2, 而Nexus One值為1.5)
window.navigator.onLine; 取得網(wǎng)絡(luò)連接狀態(tài)
window.navigator.standalone; 決定iPhone是否處于全屏狀態(tài)
touch事件 (iOS, Android 2.2+): touchstart, touchmove, touchend, touchcancel
gesture事件 (Apple only, iOS 2+): gesturestart, gesturechange, gesturend give access to predefined gestures (rotation, scale, position)
JavaScript Code復(fù)制內(nèi)容到剪貼板- window.addEventListener("orientationchange", function(e){
- //window.orientation(0 is portrait, 90 and -90 are landscape)
- }, false);
- window.addEventListener("deviceorientation", function(e){
- //e.alpha
- //e.beta
- //e.gamma
- }, false);
- window.addEventListener("devicemotion", function(e){
- //e.accelerationIncludingGravity.x
- //e.accelerationIncludingGravity.y
- //e.accelerationIncludingGravity.z
- }, false);
requestAnimationFrame() 新的動(dòng)畫函數(shù)
element.webkitRequestFullScreen() 調(diào)用全屏函數(shù)