苹果风格在菜单栏中扩展搜索字段
我正在编写一个网站,并尝试复制 apple.com 上的效果,当您单击时将搜索字段聚焦在菜单栏中,搜索字段会扩展,菜单栏的其余部分会缩小以容纳它。
我一直在尝试使用 jquery kwicks 的各种技巧,并且还简单地使用 jquery 中的 animate 函数扩展文本字段,但效果并不相同。如果有人能让我走上正轨,我将非常感激!
最好的 丹尼尔
I'm coding a website and I'm trying to replicate the effect on the apple.com where when you click to focus the search field in the menu bar, and the search field expands and the rest of the menu bar shrinks to accommodate it.
I've been trying various tricks with jquery kwicks, and also simply expanding a text field using the animate function in jquery but the effect is not the same. If someone could get me on the right track I'd very much appreciate it!
Best
Daniel
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这可以只通过 css 来完成,不需要 javascript 或其他任何东西......
瞧,就是这样;)
this can be done by css only no need for javascript or anything...
voila, thats it ;)
快速浏览一下苹果是如何做到的,看起来他们的大动作是这样的(我可能是错的 - 我很着急):
#globalheader #globalnav li {
显示:表格单元格;
宽度:100%;
溢出:隐藏;
这
是一个非常不寻常的 CSS 显示值,而且很聪明,迫使
像
' 那样工作。 s。这意味着更改其中一个“单元格”的宽度会导致同一“行”中的其他单元格调整它们占用的空间量。
基于(假)表格的布局万岁!
因此,假设 CSS 对您来说是可能的,并且我快速浏览了一下他们的代码并没有偏离基础,您唯一的任务就是为宽度设置动画搜索框的 - 其余部分也应效仿。
Taking a quick look at how Apple did it, it looks like their big move is this (I could be wrong - I'm rushing):
#globalheader #globalnav li {
display: table-cell;
width: 100%;
overflow: hidden;
}
This is a pretty unusual CSS display value, and clever on their part, forcing the
<li>
's to work like<td>
's. This means that changing the width of one of the "cells" causes the others in the same "row" to adjust how much room they take out.Long live (fake) table-based layout!
So, assuming that CSS is possible for you, and I'm not off base with my quick glance at their code, your only task is to animate the width of the search box - the rest should follow suit.
不要过度简化事情,但是如果在你的 css 中你 float:right; 该怎么办?这个输入框,然后焦点将框动画到适当的宽度,如下所示:
CSS:
jQuery:
Not to over simplify things but what if in your css you float:right; this input box and then on focus you animate the box to the appropriate width like so:
CSS:
jQuery:
这是一个小提琴。
http://jsfiddle.net/MenuSo/r4xq9gz2/
HTML:
和 CSS:
CSS 就足够了。
This is a fiddle for this.
http://jsfiddle.net/MenuSo/r4xq9gz2/
HTML:
and CSS:
CSS would be enough.