移动WEB前端开发资源整合

meta篇


视窗宽度


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

其中 width=device-width 是设置视窗宽度为设备视窗宽度,还可以设置固定宽度,例如: width=640 则是设置640px的固定宽度
initial-scale=1.0:设置初始缩放比例为1.0
minimum-scale=1.0maximum-scale=1.0 :最小缩放比例和最大缩放比例
user-scalable=no :禁止用户自由缩放,user-scalable 默认值为yes
提示:上面那个是带全部参数的,一般设置了user-scalable=no就不需要再使用minimum-scale=1.0maximum-scale=1.0来强制禁止缩放了

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

自动识别格式


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

content里面的参数:
telephone=no:禁止浏览器自动识别手机号码
email=no:禁止浏览器自动识别Email
address=no:禁止浏览器自动识别地址
date=no:禁止浏览器自动识别日期

完整模板


1
2
3
4
5
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"/>
<meta name="format-detection" content="telephone=no"/>
<meta name="format-detection" content="email=no"/>
<meta name="format-detection" content="address=no"/>
<meta name="format-detection" content="date=no"/>

CSS篇


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
body {
font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif; /*使用无衬线字体*/
}
a, img {
-webkit-touch-callout: none; /*禁止长按链接与图片弹出菜单*/
}
html, body {
-webkit-user-select: none; /*禁止选中文本*/
user-select: none;
}
button,input,optgroup,select,textarea {
-webkit-appearance:none; /*去掉webkit默认的表单样式*/
}
a,button,input,optgroup,select,textarea {
-webkit-tap-highlight-color:rgba(0,0,0,0); /*去掉a、input和button点击时的蓝色外边框和灰色半透明背景*/
}
input::-webkit-input-placeholder {
color:#ccc; /*修改webkit中input的planceholder样式*/
}
input:focus::-webkit-input-placeholder {
color:#f00; /*修改webkit中focus状态下input的planceholder样式*/
}
body {
-webkit-text-size-adjust: 100%!important; /*禁止IOS调整字体大小*/
}
input::-webkit-input-speech-button {
display: none; /*隐藏Android的语音输入按钮*/
}

Flex基础篇


这里假设flex容器为.box,子元素为.item
具体可参考实例demo

定义容器为flex布局


1
2
3
4
5
6
7
8
9
10
.box{
display: -webkit-flex; /*webkit*/
display: flex;
}
/*行内flex*/
.box{
display: -webkit-inline-flex; /*webkit*/
display:inline-flex;
}

容器样式


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.box{
flex-direction: row | row-reverse | column | column-reverse;
/*主轴方向:左到右(默认) | 右到左 | 上到下 | 下到上*/
flex-wrap: nowrap | wrap | wrap-reverse;
/*换行:不换行(默认) | 换行 | 换行并第一行在下方*/
flex-flow: <flex-direction> | <flex-wrap>;
/*主轴方向和换行简写*/
justify-content: flex-start | flex-end | center | space-between | space-around;
/*主轴对齐方式:左对齐(默认) | 右对齐 | 居中对齐 | 两端对齐 | 平均分布*/
align-items: flex-start | flex-end | center | baseline | stretch;
/*交叉轴对齐方式:顶部对齐(默认) | 底部对齐 | 居中对齐 | 上下对齐并铺满 | 文本基线对齐*/
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
/*多主轴对齐:顶部对齐(默认) | 底部对齐 | 居中对齐 | 上下对齐并铺满 | 上下平均分布*/
}

子元素样式


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.item{
order: <integer>;
/*排序:数值越小,越排前,默认为0*/
flex-grow: <number>; /* default 0 */
/*放大:默认0(即如果有剩余空间也不放大,值为1则放大,2是1的双倍大小,以此类推)*/
flex-shrink: <number>; /* default 1 */
/*缩小:默认1(如果空间不足则会缩小,值为0不缩小)*/
flex-basis: <length> | auto; /* default auto */
/*固定大小:默认为0,可以设置px值,也可以设置百分比大小*/
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
/*flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto,*/
align-self: auto | flex-start | flex-end | center | baseline | stretch;
/*单独对齐方式:自动(默认) | 顶部对齐 | 底部对齐 | 居中对齐 | 上下对齐并铺满 | 文本基线对齐*/
}

小技巧篇


自定义苹果图标


在网站文件根目录放一个apple-touch-icon.png文件,苹果设备保存网站为书签或桌面快捷方式时,就会使用这个文件作为图标,文件尺寸建议为:180px × 180px

自定义favicon


1
<link rel="icon" href="favicon.ico" mce_href="favicon.ico" type="image/x-icon">

定义浏览器点击行为

1
2
3
<a href="tel:10086">打电话给:10086</a>
<a href="sms:10086">发短信给:10086</a>
<a href="mailto:luckywgm@gmail.com">发送邮件给我</a>

定义上传文件类型和格式


1
<input type=file accept="image/*">

上面的文件上传框中,accept可以限制上传文件的类型,参数为 image/*是所有图片类型,点击会弹出图库,也可以指定图片格式,参数设置成 image/png 则可以限制图片类型为png;参数如果为 video/* 则是选择视频的意思;accept还可以设置多个文件格式,语法为accept="image/gif, image/jpeg"

使用box-shadow改变(挡住)表单自动填充后的黄色


1
2
3
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill{
box-shadow:inset 0 0 0 1000px #fff;
}

用CSS实现省略号文字截断


1
2
3
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;

使用border绘制小三角


原理是:上下和左右的边框对接其实是个斜角,利用这个特性,使其中一边的边框透明,另外一边写成想要的颜色并隐藏对边,就可以变成小箭头形状。

1
2
3
4
width: 0;
border-style: solid;
border-color: transparent #efefef;
border-width: 10px 10px 10px 0; //左箭头

Tootip写法:

1
2
<!--html-->
<div class="box">Hello World</div>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*--css--*/
.box{
position: relative;
padding: 0 20px;
width: 100px;
height: 80px;
border-radius: 8px;
background: #efefef;
font-size: 18px;
line-height: 80px;
}
.box:after{
position: absolute;
top: 50%;
left: -15px;
z-index: 1;
display: block;
margin-top: -15px;
width: 0;
border-color: transparent #efefef;
border-style: solid;
border-width: 15px 15px 15px 0;
content: "";
}

如果您觉得我的文章对您有用,请随意打赏。

您的支持将鼓励我继续创作!

¥ 打赏支持

文章导航

目录

×
  1. 1. meta篇
    1. 1.1. 视窗宽度
    2. 1.2. 自动识别格式
    3. 1.3. 完整模板
  2. 2. CSS篇
  3. 3. Flex基础篇
    1. 3.1. 定义容器为flex布局
    2. 3.2. 容器样式
    3. 3.3. 子元素样式
  4. 4. 小技巧篇
    1. 4.1. 自定义苹果图标
    2. 4.2. 自定义favicon
  5. 5. 定义浏览器点击行为
    1. 5.1. 定义上传文件类型和格式
    2. 5.2. 使用box-shadow改变(挡住)表单自动填充后的黄色
    3. 5.3. 用CSS实现省略号文字截断
    4. 5.4. 使用border绘制小三角