Firefox,在输入表单HTML / CSS上显示问题

时间:2013-05-03 04:13:13

标签: html css forms firefox

我不知道为什么但是当我在输入时输入文本被隐藏(但是当我点击输入文本显示时),在谷歌浏览器上它运行良好,我尝试改变z-index但它没有改变任何东西。

这是我的HTML

<div id="searchBar" class="{% if query %}cancelable{% endif %}">
    <input class="searchInput" type="text" autocomplete="off"
        value="{{ query|default_if_none('')|escape }}"
        name="query" id="keywords"/>
    <input type="submit" value="" name="search" class="searchBtn" style="display: none;"/>
</div>

这是我的CSS

#searchBar input.searchInput {
    z-index: 99;
    font-size: 22px;
    height: 26px;
    line-height: 26px;
    font-weight: 300;
    background: #FFF;
    border: 0px;
    color: #484848;
    font-family: Arial;
    width: 100%;
    margin: 8px 0 6px 0;
    padding: 0 80px 0 8px;
    top: 0;
    left: 0;
    -webkit-box-shadow: 0 0 0 #929292;
    -moz-box-shadow: 0 0 0 #929292;
    box-shadow: 0 0 0 #929292;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

#searchBar input.searchInput:focus {
    margin: 0px 0 0px 0;
    padding: 20px 40px 18px 8px;
    border: solid 1px rgba(82, 168, 236, 0.8);
    -webkit-box-shadow: 0 0 0 rgba(82, 168, 236, 0.8);
    -moz-box-shadow: 0 0 0 rgba(82, 168, 236, 0.8);
    box-shadow: 0 0 0 rgba(82, 168, 236, 0.8);
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-transition:border linear .2s, box-shadow linear .2s;
    -moz-transition:border linear .2s, box-shadow linear .2s;
    -o-transition:border linear .2s, box-shadow linear .2s;
    transition:border linear .2s, box-shadow
}

PS:#searchBar的z-index为1000我尝试将其切换为10,它仍然在firefox上具有相同的行为。

1 个答案:

答案 0 :(得分:1)

你有大量的padding导致了这个问题,而且你正在使用height 26px,因此隐藏了文字

padding: 20px 40px 18px 8px;

Demo

您可以稍后删除红色边框(我保留用于测试目的)

Demo

关于重构代码的一些提示

  • 此保证金:0px 0 0px 0;可以简单地写为margin: 0;
  • 代码中不需要任何阴影,因为它们设置为0
  • z-index不是必需的
  • line-height不是必需的(如果您没有使用任何固定高度)
  • topleft不需要