移动端小总结
一、常用META
1. 添加到主屏后的标题(IOS)
1 | < meta name = "apple-mobile-web-app-title" content = "标题" > |
2. 启用 WebApp 全屏模式(IOS)
当网站添加到主屏幕后再点击进行启动时,可隐藏地址栏(从浏览器跳转或输入链接进入并没有此效果)
1 2 | < meta name = "apple-mobile-web-app-capable" content = "yes" /> < meta name = "apple-touch-fullscreen" content = "yes" /> |
3. 百度禁止转码
通过百度手机打开网页时,百度可能会对你的网页进行转码,往你页面贴上它的广告,非常之恶心。不过我们可以通过这个meta标签来禁止它:
1 2 | < meta http-equiv = "Cache-Control" content = "no-siteapp" /> 百度SiteApp转码声明 |
4. 设置状态栏的背景颜色(IOS)
设置状态栏的背景颜色,只有在 "apple-mobile-web-app-capable" content="yes" 时生效
1 | < meta name = "apple-mobile-web-app-status-bar-style" content = "black-translucent" /> |
content 参数:
default :状态栏背景是白色。
black :状态栏背景是黑色。
black-translucent :状态栏背景是半透明。 如果设置为 default 或 black ,网页内容从状态栏底部开始。 如果设置为 black-translucent ,网页内容充满整个屏幕,顶部会被状态栏遮挡。
5. 移动端手机号码识别(IOS)
在 iOS Safari (其他浏览器和Android均不会)上会对那些看起来像是电话号码的数字处理为电话链接,比如:
7位数字,形如:1234567
带括号及加号的数字,形如:(+86)123456789
双连接线的数字,形如:00-00-00111
11位数字,形如:13800138000
可能还有其他类型的数字也会被识别。我们可以通过如下的meta来关闭电话号码的自动识别:
1 | < meta name = "format-detection" content = "telephone=no" /> |
6. 移动端邮箱识别(Android)
与电话号码的识别一样,在安卓上会对符合邮箱格式的字符串进行识别,我们可以通过如下的meta来管别邮箱的自动识别:
1 | < meta content = "email=no" name = "format-detection" /> |
同样地,我们也可以通过标签属性来开启长按邮箱地址弹出邮件发送的功能:
<a mailto:dooyoe@gmail.com" >dooyoe@gmail.com
7.viewport视口标签(控制页面缩放等信息)
1 | < meta name=”viewport” content=” width = device -width, target-densitydpi = high -dpi, initial-scale = 1 .0, minimum-scale = 1 .0, maximum-scale = 1 .0, user-scalable = no ”/> |
参数:
1、width
—-控制 viewport 的大小,可以指定的一个值或者特殊的值,如 device-width 为设备的宽度(单位为缩放为 100% 时的 CSS 的像素)。
2、height
—-和 width 相对应,指定高度。
3、target-densitydpi
—-一个屏幕像素密度是由屏幕分辨率决定的,通常定义为每英寸点的数量(dpi)。Android支持三种屏幕像素密度:低像素密度,中像素密度,高像素密度。一个低像素密度的屏幕每英寸上的像素点更少,而一个高像素密度的屏幕每英寸上的像素点更多。Android Browser和WebView默认屏幕为中像素密度。
下面是 target-densitydpi 属性的取值范围
device-dpi: 使用设备原本的 dpi 作为目标 dp。 不会发生默认缩放。
high-dpi: 使用hdpi 作为目标 dpi。 中等像素密度和低像素密度设备相应缩小。
medium-dpi: 使用mdpi作为目标 dpi。 高像素密度设备相应放大, 像素密度设备相应缩小。 这是默认的target density.
low-dpi: 使用mdpi作为目标 dpi。中等像素密度和高像素密度设备相应放大。
注:为了防止Android Browser和WebView 根据不同屏幕的像素密度对你的页面进行缩放,你可以将viewport的target-densitydpi 设置为 device-dpi。当你这么做了,页面将不会缩放。相反,页面会根据当前屏幕的像素密度进行展示。在这种情形下,你还需要将viewport的width定义为与设备的width匹配,这样你的页面就可以和屏幕相适应。
4、initial-scale
—-初始缩放。即页面初始缩放程度。这是一个浮点值,是页面大小的一个乘数。例如,如果你设置初始缩放为“1.0”,那么,web页面在展现的时候就会以target density分辨率的1:1来展现。如果你设置为“2.0”,那么这个页面就会放大为2倍。
5、maximum-scale
—-最大缩放。即允许的最大缩放程度。这也是一个浮点值,用以指出页面大小与屏幕大小相比的最大乘数。例如,如果你将这个值设置为“2.0”,那么这个页面与target size相比,最多能放大2倍。
6、user-scalable
—-用户调整缩放。即用户是否能改变页面缩放程度。如果设置为yes则是允许用户对其进行改变,反之为no。默认值是yes。如果你将其设置为no,那么minimum-scale 和 maximum-scale都将被忽略,因为根本不可能缩放。
所有的缩放值都必须在0.01–10的范围之内。
二、开发技巧
1.input和button点击时的蓝色外边框和灰色半透明背景问题处理
1 2 3 | a,button,input,optgroup,select,textarea { -webkit-tap-highlight- color :rgba( 0 , 0 , 0 , 0 ); } |
2、关闭iOS键盘首字母自动大写
1 | < input type = "text" autocapitalize = "off" /> |
3、禁止文本缩放
1 2 3 | html { -webkit-text-size-adjust: 100% ; } |
4、移动端如何清除输入框内阴影
在iOS上,输入框默认有内部阴影,但无法使用 box-shadow 来清除,如果不需要阴影,可以这样关闭:
1 2 3 4 5 | input, textarea { border : 0 ; -webkit-appearance: none ; } |
5、移动端禁止选中内容
1 2 3 | div { -webkit-user-select: none ; } |
6.文本溢出
1、单行文本溢出
1 2 3 4 5 | .xx{ overflow : hidden ; white-space : nowrap ; text- overflow :ellipsis; } |
2、多行文本溢出
1 2 3 4 5 6 7 8 | .xx{ display :-webkit-box !importmort; overflow : hidden ; text- overflow :ellipsis; word-break:break- all ; -webkit-box-orient:vertical; -webkit-line-clamp: 2 ;(数字 2 表示隐藏两行) } |
非要作到最后两个小时写,复制了一些自己平常攒的小笔记 。
T_T
手机阅读请扫描下方二维码:
12345678

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
12345678

12345678

12345678

12345678

mgpkuvfbnbmvpexclgjf
12345678

1
12345678

12345678

12345678

12345678

12345678

1

1

1

1

1

1

1

1

1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1