我有一个名为“button”的类,我想用它来作为按钮、输入和锚标签的样式。问题在于button和input标签的行高比anchor标签大。我在这里附上了一个示例,你可以在firebug或其他工具中进行调整。
http://28dev.com/stackoverflow/css-buttons.html
但是对于那些只想查看css/html的人,这里是代码:
.button {
font-family : helvetica, arial, sans-serif;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
background : url(/images/ui-bg_glass_75_e6e6e6_1x400.png) repeat-x scroll 50% 50% #E6E6E6;
border-color : #636363 #888888 #888888 #636363;
border-right : 1px solid #888888;
border-style : solid;
border-width : 1px;
cursor : pointer;
display : block;
float : left;
font-size : 12px;
font-weight : normal;
line-height : 100%;
min-width : 100px;
padding : 3px 12px;
text-align : center;
}
.button, .button a {
color : #282828;
text-decoration : none;
}
.button:hover, .button:hover a {
border-color : #343434;
color : #080808;
}
.marginR { margin-right : 5px; }
<button class='button marginR' type='submit'>button.button</button>
<input type="submit" value="input.button" class="button marginR" />
<a class="button" href="">a.button</a>
更新的CSS: 这似乎可以解决大部分在Firefox、Chrome、IE7和Safari中出现的问题:
.button {
font-family : helvetica, arial, sans-serif;
color : #282828;
background : url(/images/layouts/silver/buttons.png) repeat-x scroll 50% 50% #E6E6E6;
border-color : #636363 #888888 #888888 #636363;
border-right : 1px solid #888888;
border-style : solid;
border-width : 1px;
cursor : pointer;
display : block;
float : left;
font-size : 12px;
font-weight : normal;
min-width : 150px;
padding : 3px 0px;
text-align : center;
margin-top : 0px;
line-height : 15px;
text-decoration : none;
border-radius : 3px;
-webkit-border-radius: 3px;
-moz-border-radius : 3px;
}
/* Invalid CSS
God love IE's inability to fix their bugs properly leaving us workarounds to their inept development.
See http://www.webdevout.net/css-hacks
*/
html* a.button { line-height : 18px; }
.button:hover {
background-image : url(/images/layouts/silver/button-hover.png);
border-color : #343434;
color : #080808;
}
.marginR { margin-right : 5px; }