去掉谷歌浏览器默认的input、textarea的边框
2012-08-08 17:58
253 查看
今天在制作表单的过程中遇到了两个问题,
一个是当鼠标焦点在input、textarea这些元素上时,Chrome默认的会给它们加上黄色的边框,
![](http://pic002.cnblogs.com/images/2012/303975/2012080817202956.png)
其实这是是css的效果,outline这个属性。
设置outline: none;就会去掉,对其修改会怎么样呢
例如:outline:Blue Solid 1px;
这时会发现Chrome下获得焦点outline会跑到border里面,致使表单获取焦点时会变小一点,这个为什么还不太清楚,知道的可以给我留言
另一个是焦点的那个竖线问题
![](http://pic002.cnblogs.com/images/2012/303975/2012080817460071.png)
个浏览器高度都很跟字体高度保持一致但Webkit却跟line-height一致
这时如果设置line-height为input高同,那么IE下就会文字居中显示,但是Webkit内核下就会出现上图的情况,光标线很长,如果不设置line-height值,那么Webkit内核浏览器表现很好,iE就会出现文字居顶
![](http://pic002.cnblogs.com/images/2012/303975/2012080817504819.png)
为了兼容所有浏览器,没办只有针对Webkit内核浏览器写hack
hack写法如下
@media screen and (-webkit-min-device-pixel-ratio:0) {
.a{ line-height:25px;}
}
![](http://pic002.cnblogs.com/images/2012/303975/2012080818003185.gif)
说不清楚了,反正就是要Webkit和IE都表现完美
附:
查资料的知
IE下
Webkit内核下,当缺省
Geoko下,它的值会随
Geoko下,文本框获得焦点时的光标的大小由文本框的
Opera的表现最为优雅,
一个是当鼠标焦点在input、textarea这些元素上时,Chrome默认的会给它们加上黄色的边框,
![](http://pic002.cnblogs.com/images/2012/303975/2012080817202956.png)
其实这是是css的效果,outline这个属性。
设置outline: none;就会去掉,对其修改会怎么样呢
例如:outline:Blue Solid 1px;
这时会发现Chrome下获得焦点outline会跑到border里面,致使表单获取焦点时会变小一点,这个为什么还不太清楚,知道的可以给我留言
另一个是焦点的那个竖线问题
![](http://pic002.cnblogs.com/images/2012/303975/2012080817460071.png)
个浏览器高度都很跟字体高度保持一致但Webkit却跟line-height一致
这时如果设置line-height为input高同,那么IE下就会文字居中显示,但是Webkit内核下就会出现上图的情况,光标线很长,如果不设置line-height值,那么Webkit内核浏览器表现很好,iE就会出现文字居顶
![](http://pic002.cnblogs.com/images/2012/303975/2012080817504819.png)
为了兼容所有浏览器,没办只有针对Webkit内核浏览器写hack
hack写法如下
@media screen and (-webkit-min-device-pixel-ratio:0) {
.a{ line-height:25px;}
}
![](http://pic002.cnblogs.com/images/2012/303975/2012080818003185.gif)
说不清楚了,反正就是要Webkit和IE都表现完美
附:
查资料的知
不同浏览器对文本框行高line-height的处理
除IE内核浏览器外,缺省line-height时都会自适应文本框的
height。
IE下
line-height对文本框有效,加上与相同的
height后可以让IE也垂直居中。
line-height超过
height时,文本框获得焦点后拖动鼠标或按 上下键会出现上下滚动的现象。
Webkit内核下,当缺省
line-height是,文本会自适应文本框
height。 并且
line-height对其有效。
Geoko下,它的值会随
font-size的改变而改变(可以通过firebug来看计算样式),而不能由 网页开发人员来定义。
Geoko下,文本框获得焦点时的光标的大小由文本框的
height决定,基本等于文本框的
height。
Opera的表现最为优雅,
line-height完全无效,文本始终垂直居中,光标也不会出现Geoko的 问题。
相关文章推荐
- 去掉谷歌浏览器获取焦点时默认的input、textarea的边框和背景
- 去掉谷歌浏览器获取焦点时默认的input、textarea的边框和背景
- 去掉谷歌浏览器获取焦点时默认的input、textarea的边框和背景
- 去掉谷歌浏览器获取焦点时默认的input、textarea的边框和背景
- 去掉谷歌浏览器获取焦点时默认的input、textarea的边框和背景
- 去掉谷歌浏览器默认的input、textarea的边框
- 【解决方案】去掉谷歌浏览器获取焦点时默认的input、textarea的边框和背景
- 去掉谷歌浏览器获取焦点时默认的input、textarea的边框
- 去掉谷歌默认的input textarea边框样式
- 去掉chrome浏览器默认的input、textarea的边框(border)和背景(background) 及chrome下不可更改textarea大小
- css去掉谷歌浏览器input、textarea、select中黄色边框
- css基础2-标准文档流、透明度、禁止拖动textarea、去掉input外边框、图片默认边框
- 去掉或改变Chrome上Input、textarea的默认边框等
- 去掉textArea和input的边框
- 去掉textArea和input的边框
- 去掉input在iphone出现默认边框
- IE6/7下移除button、input 默认边框和去掉焦点线
- IE6/7下多种方法移除button、input 默认边框和去掉焦点线
- CSS控制去掉textArea和input的边框
- 去掉textArea和input的边框