1

我正在尝试模仿苹果的导航栏样式,特别是 CSS3 扩展搜索字段。

它使用带有 display:table 的 UL,它是带有 display:table-cell 和 width:100% 的 LI。当聚焦时,搜索 LI 会扩展,而其他 LI 的合同会适应。

现在我的 li 不会调整大小。

有人知道我在那里缺少什么吗?

此外,IE 甚至不显示任何内容。

4

2 回答 2

3

嘿,现在你可以用这个了

HTML

<input type="text" placeholder="search bar">

css

input[type="text"] {
    background: #444;
    border: 0 none;
    font: bold 12px Arial,Helvetica,Sans-serif;
    color: #d7d7d7;
    width:50px;
    padding: 6px 15px 6px 35px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 3px rgba(0, 0, 0, 0.2) inset;
    -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 3px rgba(0, 0, 0, 0.2) inset;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 3px rgba(0, 0, 0, 0.2) inset;
    margin:3px 12px;
}

input[type="text"]:focus {
    background:#fcfcfc;
    color: #6a6f75;
    width: 120px;
    -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(0, 0, 0, 0.9) inset;
    -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(0, 0, 0, 0.9) inset;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(0, 0, 0, 0.9) inset;
    text-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
    margin:3px 12px;
    outline: none;
}

input[type="text"] {
    -webkit-transition: all 0.7s ease 0s;
    -moz-transition: all 0.7s ease 0s;
    -o-transition: all 0.7s ease 0s;
    transition: all 0.7s ease 0s;
}

现场演示http://jsfiddle.net/vzLFS/3/

于 2012-07-03T07:37:06.097 回答
1

在苹果页面上,当输入获得焦点时,他们似乎向nav-element ( ) 添加了一个类,该类处理包含..searchmode<li><input>

虽然不确定是否有一个纯 css 解决方案,但您可以使用jQuery做这样的事情,如下所示:

$('#searchform input').on('focus', function(){
   $(this).closest('li').css('width', '180px');
});

$('#searchform input').on('blur', function(){
   $(this).closest('li').css('width', '50px');
});

...并且仍然css-transitions用于 FX :)

于 2012-07-03T09:40:41.837 回答