CSS网页制作 表单button的行高问题

所属分类: 网页制作 / CSS 阅读数: 710
收藏 0 赞 0 分享
表单button的行高问题

下面我们先来看一个Demo的实例:

HTML Code

复制代码
代码如下:

<input type="submit" id="button" value="engage"/>

CSS Code

复制代码
代码如下:

#button {
border: 2px solid #06f;
color: #06f;
background-color: #6cf;
font: bold 12px Arial, Helvetica, sans-serif;
line-height: 50px;
}

浏览器下的截图:

多效果图中,明显的告诉我们,在Firefox和Opera浏览器中都存在问题,而且致命的一点是:“无论你通过什么手段去修改button的line-height,在Firefox和Opera浏览器下都无任何效果。”是什么导致的呢?(我以前从没注意到他们有这样的一个bug存在)。看了上面的文章我才知道,原来是浏览器对定义button的line-height是不同的,我们来看看浏览器在Firefox下的解析line-height值的截图:

从图中告诉我们一个道理:button的行高在Chrome/Safari/IE8等浏览器解析正确的line-height(用户自定的值“50px”);而在Firefox和Opera解析的line-height却是默认的值,只有“15px”。那为什么会这样呢?
要回答这个问题,我回答不出来,可能您知道是为什么?我只能把他当作是Firefox和Opera浏览器下的一个特点,换句话就是:这两个浏览器的line-height默认值为normal并且还加了一个“!important”,类似于:

复制代码
代码如下:

button, input[type="reset"], input[type="button"], input[type="submit"] {
line-height:normal !important;
}

那我们是不是可以在设置值的时候也加个“!important”解决呢?我尝试了,可是失败了,那我们需要怎么来解决呢?

如何解决?

Rob Glazebrook在他的《The Firefox Input Button Line-Height Bug》教程中使用了一种方法——在button中不重置line-height的值,而是使用padding来制作相同的效果。这样上面的实例可以这样修改:


复制代码
代码如下:

#button {
border: 2px solid #06f;
color: #06f;
background-color: #6cf;
font: bold 12px Arial, Helvetica, sans-serif;
padding: 18px 6px;
}

这种办法让文本处在button的中心位置,虽然不是很理想,但我们又无法使用line-height来让他在中心点位置,不知道您有没有更好的方法。如果有的话,记得与我们一起分享。欢迎随时在评论中留言。

这个有关于button的line-height的bug不知道你以前留意了没,我是没有发现到,这次可算是学习了一下,那么最后在结束之前,我们一起感谢为之提供的技术链接,如果你还不太清楚我说的,而且你又对这个bug很感兴趣的话,你可以移步到Rob Glazebrook的《The Firefox Input Button Line-Height Bug》。希望对大家有所帮助。

更多精彩内容其他人还在看

CSS3实现背景透明文字不透明的示例代码

这篇文章主要介绍了CSS3实现背景透明文字不透明的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈CSS中的尺寸单位

这篇文章主要介绍了浅谈CSS中的尺寸单位的相关资料,浏览器的兼容性越来越好,移动端基本是清一色的webkit,经常会用到css的不同尺寸/长度单位,这里做个整理。感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

CSS中有些属性的前面会加上“*”或“_”所代表的意思

这篇文章主要介绍了CSS中有些属性的前面会加上“*”或“_”所代表的意思,需要的朋友可以参考下
收藏 0 赞 0 分享

CSS 设置滚动条样式的实例代码

这篇文章主要介绍了CSS 设置滚动条样式的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

纯CSS制作各种各样的网页图标(三角形、暂停按钮、下载箭头、加号等)

这篇文章主要介绍了纯CSS制作各种各样的网页图标(三角形、暂停按钮、下载箭头、加号等)的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

纯css实现多级折叠菜单折叠树效果

这篇文章主要介绍了纯css实现多级折叠菜单折叠树效果,运用checkbox的checked值来判断下级栏目是否展开,通过css3选择器提供的checked伪类来实现此效果,感兴趣的朋友参考下吧
收藏 0 赞 0 分享

CSS Grid 网格布局全解析

这篇文章主要介绍了CSS Grid 网格布局全解析的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

css flex 弹性布局详解

这篇文章主要介绍了css flex 弹性布局详解的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

CSS3 二级导航菜单的制作的示例

这篇文章主要介绍了CSS3 二级导航的制作的示例的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

使用css禁用input、checkbox、select等html控件实现disable效果

这篇文章主要介绍了使用css禁用input、checkbox、select等html控件实现disable效果,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多