我有一個無序列表,每個li包含一個img和一個div。我的目標是盤旋在div上會讓img做點事情。現在它只是添加/刪除類,但這是一個佔位符。添加/刪除的作品,但它不是問題(但如果你有關於這方面的提示,總是樂於從更有經驗的人那裏獲得輸入)。在懸停,div接管整個李
問題是盤旋時盤旋突然擴大以填充整個李,並且似乎暫時失去其上部填充。這意味着當這個div被一個奇特的按鈕取代時......按鈕可能會像當前的純文本一樣跳轉。
的HTML:
<ul id="headmenu">
<li id="kite1">
<img src="img/kitesani1a.png" id="kites1a" />
<div id="attend" class="headmenulink">attending</div>
</li>
</ul>
的CSS:
ul#headmenu { margin: 2em 0 0 0; padding: 0; }
ul#headmenu li { margin: 0 1% 0 0; padding: 0; width: 19%; float: left; display: inline; list-style: none;}
ul#headmenu img { padding-bottom: 5em; position: relative; top: 0; left: 0; z-index: 100; }
li .headmenulink { padding-top: 2em; position: relative; bottom: 0; left: 0; border:1px solid blue; }
ul#headmenu li img {
transition-duration: 0.8s;
transition-property: transform;
}
.kite1ahover {
float: right;
position: relative;
-webkit-transform:rotate(10deg);
-moz-transform:rotate(10deg);
}
(在現場版本中,CSS是更詳細。)最後,jQuery的位目前的草案:
$("#attend").hover(function(){
$("#kites1a").addClass('kite1ahover').delay(500).queue(function(next){
$(this).removeClass('kite1ahover');
next();
});
我做了一個jsfiddle,但它給了我奇怪的錯誤。不知道它是否可以編輯,但以防萬一,這是在http://jsfiddle.net/klh02/5UMK5/7/ - 然後我也做了一個精簡的真實世界的例子,在http://www.karinoyo.com/temp/index.php。如果你打開實時版本(不是小提琴),你會看到懸停時展開的臨時藍色邊框,同時文本跳起一兩行。 (注意:唯一'活'懸停在'參加'裏,左起第一個裏。)
是因爲CSS擴展div嗎?或者是因爲jQuery?或者這只是發生在這種情況下的事情,我需要做一些創造性的定位讓div保持放置而不是展開/跳躍?
在此先感謝!
在id選擇器之前使用'ul'是不必要的(我錯了),因爲id是唯一的。 – SeinopSys
這本身並不是錯誤的,它只是多餘的(主要是爲了在草稿中自己的薰陶,這正是我現在的想法)。在上線之前我會清理乾淨,但即使它仍在,我的理解是它不會是一個重要的問題。 – kl02