使用 HTML 和 CSS 模仿 apple.com 的 globalsearch 输入字段

Posted

技术标签:

【中文标题】使用 HTML 和 CSS 模仿 apple.com 的 globalsearch 输入字段【英文标题】:Mimic apple.com globalsearch input field with HTML and CSS 【发布时间】:2011-03-30 12:02:06 【问题描述】:

好的,如果您查看http://www.marioplanet.com,您会发现我正在尝试为我的菜单栏(包括我的全局搜索栏)模仿 apple.com 的设计。

现在,我正在尝试模仿 Apple 的全局搜索栏输入字段,尽可能接近,所以我需要一些帮助。

我希望该字段居中,我尝试使用 maring: auto auto; 但这不起作用..

我也想使用 Apple 网站上的圆角技术,但我不知道该怎么做。那是 CSS3 吗?

我还需要一个灰色的占位符字符串Search,但我认为我可以使用 JS。如果可以使用 html 或 CSS,请告诉我。

与输入字段左侧对齐的小聚光灯/放大镜图像很好,但不是必需的:)

好的,您可以查看该站点,但这里也是代码:

index.htm:

<div id="globalheader" class="apple">
    <!--googleoff: all-->
    <ul id="globalnav">
        <li id="gn-home"><a href="index.htm">Home</a></li>
        <li id="gn-catalog"><a href="catalog.asp">Shop!</a></li>
        <li id="gn-about"><a href="about.htm">About</a></li>
        <li id="gn-contact"><a href="contact.htm">Contact</a></li>
        <li id="gn-media"><a href="media.htm">Media</a></li>

    </ul>
    <div id="globalsearch">
    <form id="searchform">
        <div>
        <input type="text" size="30" value="" id="inputString" onkeyup="lookup(this.value);" />
        </div>

        <div id="suggestions"></div>

    </form>
    </div>
    <!--googleon: all-->
</div>

default.css:

body 
    background-color: #666666;
    font-family:Verdana, Arial, Helvetica, sans-serif;

#header 
    background-color: #DDDDDD;
    width: 1130px;
    margin: 0px auto;

#content 
    width: 1130px;
    margin: 0px auto;

#leftcol 
    background-color:#EBEBEB;
    width: 200px;
    height: 550px;
    font-size:14px;
    clear: both;
    float: left;

#detail 
    background-color:#FFFFFF;
    width: 730px;
    height: 550px;  
    font-size:12px;
    float: left;

#rightcol 
    background-color:#EBEBEB;
    width: 200px;
    height: 550px;
    font-size:14px;
    float: left;

#footer 
    background-color:#DDDDDD;
    width: 1130px;
    height:90px;
    font-size:12px;
    text-align:center;
    clear: both;
    margin: 0px auto;

h1 
    color: #FF0000;

h2 
    color:#FF0000;

a:link  
    color:#FF0000;

a:visited  
    color:#FF0000;

a:hover  
    color:#00FF00;

a:active  
    color:#FF0000;

img 
border:none;

#eznetseal 
text-align:center;

a.trayIcon 
position: relative;
top: 20px;

a.trayIcon:hover 
top: 7px;

#twittericon 
    left: 0px;  

#facebookicon 
    left: 22.5px;;

#youtubeicon 
    left: 45px;;

#tray 
position:relative;

#container 
    position:relative;
    margin-top: -40px;

#nav li 

 display: inline;

#features

    vertical-align: top;

globalsearch.css:

/* BASIC RESET */

body, div, img, p  padding:0; margin:0; 

a img  border:0 


/* HTML ELEMENTS */
body  font-family:"Lucida Grande","Lucida Sans Unicode",Arial,Verdana,sans-serif; 

/* COMMON CLASSES */
.break  clear:both; 


/* SEARCH FORM */
#searchform  margin:auto auto; font-size:18px; 
#searchform div  color:#eeeeee; 
#searchform div input  font-size:18px; width:120px; 
#suggestions position: relative; left:235px; width:320px; display:none; 

