input是HTML中非常重要,非常常用而又不可替代的元素,在于其相关的样式设置中有时会遇到其他元素不会发生的问题,今天把我印象中的一些小问题和解决方案记录一下。

1.与同行元素上下居中对齐

关于上下居中的话题还是比较热门的,过几天也想专门总结一下元素各种上下居中的方法,今天简单说说关于input的特殊方法。

最推荐的是flex布局模式,掌握flex布局方式后会发现居中特别简单,而且在现代浏览器中都兼容这种布局方式。

对于块元素,可能自适应的居中方式需要绝对定位了,

position:absolute;
top:0;
bottom:0;

或者

position:absolute;
top:50%;
left:50%;
transform:translate(-50%;-50%);

这些适用于块元素的方法都能应用于行内块元素input,但是感觉太麻烦了,而且脱离了文档流,对后面元素的布局造成了影响。

对于行内元素,

vertical-align:middle;

是一种很方便的方法,但是貌似input等行内块元素不吃这一套。

有一种取巧的方法,

height:父元素高度;
line-height:父元素高度;
border:none;
outline:none;

就是input元素占满所处空间,让input的文字居中即可。因为为了美观,input的边框基本都会被去掉,input的范围不可见,那么让文字居中同样实现了效果,还很方便,在条件适合的时候这种方式个人感觉很实用。

2.placeholder颜色设置

这个没什么好说的,方法记一下就好

:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
color: #000; opacity:1;
} ::-moz-placeholder { /* Mozilla Firefox 19+ */
color: #000;opacity:1;
} input:-ms-input-placeholder{
color: #000;opacity:1;
} input::-webkit-input-placeholder{
color: #000;opacity:1;
}

也可以同时设置字号等

input::-webkit-input-placeholder { /* WebKit browsers*/
  color:#999;font-size:14px;
  }
input:-moz-placeholder { /* Mozilla Firefox 4 to 18*/
  color:#999;font-size:14px;
  }
input::-moz-placeholder { /* Mozilla Firefox 19+*/
  color:#999;font-size:14px;
  }
input:-ms-input-placeholder { /* Internet Explorer 10+*/
  color:#999;font-size:14px;
}

3.设置input弹出软键盘的type与其type属性不同

这个需求看起来莫名其妙,其实还是有他存在的理由的,比如点击一个输入框,弹出数字键盘,但是用户还可以输入数字以外的内容。

什么时候有这种需求呢?比如输入身份证号码,有的人需要输入“X”,所以type应该是text。但是所有人都要从数字开始输入,弹出字母键盘就不太舒服了。

那怎么实现呢

type="number"
onfocus="this.type='text'"

默认是number类型的,用户点击时弹出的也是数字键盘,而点击过后input获取到焦点出发onfocus事件,这时输入字母就也是允许的了。如果细心的话在onblur时再把type改回number就可以重复这样的操作了,没毛病。

CSS:与input相关的一些样式设置问题的更多相关文章

  1. css 更改input radio checkbox的样式

    html <label> <input type="checkbox" class="colored-blue"> <span c ...

  2. css修改input表单默认样式重置与自定义大全

    链接地址: 伪元素表单控件默认样式重置与自定义大全 http://www.zhangxinxu.com/wordpress/?p=3381 Chrome 现在不支持通过伪元素修改 meter 元素样式 ...

  3. 利用CSS 修改input=radio的默认样式(改成选择框)

    html部分: <input id="item2" type="radio" name="item"> <label fo ...

  4. CSS修改input[type=range]滑块样式

    input[type="range"]是html5中的input标签新属性,样子如下: <input type="range" value="4 ...

  5. css取消input、select默认样式(手机端)

    IOS端: background-color:transparent; border-color:transparent; andorid端: 仅仅使用上面的代码还不够,可以发现select框在某些浏 ...

  6. CSS中关于多个class样式设置的不同写法

    html中: <div class="containerA"> 这是AAAAAAAAAAAAAAAAAAAAAAA样式 <div class="cont ...

  7. 替换input单选框的样式

    实现效果:. css的input单选框的样式很丑,有时候不想使用原生的样式,如上照片,可以使用下面的方法. 思路是,给inpu加visibility:hidden隐藏,然后使用不同的图片绝对定位覆盖在 ...

  8. CSS样式设置语法全解,样式优先级、值和单位、字体、文本、块级元素,行内元素,替换元素、非替换元素、display、float、position、table、li、光标、边距边框、轮廓、颜色背景

    全栈工程师开发手册 (作者:栾鹏) 一个demo学会css css选择器全解 css操作语法全解 CSS样式设置语法全解: 样式优先级 1. !important标记的样式 > 内联样式(sty ...

  9. 前端基础-CSS的属性相关设置

    一 字体属性 二 文本属性 三 背景属性 四 盒子模型 五 盒子模型各部分详解 一. 字体属性 1.font-weight:文字粗细(表格中*为重点) 取值 描述   normal 默认值,标准粗细 ...

随机推荐

  1. 【Mac】Mac中如何将相同后缀的所有文件设置指定软件打开

    操作步骤: 以settings.xml文件为例 1.首先选中该文件,鼠标右键打开功能列表,选则查看文件信息 2.在文件信息中,进行相关设置

  2. 给Mac的Dictionary添加其他原装词典

    原文:https://www.zhihu.com/question/20428599/answer/223511099 (含下载,但需要论坛注册) 下载(百度网盘):https://blog.csdn ...

  3. Activity的介绍

    Activity类是Android应用程序的重要组成部分,activity的启动和组合方式是平台应用程序模型的基本组成部分.Android系统通过调用与其生命周期的特定阶段相对应的特定回调方法来启动A ...

  4. maven install报错 Failed to execute goal on project my-manager-mapper: Could not resolve dependencies for project com.my:my-manager-mapper:jar:0.0.1-SNAPSHOT:

    报错信息为: [ERROR] Failed to execute goal on project my-manager-mapper: Could not resolve dependencies f ...

  5. python爬虫-入门-了解爬虫

    作为一个爬虫新手,我觉得首先要了解爬虫是的作用以及应用. 作用:通过爬虫获取网页内的信息.包括:标题(title)图片(image)链接(url)等等 应用:抽取所需信息,进行数据汇总及分析(从事网页 ...

  6. 网络爬虫&起点中文网完本榜500部小说

    # 网络爬虫爬取起点中文网完本榜小说500部# 四步,分步操作,不易出错# 所需要获取的数据:书名 .作者.网址.类型.主要介绍.作品信息 from urllib.request import * # ...

  7. linux所有命令不能用显示-bash: ls: command not found

    所有的命令都显示找不到了,原因是修改了/etc/profile造成的 解决方法 1.修正属性文件中的错误 /usr/bin/vi /etc/profile 2.生效属性文件 source /etc/p ...

  8. Web API学习——Web API 强势入门指南

    Web API是一个比较宽泛的概念.这里我们提到Web API特指ASP.NET Web API. 这篇文章中我们主要介绍Web API的主要功能以及与其他同类型框架的对比,最后通过一些相对复杂的实例 ...

  9. Jan.07

    Jan.07 英文朗读 be good for对...好 be bad for/be harmful to对..不利. Smoking is not good for your health. 吸烟对 ...

  10. 正试图在os加载程序锁内执行托管代码。不要尝试在DllMain或映像初始化函数内运行托管代码 问题解决方法

    方法一把vs菜单的 调试->异常->Managed Debuggin Assistants->LoaderLock