Moke|墨客

 找回密码
 立即注册
搜索
查看: 9822|回复: 0

针对webkit的HTML, CSS和Javascript

[复制链接]

3636

主题

0

回帖

3681

积分

超级版主

Rank: 8Rank: 8

积分
3681
发表于 2016-5-9 16:05:00 | 显示全部楼层 |阅读模式



                前面有一篇文章介绍了HTML5的一些新特性以及技巧, 现再来总结一些更多的针对webkit的HTML, CSS和Javascript方面的特性.
HTML, 从HTML文档的开始到结束排列:
XML/HTML Code复制内容到剪贴板
       
  • <meta name=&rdquo;viewport&rdquo; content=&rdquo;width=device-width, initial-scale=1.0&Prime;/>      
  • <!--让内容的宽度自适应为设备的宽度, 在做Mobile Web时必须加的一条  -->      
  • <meta name=&rdquo;format-detection&rdquo; content=&rdquo;telephone=no&rdquo;]]>      
  • <!--禁用手机号码链接(for iPhone)  -->      
  • <link rel=&rdquo;apple-touch-icon&rdquo; href=&rdquo;icon.png&rdquo;/>      
  • <!--设置你网页的图标, 尺寸为57X57 px  -->      
  • <!&ndash; iOS 2.0+: tell iOS not to apply any glare effects to the icon &ndash;>        
  • <link rel=&rdquo;apple-touch-icon-precomposed&rdquo; href=&rdquo;icon.png&rdquo;/>        
  • <!&ndash; iOS 4.2+ icons for different resolutions &ndash;>        
  • <link rel=&rdquo;apple-touch-icon&rdquo; sizes=&rdquo;72&times;72&Prime; href=&rdquo;touch-icon-ipad.png&rdquo; />        
  • <link rel=&rdquo;apple-touch-icon&rdquo; sizes=&rdquo;114&times;114&Prime; href=&rdquo;touch-icon-iphone4.png&rdquo; />        
  • <link rel=&rdquo;apple-touch-startup-image&rdquo; href=&rdquo;startup.png&rdquo;>      
  • <!--全屏启动时候的启动画面图像, 尺寸320X460 px  -->      
  • <meta name=&rdquo;apple-mobile-web-app-capable&rdquo; content=&rdquo;yes&rdquo; />      
  • <!--是否允许全屏显示, 只有在桌面启动时可用 -->      
  • <meta name=&rdquo;apple-mobile-web-app-status-bar-style&rdquo; content=&rdquo;black&rdquo; />      
  • <!--控制全屏时顶部状态栏的外观, 默认白色  -->      
  • <input autocorrect=&rdquo;off&rdquo; autocomplete=&rdquo;off&rdquo; autocapitalize=&rdquo;off&rdquo;>        
  • <!--取消自动完成, 自动大写单词字母(适用于Mobile上)  -->      
  • <input type=&rdquo;text&rdquo; x-webkit-speech />      
  • <!--语音输入  -->      
  • <input type=&rdquo;file&rdquo; accept = &ldquo;image/*; capture=camera&rdquo; />      
  • <!--文件上传, 从相机捕获媒体, 下同 -->      
  • <input type=&rdquo;file&rdquo; accept = &ldquo;video/*; capture=camcorder&rdquo; />        
  • <input type=&rdquo;file&rdquo; accept = &ldquo;audio/*; capture=microphone&rdquo; />        
  • <a href=&rdquo;sms:18005555555,18005555556&Prime;]]>      
  • <!--发送短信给多个人的链接 -->      
  • <a href=&rdquo;sms:18005555555?body=Text%20goes%20here&rdquo;]]>      
  • <!--发送短信附带内容的链接 -->      
  • <a href=&rdquo;tel:18005555555&Prime;]]>Call us at 1-800-555-5555</a]]>      
  • <!--拨打电话的链接 -->   


CSS:
CSS Code复制内容到剪贴板
       
  • -webkit-tap-highlight-color: transparent;      
  • /*Mobile上点击链接高亮的时候设置颜色为透明*/      
  •       
  • -webkit-user-select: none;      
  • /*设置为无法选择文本*/      
  •       
  • -webkit-touch-callout: none;      
  • /*长按时不触发系统的菜单, 可用在图片上加这个属性禁止下载图片*/      
  •       
  • :-webkit-full-screen canvas {}      
  • /*全屏模式时的样式(for Desktop)*/      
  •       
  • div p :matches(em, b, strong) {}      
  • /*使用mathes来匹配多个选择器*/      
  •       
  • @media only screen and (max-width: 480px) {}      
  • /*指定Mobile设备或者小屏幕桌面屏幕*/      
  •       
  • @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 300dpi) { }      
  • /*指定高分辨率屏幕设备*/      
  • header { background-image: url(header-highres.png); }      
  • }      
  •       
  • @media (-webkit-max-device-pixel-ratio: 1.5),(max-resolution: 299dpi) { /*指定低分辨率屏幕设备*/}      
  •       
  • header { background-image: url(header-lowres.png); }      
  • }      
  •       
  • background-repeat:  space; background-repeat: round;      
  • /*这两种CSS3的背景属性值得研究*/      
  •       
  • width: calc(100%-40px);      
  • /*计算宽度*/      
  •       
  • text-decoration: #FF8800  wavy ine-through;      
  • /*波浪型链接*/      
  •       
  • text-rendering: optimizeLegibility;      
  • /*用这个属性之后会收紧字符间的距离*/      
  •       
  • font-variant-ligatures:  common-ligatures;      
  • /*设置CSS连字*/      
  •       
  • transform:  rotate(90);      
  • /*旋转90度*/      
  •       
  • transform-origin: center center; transform-origin      
  • /*可以改变变换的位置*/      
  •       
  • -webkit-appearance: none; -webkit-appearance      
  • /*可以改变按钮或者其它控件看起来类似本地的控件*/  


