CSS- 移动端特有样式 / input相关

body字体样式:

body{
    font-family:Tahoma,Arial,Roboto,"Droid Sans","Helvetica Neue","Droid Sans Fallback","Heiti SC",sans-self;

    -webkit-font-smoothing:antialiased; 
    -webkit-user-select:none;

    -webkit-overflow-scrolling:touch;
    
}

阻止旋转屏幕时自动调整字体大小:

html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6 {
    -webkit-text-size-adjust:none;
}

居中问题:

//table布局法

.box{ 
    text-align:center; 
    display:table-cell; 
    vertical-align:middle; 
}

//老版本flex布局法
.box{ 
    display:-webkit-box; 
    -webkit-box-pack: center; 
    -webkit-box-align: center; 
    text-align:center; 
}

//ps:
//使用 flex 的时候一定要记得加前缀,不然肯定会有兼容性问题
//(目前使用方式都有三种写法:1,旧的2,过度的3,新的)
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;

 }

去除ios 按钮按下的默认高亮效果:

-webkit-tap-highlight-color : none;

//去掉点击链接和文本框对象时默认的灰色半透明覆盖层(iOS)或者虚框(Android) ,此属性加在body或html都可以。
body,html,a, input{
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}

ios 触摸并按住触摸目标时候,禁止或显示系统默认菜单:

    -webkit-touch-calloutnone;

ios 下移除原生样式:

//消除输入框和按钮的原生外观,在iOS上加上这个属性才能给按钮和输入框自定义样式 ,此属性加在button按钮上。 
    -webkit-appearance: none;

移动端隐藏scroll滚动条:

::-webkit-scrollbar {/*隐藏滚轮*/
    display: none;
}

CSS3 ::selection修改选中文字的颜色:

.classname::selection{
    background: black;color:red;
}

ios上fixed失效解决如下:

//改用  position:absolute; 定位
//外面用 如下样式包裹
.frame-wrapper {
  transform: translate3d(0px, 0px, 0px);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: transform ease-in-out 0.38s, visibility 0.38s, -webkit-transform ease-in-out 0.38s;
}

//导航下面的滚动内容区域
.content-wrapper {
  box-sizing: border-box;
  height: 100%;
  overflow-x:hidden;
  overflow-y:scroll;
  -webkit-overflow-scrolling: touch;
}

input相关

input placeholder样式:

::-webkit-input-placeholder {
    color: #ccc;
}

移除HTML5 input在type=”number”时的上下小箭头:

//chrome下:
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button{
    -webkit-appearance: none !important;
    margin: 0; 
}

//Firefox下:
input[type="number"]{-moz-appearance:textfield;}

消除ie10里面的那个叉号:

input:-ms-clear{display:none;}

自动大写与自动修正:

type="text" autocapitalize="off" autocorrect="off" />

Andriod 上去掉语音输入按钮:

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

input类型为date情况下不支持placeholder:
这其实是浏览器自己的处理。因为浏览器会针对此类型 input 增加 datepicker 模块。

对 input type date 使用 placeholder 的目的是为了让用户更准确的输入日期格式,iOS 上会有 datepicker 不会显示 placeholder 文字,但是为了统一表单外观,往往需要显示。Android 部分机型没有 datepicker 也不会显示 placeholder 文字。

桌面端(Mac):
Safari 不支持 datepicker,placeholder 正常显示。
Firefox 不支持 datepicker,placeholder 正常显示。
Chrome 支持 datepicker,显示 年、月、日 格式,忽略 placeholder。

移动端:
iPhone5 iOS7 有 datepicker 功能,但是不显示 placeholder。
Andorid 4.0.4 无 datepicker 功能,不显示 placeholder

解决办法:

"Date" class="textbox-n" type="text" onfocus="(this.type='date')"  id="date"> 
//因为text是支持placeholder的。因此当用户focus的时候自动把type类型改变为date,这样既有placeholder也有datepicker了

你可能感兴趣的:(css/css3,移动端)