【问题标题】:Firefox button gets biggerFirefox 按钮变大
【发布时间】:2014-12-21 10:31:12
【问题描述】:

我有一个button 和一个anchor tag 使用同一类的展位,但由于某种原因按钮变大了。我在这里发现一个问题已经解决了,但它仍然比另一个大一点。

HTML:

<div class="item-actions">
    <ul>
        <li><a href="#" class="button"><i class="fa fa-trash"></i> Gravar</a></li>
        <li><button type="submit" class="button"><i class="fa fa-trash"></i> Lixo</button></li>
    </ul>
</div>

CSS:

.item-actions{
    float: right;
}

.item-actions ul li{
    display: inline-block;
}
.button {
    background: #3a9665;
    background-image: -webkit-linear-gradient(top, #3a9665, #2d7a51);
    background-image: -moz-linear-gradient(top, #3a9665, #2d7a51);
    background-image: -ms-linear-gradient(top, #3a9665, #2d7a51);
    background-image: -o-linear-gradient(top, #3a9665, #2d7a51);
    background-image: linear-gradient(to bottom, #3a9665, #2d7a51);
    -webkit-border-radius: 2;
    -moz-border-radius: 2;
    border-radius: 2px;
    font-family: Arial;
    color: #ffffff;
    font-size: 12px;
    padding: 4px 12px 4px 12px;
    border: solid #2d7a51 1px;
    text-decoration: none;
}

.button:hover {
    background: #2d7a51;
    text-decoration: none;
}

Here I found a Solution 所以我添加了这段 CSS:

button::-moz-focus-inner {
    padding: 0;
    border: 0
} 

但是结果仍然不是我想要的,你会发现下面的截图有些不同:

编辑: 我已经删除了i tags,但问题仍然存在,所以这不是问题。

【问题讨论】:

    标签: html css firefox button padding


    【解决方案1】:

    我可以在 Mac OS X 10.9.5 和 FireFox 版本 32.0.2 上重现该问题。当我在 FireFox 中测试时,将 line-height: 1em; 添加到 .button 似乎有效:

    .button {
        background: #3a9665;
        background-image: -webkit-linear-gradient(top, #3a9665, #2d7a51);
        background-image: -moz-linear-gradient(top, #3a9665, #2d7a51);
        background-image: -ms-linear-gradient(top, #3a9665, #2d7a51);
        background-image: -o-linear-gradient(top, #3a9665, #2d7a51);
        background-image: linear-gradient(to bottom, #3a9665, #2d7a51);
        -webkit-border-radius: 2;
        -moz-border-radius: 2;
        border-radius: 2px;
        font-family: Arial;
        color: #ffffff;
        font-size: 12px;
        line-height: 1em;
        padding: 4px 12px 4px 12px;
        border: solid #2d7a51 1px;
        text-decoration: none;
    }
    

    我认为问题的原因来自 &lt;button type="submit" class="button"&gt; 标签具有明确的样式,而您的 &lt;a href="#" class="button"&gt; 没有:

    <div class="item-actions">
        <ul>
            <li><a href="#" class="button"><i class="fa fa-trash"></i> Gravar</a></li>
            <li><button type="submit" class="button"><i class="fa fa-trash"></i> Lixo</button></li>
        </ul>
    </div>
    

    也可能是由于在.buttonfont-size: 12px; 中使用了显式像素大小。我建议使用另一种大小调整方案,例如 em 甚至百分比。

    【讨论】:

    • 我在 font-size 上使用了 em,比如 font-size:0.8em 问题仍然存在,我应该尝试将每个像素值转换为 em 吗?
    • @rafaelmsantos 我不知道对你重构 CSS 的最佳建议是什么,我只是说我所看到的以及我认为你的问题的根本原因是什么。 line-height: 1em; 似乎工作正常。所以这是我能补充的最好的。
    【解决方案2】:

    尝试将图标的行高设置为 1:

    .fa {
        line-height: 1;
    }
    

    【讨论】:

    • 还是一样。但不错的尝试
    猜你喜欢
    • 1970-01-01
    • 2016-01-06
    • 2012-10-22
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多