移动端web页面开发

2018-7-26    seo达人

如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

 字号

工作了有一段时间,基本上都在搞移动端的前端开发,工作的过程中遇到过很多问题,bug的解决方案,记录下来,以便后用!!!内容并不是很全,以后每遇到一个问题都会总结在这里,分享给大家!

一、meta标签相关知识

1、移动端页面设置视口宽度等于设备宽度,并禁止缩放。

<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />

2、移动端页面设置视口宽度等于定宽(如640px),并禁止缩放,常用于微信浏览器页面。

<meta name="viewport" content="width=640,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />

3、禁止将页面中的数字识别为电话号码

<meta name="format-detection" content="telephone=no" />

4、忽略Android平台中对邮箱地址的识别

<meta name="format-detection" content="email=no" />

5、当网站添加到主屏幕快速启动方式,可隐藏地址栏,仅针对ios的safari


    
  1. <meta name="apple-mobile-web-app-capable" content="yes" />
  2. <!-- ios7.0版本以后,safari上已看不到效果 -->

6、将网站添加到主屏幕快速启动方式,仅针对ios的safari顶端状态条的样式


    
  1. <meta name="apple-mobile-web-app-status-bar-style" content="black" />
  2. <!-- 可选default、black、black-translucent -->

viewport模板


    
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
  6. <meta content="yes" name="apple-mobile-web-app-capable">
  7. <meta content="black" name="apple-mobile-web-app-status-bar-style">
  8. <meta content="telephone=no" name="format-detection">
  9. <meta content="email=no" name="format-detection">
  10. <title>title</title>
  11. <link rel="stylesheet" href="index.css">
  12. </head>
  13. <body>
  14. content...
  15. </body>
  16. </html>

二、CSS样式技巧

1、禁止ios和android用户选中文字

.css{-webkit-user-select:none}

2、禁止ios长按时触发系统的菜单,禁止ios&android长按时下载图片

.css{-webkit-touch-callout: none}

3、webkit去除表单元素的默认样式

.css{-webkit-appearance:none;}

