CSS:与input相关的一些样式设置问题
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相关的一些样式设置问题的更多相关文章
- css 更改input radio checkbox的样式
html <label> <input type="checkbox" class="colored-blue"> <span c ...
- css修改input表单默认样式重置与自定义大全
链接地址: 伪元素表单控件默认样式重置与自定义大全 http://www.zhangxinxu.com/wordpress/?p=3381 Chrome 现在不支持通过伪元素修改 meter 元素样式 ...
- 利用CSS 修改input=radio的默认样式(改成选择框)
html部分: <input id="item2" type="radio" name="item"> <label fo ...
- CSS修改input[type=range]滑块样式
input[type="range"]是html5中的input标签新属性,样子如下: <input type="range" value="4 ...
- css取消input、select默认样式(手机端)
IOS端: background-color:transparent; border-color:transparent; andorid端: 仅仅使用上面的代码还不够,可以发现select框在某些浏 ...
- CSS中关于多个class样式设置的不同写法
html中: <div class="containerA"> 这是AAAAAAAAAAAAAAAAAAAAAAA样式 <div class="cont ...
- 替换input单选框的样式
实现效果:. css的input单选框的样式很丑,有时候不想使用原生的样式,如上照片,可以使用下面的方法. 思路是,给inpu加visibility:hidden隐藏,然后使用不同的图片绝对定位覆盖在 ...
- CSS样式设置语法全解,样式优先级、值和单位、字体、文本、块级元素,行内元素,替换元素、非替换元素、display、float、position、table、li、光标、边距边框、轮廓、颜色背景
全栈工程师开发手册 (作者:栾鹏) 一个demo学会css css选择器全解 css操作语法全解 CSS样式设置语法全解: 样式优先级 1. !important标记的样式 > 内联样式(sty ...
- 前端基础-CSS的属性相关设置
一 字体属性 二 文本属性 三 背景属性 四 盒子模型 五 盒子模型各部分详解 一. 字体属性 1.font-weight:文字粗细(表格中*为重点) 取值 描述 normal 默认值,标准粗细 ...
随机推荐
- CORS在Spring中的实现
CORS: 通常情况下浏览器禁止AJAX从外部获取资源,因此就衍生了CORS这一标准体系,来实现跨域请求. CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origi ...
- python之asyncio三种应用方法
1.直接使用asyncio.run方法2.同步的效果,用await调用函数3.创建任务(asyncio.create_task),并发运行任务(await asyncio.gather) import ...
- 20175212童皓桢 Java实验二-面向对象程序设计实验报告
20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...
- 如何将baseUrl项目地址提取放到放到static
原本项目的baseUrl地址是放在src/common/config.js ,但是这有一个缺点,就是本地测试一个地址,生产一个地址.每发一次不同環境的包就要build一下,太麻烦了!有没有解决的办法呢 ...
- Form表单发送到服务器时的编码方式
---恢复内容开始--- 表单中的表单中enctype是设置表单的MIME编码. 所谓MIME编码,是指当服务器传送数据给客户端时,必须指定这个文件是什么类型,才能方便客户端调用相应的应用软件来打开该 ...
- Emacs中的代码折叠控制
之前在别的编辑器里用到代码折叠的功能很好用. 对 Emacs 不够熟悉,作为一只坚强的懒癌晚期患者,一直没开启这个功能,使用石器时代的标记法来记录每个结构的起止位置,效率可想而知. 今天可算是找着它啦 ...
- RuntimeError: Model class app_anme.models.User doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.---python学习错误记录
untimeError: Model class app_anme.models.User doesn't declare an explicit app_label and isn't in an ...
- 初次接触Java
今天初次接触Eclipse,学着用他来建立java工程,话不多说,来看看今天的成果! 熟悉自己手中的开发工具,热热身 刚上手别慌,有问题找度娘 刚刚拿到这个软件的安装包我是一脸懵逼的,因为是从官网下载 ...
- Jmeter之https脚本录制
jmeter录制脚本时,跟http脚本录制主要区别是,https录制需要添加安全证书. 一.jmeter代理服务器及证书配置. 1.打开jmeter,右键测试计划添加线程组,右键工作台--> ...
- springMVC控制器,处理器,映射器,适配器
前端控制器DispatcherServlet <!--定义spring mvc 的前端控制器Servlet --><servlet> <!--Servlet的名称--&g ...