/* SEARCHRESULTS */

#searchresults  border-width:1px; border-color:#919191; border-style:solid; width:320px; background-color:#a0a0a0; font-size:10px; line-height:14px; 

#searchresults a  display:block; background-color:#e4e4e4; clear:left; height:56px; text-decoration:none; 

#searchresults a:hover  background-color:#b7b7b7; color:#ffffff; 

#searchresults a img  float:left; padding:5px 10px; 

#searchresults a span.searchheading  display:block; font-weight:bold; padding-top:5px; color:#191919; 
#searchresults a:hover span.searchheading  color:#ffffff; 

#searchresults a span  color:#555555; 
#searchresults a:hover span  color:#f1f1f1; 

#searchresults span.category  font-size:11px; margin:5px; display:block; color:#ffffff; 

#searchresults span.seperator  float:right; padding-right:15px; margin-right:5px;
            background-image:url(../images/shortcuts_arrow.gif); background-repeat:no-repeat; background-position:right; 

#searchresults span.seperator a  background-color:transparent; display:block; margin:5px; height:auto; color:#ffffff; 

谢谢!

【问题讨论】:

我只是喜欢他们的设计,尽管我的导航栏几乎是直接克隆的.. xD 【参考方案1】:

在包含文本框的 div 上尝试text-align: center; border-width: 0px; margin-top: 6px; 来做水印尝试jquery watermark plugin

对于圆角,苹果将图像插入到任意一端的 span 中。我已经看到放大镜是通过这种方式完成的,或者通过将图像设置为background-image 并添加填充以避免覆盖它。

如果我是你,请为 firefox 下载 firebug,这样你就可以自己探索标记和 css,这很容易。

希望这会有所帮助。

【讨论】:

【参考方案2】:

我使用 Firebug 和 Web Developer 扩展来查找以下内容...

Apple 肯定使用 javascript(当然还有 css)来使搜索框看起来很漂亮。

如果您使用 noscript 关闭 javascript,您将看到一个普通的方形文本框。

您可以检查以下 javascript 和 css 文件以了解发生了什么。

http://images.apple.com/global/scripts/search_decorator.js

http://images.apple.com/global/nav/styles/nav.css

在 css 文件中查看以下规则集

#globalsearch .search-wrapper .left

#globalsearch .search-wrapper .right

以下是用于创建搜索框的图片

http://images.apple.com/global/nav/images/searchfield_leftcap.png

http://images.apple.com/global/nav/images/searchfield_rightcap.png

我发现了以下有趣的事情。

他们有专门的脚本文件,只是为了让搜索框看起来更漂亮 他们不使用图像精灵。 我尝试smush 上面的一张图片,并能够将其缩小 15%(这​​可能看起来微不足道,但当您查看数百万访问的网站时,这可能会变成一个大数字)

【讨论】:

嘿谢谢!!我喜欢他们如何命名他们的一门课程prettysearch哈哈。嗯,现在,对于那些 .search-wrapers,我似乎无法找出它们是如何插入到实际页面中的.. 没关系,它实际上是两个 s.. 我不会使用他们的图片,创建你自己的,因为你没有他们的权利。 @madcapnmckay 我刚刚提供了图片链接,所以@BOSS 可以了解幕后发生的事情。当然,我们应该使用自己的图像。 好的,抱歉,好主意!你知道如何让光标输入时的蓝色高亮消失吗? @BOSS ,不知道你在问什么。你能提供截图吗?我找不到你提到的蓝色突出显示

以上是关于使用 HTML 和 CSS 模仿 apple.com 的 globalsearch 输入字段的主要内容,如果未能解决你的问题,请参考以下文章

HTML CSS 模仿京东页面做出的页面。但是打开页面最下面有个左右滑动栏。导致页面不居中。该怎么解决?

拼夕夕(模仿淘宝登录界面)

js+css模仿打字效果

模仿QQ气泡聊天

模仿 IE 中的 CSS3 过渡?

只用table模仿一个静态页面