css按钮活动状态导致文本移动?

时间:2012-06-07 11:36:13

标签: html css html5 firefox cross-browser

我正在研究一些我正在研究的新网站的粗略示例。

由于某种原因,firefox(最新版本)中的后两个按钮会稍微移动文本,就像在进入活动状态时实现点击动画一样。为什么第一个按钮也不会遇到这个问题?

下面的代码

<fieldset style="width:320px; float:left;">
        <legend>Pink Button</legend>
            <button class="pinkbutton"><span>MESSAGE HERE</span></button>
            <button class="pinkbuttondisabled" disabled="disabled"><span>DISABLED</span></button>

    </fieldset>

    <fieldset style="width:320px; float:left;">
        <legend>Grey Button</legend>
            <button class="greybutton"><span>MESSAGE HERE</span></button>
            <button class="greybuttondisabled" disabled="disabled"><span>DISABLED</span></button>

    </fieldset>

    <fieldset style="width:320px; float:left;">
        <legend>White Button</legend>
            <button class="whitebutton"><span>MESSAGE HERE</span></button>
            <button class="whitebuttondisabled" disabled="disabled"><span>DISABLED</span></button>

    </fieldset>

以下

.pinkbutton { border:1px solid #D2247b; width:150px; height:30px; background-color:#EF0093; color:#FFF;}
.pinkbutton:hover {border:1px solid #FF4296; background-color:#FF5EAC;}
.pinkbutton:active {border:1px solid #A61D61; background-color:#DC2F85; color:#333232;}
.pinkbuttondisabled {border:1px solid #F3C4DB; width:150px; height:30px; background-color:#FDC6E2; color:#FFF;}


.greybutton { border:1px solid #BBBBBB; width:150px; height:30px; background-color:#E2E2E2; color:#8d8c8c;}
.greybutton:hover {border:1px solid #EF0093; background-color:#E2E2E2; color:#f62c92;}
.greybutton:active {border:1px solid #696969; background-color:#BFBFBF; color:#424242;}
.greybuttondisabled {border:1px solid #D5D4D4; width:150px; height:30px; background-color:#F4F4F4; color:#d5d4d4;}

.whitebutton { border:1px solid #EF0093; width:150px; height:30px; background-color:#FFF; color:#EF0093;}
.whitebutton:hover {border:1px solid #898989; background-color:#FFF; color:#898989;}
.whitebutton:active {border:1px solid #898989; background-color:#E2E2E2; color:#979696;}
.whitebuttondisabled {border:1px solid #FAB2DE; width:150px; height:30px; background-color:#FFF; color:#FAB2DE;}

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:23)

出现在:活动状态下有一些填充。我添加了'padding:0;'到最初的css声明(所以无论状态如何都继承)并修复了问题。

请参阅此jsfiddle

我不知道为什么它只发生在最后两个按钮上。

答案 1 :(得分:0)

James Healey解决方案效果很好。 http://jsfiddle.net/pxx4V/ 我只想澄清三个按钮有同样的问题,它只是一个“视觉效果”,使他们看起来没有。这是一个问题的小提琴,我只是将.pinkbutton:active的文本颜色更改为#FFF http://jsfiddle.net/6L6yu/