4、修改webkit表单输入框placeholder的样式


    
  1. input::-webkit-input-placeholder{color:#AAAAAA;}
  2. input:focus::-webkit-input-placeholder{color:#EEEEEE;}

5、去除android a/button/input标签被点击时产生的边框 & 去除ios a标签被点击时产生的半透明灰色背景

a,button,input{-webkit-tap-highlight-color:rgba(255,0,0,0);}

6、ios使用-webkit-text-size-adjust禁止调整字体大小

body{-webkit-text-size-adjust: 100%!important;}

7、android 上去掉语音输入按钮

input::-webkit-input-speech-button {display: none}

8、移动端定义字体,移动端没有微软雅黑字体


    
  1. /* 移动端定义字体的代码 */
  2. body{font-family:Helvetica;}

三、其他技巧

1、手机拍照和上传图片


    
  1. <!-- 选择照片 -->
  2. <input type=file accept="image/*">
  3. <!-- 选择视频 -->
  4. <input type=file accept="video/*">

2、取消input在ios下,输入的时候英文首字母的默认大写

<input autocapitalize="off" autocorrect="off" />

3、打电话和发短信


    
  1. <a href="tel:0755-10086">打电话给:0755-10086</a>
  2. <a href="sms:10086">发短信给: 10086</a>

四、CSS reset


    
  1. /* hcysun */
  2. @charset "utf-8";
  3. /* reset */
  4. html{
  5. -webkit-text-size-adjust:none;
  6. -webkit-user-select:none;
  7. -webkit-touch-callout: none
  8. font-family: Helvetica;
  9. }
  10. body{font-size:12px;}
  11. body,h1,h2,h3,h4,h5,h6,p,dl,dd,ul,ol,pre,form,input,textarea,th,td,select{margin:0; padding:0; font-weight: normal;text-indent: 0;}
  12. a,button,input,textarea,select{ background: none; -webkit-tap-highlight-color:rgba(255,0,0,0); outline:none; -webkit-appearance:none;}
  13. em{font-style:normal}
  14. li{list-style:none}
  15. a{text-decoration:none;}
  16. img{border:none; vertical-align:top;}
  17. table{border-collapse:collapse;}
  18. textarea{ resize:none; overflow:auto;}
  19. /* end reset */

五、常用公用CSS style


    
  1. /* public */
  2. /* 清除浮动 */
  3. .clear { zoom:1; }
  4. .clear:after { content:''; display:block; clear:both; }
  5. /* 定义盒模型为怪异和模型(宽高不受边框影响) */
  6. .boxSiz{
  7. -webkit-box-sizing: border-box;
  8. -moz-box-sizing: border-box;
  9. -ms-box-sizing: border-box;
  10. -o-box-sizing: border-box;
  11. box-sizing: border-box;
  12. }
  13. /* 强制换行 */
  14. .toWrap{
  15. word-break: break-all; /* 只对英文起作用,以字母作为换行依据。 */
  16. word-wrap: break-word; /* 只对英文起作用,以单词作为换行依据。*/
  17. white-space: pre-wrap; /* 只对中文起作用,强制换行。*/
  18. }
  19. /* 禁止换行 */
  20. .noWrap{
  21. white-space:nowrap;
  22. }
  23. /* 禁止换行,超出省略号 */
  24. .noWrapEllipsis{
  25. white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  26. }
  27. /* 文字两端对齐 */
  28. .text-justify{
  29. text-align:justify;
  30. text-justify:inter-ideograph;
  31. }
  32. /* 定义盒模型为 flex布局兼容写法并让内容水平垂直居中 */
  33. .flex-center{
  34. display: -webkit-box;
  35. display: -moz-box;
  36. display: -ms-flexbox;
  37. display: -o-box;
  38. display: box;
  39. -webkit-box-pack: center;
  40. -moz-box-pack: center;
  41. -ms-flex-pack: center;
  42. -o-box-pack: center;
  43. box-pack: center;
  44. -webkit-box-align: center;
  45. -moz-box-align: center;
  46. -ms-flex-align: center;
  47. -o-box-align: center;
  48. box-align: center;
  49. }
  50. /* public end */

六、flex布局

1、定义弹性盒模型兼容写法


    
  1. /*
  2. box
  3. inline-box
  4. */
  5. display: -webkit-box;
  6. display: -moz-box;
  7. display: -ms-flexbox;
  8. display: -o-box;
  9. display: box;

2、box-orient 定义盒模型内伸缩项目的布局方向


    
  1. /**
  2. * vertical column 垂直
  3. * horizontal row 水平 默认值
  4. */
  5. -webkit-box-orient: horizontal;
  6. -moz-box-orient: horizontal;
  7. -ms-flex-direction: row;
  8. -o-box-orient: horizontal;
  9. box-orient: horizontal;

3、box-direction 定义盒模型内伸缩项目的正序(normal默认值)、倒叙(reverse)


    
  1. /* Firefox */
  2. display:-moz-box;
  3. -moz-box-direction:reverse;
  4. /* Safari、Opera 以及 Chrome */
  5. display:-webkit-box;
  6. -webkit-box-direction:reverse;

4、box-pack 对盒子水平富裕空间的管理


    
  1. /*
  2. start
  3. end
  4. center
  5. justify
  6. */
  7. -webkit-box-pack: center;
  8. -moz-box-pack: center;
  9. -ms-flex-pack: center;
  10. -o-box-pack: center;
  11. box-pack: center;

5、box-pack 对盒子垂直方向富裕空间的管理


    
  1. /*
  2. start
  3. end
  4. center
  5. */
  6. /* box-align */
  7. -webkit-box-align: center;
  8. -moz-box-align: center;
  9. -ms-flex-align: center;
  10. -o-box-align: center;
  11. box-align: center;

6、定义伸缩项目的具体位置


    
  1. /*-moz-box-ordinal-group:1;*/ /* Firefox */
  2. /*-webkit-box-ordinal-group:1;*/ /* Safari 和 Chrome */
  3. .box div:nth-of-type(1){-webkit-box-ordinal-group:1;}
  4. .box div:nth-of-type(2){-webkit-box-ordinal-group:2;}
  5. .box div:nth-of-type(3){-webkit-box-ordinal-group:3;}
  6. .box div:nth-of-type(4){-webkit-box-ordinal-group:4;}
  7. .box div:nth-of-type(5){-webkit-box-ordinal-group:5;}

7、定义伸缩项目占空间的份数


    
  1. -moz-box-flex:2.0; /* Firefox */
  2. -webkit-box-flex:2.0; /* Safari 和 Chrome */
  3. .box div:nth-of-type(1){-webkit-box-flex:1;}
  4. .box div:nth-of-type(2){-webkit-box-flex:2;}
  5. .box div:nth-of-type(3){-webkit-box-flex:3;}
  6. .box div:nth-of-type(4){-webkit-box-flex:4;}
  7. .box div:nth-of-type(5){-webkit-box-flex:5;}

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

分享本文至:

日历

链接

blogger

蓝蓝 http://www.lanlanwork.com

存档