2011-08-20 285 views
1

我有一个带风格的搜索框和按钮的搜索表单。我有按钮样式与CSS .active & .hover类。一切都很好,它看上去很不错但是,我遇到正常之间的短暂延迟,悬停&和搜索按钮的激活状态(该按钮将状态之间闪烁状态,然后将加载之后无缝。CSS .active&.hover延迟?

我在想,如果有一种方式来加载页面加载CSS的使用有点JavaScript或是否有获得按钮状态之间的无缝协同工作的另一种方法有什么建议

CSS:?

fieldset.search { 
    border: none; 
    width: 480px; 
    background-image: url(images/searchbackground.png); 
    background-repeat: no-repeat; 
    padding-top: 36px; 
    padding-right: 20px; 
} 
.search input, .search button { 
    border: none; 
    float: left; 
} 
.search input.box { 
    color: #690; 
    font-size: 1.2em; 
    width: 427px; 
    height: 25px; 
    margin-right: 7px; 
    padding-left: 5px; 
    padding-bottom: 3px; 
    padding-right: 4px; 
    margin-left: 7px; 
} 
.search button.btn { 
    width: 30px; 
    height: 30px; 
    cursor: pointer; 
    text-indent: -9999px; 
    background: url(images/search.png) no-repeat top right; 
} 
.search button.btn:hover { 
    background: url(images/search_hover.png) no-repeat top right; 
} 
.search button.btn:active { 
    background: url(images/search_active.png) no-repeat top right; 
} 

HTML:

<form name="form" action="search.php" method="get"> 
    <fieldset class="search"> 
    <input type="text" class="box" name="q" /> 
    <button class="btn" name="Submit">Search</button> 
    </fieldset> 
</form> 
+0

雪碧是由这是做这件事的最好方法。 – thirtydot

回答

3

我相信你正在经历一个闪烁的效果,因为图像是默认不加载。

为了防止这种情况,你可能想看看进入下一个页面: http://www.maratz.com/blog/archives/2005/06/22/preload-hover-images-in-css/

更妙的是,如果你使用的所有功能于一身的图像称为精灵: http://css-tricks.com/158-css-sprites/

+0

谢谢,我会试一试,我头之前,“精灵”之前,只是从来没有得到研究它究竟是什么。感谢您的有用链接! – rumspringa00

+0

一个精灵基本上是将很多图像合并为一个,然后使用该图像的不同部分用于像菜单的不同状态,巧妙地使用背景位置将焦点改变为图像的不同部分。 gl :) – sg3s

+0

+1为精灵。一旦您熟悉了这个概念,请查看http://yostudios.github.com/Spritemapper/以帮助实现流程的自动化。 – peterjmag