最近学习总结的内容,方便以后自己查找,主要包括移动端独立滚动的层如何平滑滚动,交互样式,垂直布局,移动端版0.5像素的边框,meta默认webkit渲染和响应式布局的一些看法。响应式布局以后会单独在详细说明,其他的后期还会再补充。
移动端页面滚动过渡
.scrolldiv { -webkit-overflow-scrolling: touch; }
:active
可以实现元素触发样式,例如可以定义按钮按下时候的样式,配合css transition,平滑过渡效果。display: table
活用,可以实现很多布局,例如移动端信息列表展示,vertical-align:2px;
(可以是负数)关键时刻,文字和图片或者其他标签想要垂直居中对齐的时候可以用到,注: display:inline-block
的元素也可使用 vertical-align
。vertical-align:2px;
和 margin-top:2px
的区别;vertical-align:2px;
只根据上级元素的vertical-align 属性决定,上级top 则从顶部开始加2px,而且不影响文字的位置,但是margin会影响到整行内容的位置(除非float)display:block
切换会影响到css3动画, -moz-user-select: none; /*火狐*/
-webkit-user-select: none; /*webkit浏览器*/
-ms-user-select: none; /*IE10*/
user-select: none;
}
移动端1px border 显示有问题,会通过各种方法实现0.5px的border,正在使用的一种方法是使用 border-image
,图片是一张宽高 6px
边框 2px
颜色 rgba(0,0,0,.2)
中空的png,这样可以根据不同的背景色都是一个相对暗一点的边线。
.border{ -webkit-border-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGAQMAAADaAn0LAAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMfALvJw6YAAAAOSURBVAjXY2BgqIBCBgALTAHh3wAXEAAAAABJRU5ErkJggg==) 2 stretch; border-width: 1px; }
< meta name="force-rendering" contect="WebKit">
< meta http-equiv="X-UA-Compatible" content="chrome=1" >
@media screen
去判断屏幕,移动端也有不同的屏幕宽度,不同类型的手机也不同宽度,ipone6和ipone5就有很大的不同,推荐几个文字自适应的单位:em
会根据基本字体大小按倍数去展示,
vw
vh
按照屏幕宽度百分比实现兑换px,例如:1vw = 1%
w是屏幕宽度,h是屏幕高度,可以定义字体大小和元素的宽高等参数,补充: display:table
的元素使用 vw/vh
定义高度的时候不生效,但可已定义到内部的 display:table-cell
上,
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
viewport即可视区域,
width: viewport 的宽度 (范围从 200 到 10,000 ,默认为 980 像素 )
height: viewport 的高度 (范围从 223 到 10,000 )
initial-scale: 初始的缩放比例 (范围从>0到 10 )
minimum-scale: 允许用户缩放到的最小比例
maximum-scale: 允许用户缩放到的最大比例
user-scalable: 用户是否可以手动缩放
<meta name="apple-mobile-web-app-capable" content="yes">
是否删除默认的苹果工具栏和菜单栏
<meta name="apple-mobile-web-app-status-bar-style" content="black">
控制 iphone 状态栏显示样式
black-translucent
半透明
<meta name="format-detection" content="telephone=no">
禁止iphone把数字转化为拨号链接!,类似的还有
meta name="format-detection" content="email=no"
和meta name="format-detection" content="adress=no"
禁止跳到地图
<meta http-equiv="x-dns-prefetch-control" content="on">
DNS预解析
去除input 在iphone时候的默认内阴影
input{
appearance: none; -webkit-appearance: none; /*去除默认阴影*/
}
text-rendering: optimizeLegibility; css文本渲染优化显示文本, 值为:auto |
optimizeSpeed | optimizeLegibility | geometricPrecision 区别在渲染速度,清晰度,连字方面 |
为IE兼容伪类 调取的js