美化表单校验时的提示样式
CSS Code复制内容到剪贴板
       
  • -webkit-validation-bubble {}      
  • -webkit-validation-bubble-message {}      
  • -webkit-validation-bubble-arrow {}      
  • -webkit-validation-bubble-arrow-clipper {}  




当提示出现时类似于下面的结构
XML/HTML Code复制内容到剪贴板
       
  • <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浏览器的滚动条, 见Google Reader等在Chrome/Safari下的效果, 下面是一个实例, 这个滚动条的样式代码如下
CSS Code复制内容到剪贴板
       
  • Customized WebKit Scrollbar /* Let&acute;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      
  • /*用来设置一个元素的背景或颜色的组合样式*/      
  •       
  • -webkit-text-stroke:  1px rgba(0,0,0,0.5); -webkit-text-stroke      
  • /*可以用来给文字添加描边*/      
  •       
  • -webkit-mask-image:  url(/path/to/mask.png);      
  • /*定义一个图片用来遮罩元素*/      
  •       
  • -webkit-box-reflect:  below 5px;      
  • /*定义了一个元素的反射*/      
  •       
  • :local-link {font-weight: normal;}        
  • /*local-link可以定义相对地址的链接样式*/  


Javascript:
window.scrollTo(0,0); 隐藏地址栏
window.matchMedia(); 匹配媒体
navigator.connection; 决定手机是否运行在WiFi/3G等网络
window.devicePixelRatio; 决定屏幕分辨率(iPhone 4值为2, 而Nexus One值为1.5)
window.navigator.onLine; 取得网络连接状态
window.navigator.standalone; 决定iPhone是否处于全屏状态
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复制内容到剪贴板
       
  • window.addEventListener(&quot;orientationchange&quot;, function(e){  
       
       
  • //window.orientation(0 is portrait, 90 and -90 are landscape)  
       
       
  • }, false);      
  •       
  • window.addEventListener(&quot;deviceorientation&quot;, function(e){  
       
       
  • //e.alpha  
       
       
  • //e.beta  
       
       
  • //e.gamma  
       
       
  • }, false);  
       
       
  • window.addEventListener(&quot;devicemotion&quot;, function(e){  
       
       
  • //e.accelerationIncludingGravity.x      
  • //e.accelerationIncludingGravity.y  
       
       
  • //e.accelerationIncludingGravity.z      
  • }, false);  


requestAnimationFrame() 新的动画函数
element.webkitRequestFullScreen() 调用全屏函数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 

 

快速回复 返回顶部 返回列表