鼠标悬停在列表项上抖动

时间:2012-12-20 23:13:30

标签: css positioning margin padding

当我将鼠标移到 here 上的列表项时,如何防止晃动?到目前为止,我尝试过不同的边距和填充。我还检查了哪个css元素溢出但我找不到任何结果。

我的css在这里:

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
    background:#000000;
    color:#fff;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}


.temizle{clear:both;}

#containerANA{
    width:1100px;
    height:auto;
    margin: 0 auto;
    font:10px arial, helvetica, Geneva, sans-serif;

}


#content{
    width:100%;
    margin-top:0px;
}


#content p{
  position: relative;
  margin-left:auto;
  margin-right:auto;
  top:0px;
  display: block;
  padding: 5px;    
  color: #769B4E;
  font-size:18px;
  font-family: arial, helvetica, Geneva, sans-serif;
  text-align:justify;   
  border: 0px solid #769B4E;
  margin-top: 10px;
  margin-bottom: 10px;
}

#content p a{
    color:#ccc;
    text-decoration:none;
}

#content p a:hover{
    background:#e5da5f;
    color:#000;
}



.ikinciSol{
    width:550px;
    height:auto;
    float:left;
    margin-right:0px;
    font-family:Verdana, Geneva, sans-serif;
    text-align:left;
}

.ikinciSol h1{
    font-weight:bold;
    text-decoration:none;
    font-size:14px;
    font-family:Verdana, Geneva, sans-serif;
    color:#fb891a;
}

.ikinciSol ul
{
    list-style-type: none;

}

.ikinciSol #playlist li {
    margin-left:50px;
}

.ikinciSol ul li .singer{
    font-size:18px;
    display:inline;
}

.ikinciSol ul li .song{
    font-size:14px;
    display:inline;
}

.ikinciSol ul li a{
    text-decoration:none;
    color:#fff;
    margin-right:5px;

}

.ikinciSol ul li .singer a:hover{
    background:#e5da5f;
    color:#000;
}

.ikinciSol ul li  .song a:hover{
    background:#FF9966;
    color:#000;
}

.artist_track{
    margin-right:12px;

}
.fav{

}    



.ilgiliOge{
    width:402px;
    height:306px;
    font-size:24px;
    padding:0px;
}

4 个答案:

答案 0 :(得分:2)

问题是,当您将鼠标悬停时,<li>的高度会因共享按钮而发生变化。为防止这种情况发生,您应该为列表项提供min-height。最重要的是,如果你想让文字保持与你的按钮相关的中心,你也应该给它一个line-height以及更多的调整。

CSS代码:

.ikinciSol #playlist li {
    min-height:40px;
    line-height:40px;
}
.ikinciSol #playlist li .fav a {
    position:relative;
    top:5px;
}

JSFiddle链接:http://jsfiddle.net/vZnFF/

PS:你不应该在列表项之间添加中断。 PS2:你可以这样做:只用CSS悬停效果。

答案 1 :(得分:1)

您需要让社交媒体图标等于或小于<li>的尺寸。

http://jsfiddle.net/32pFM/3/

.fav img{
    height: 16px;
}

注意:这只是一个选项,您也可以设置列表元素的高度。你跳跃的原因是隐藏/显示大于包含元素高度的对象。

答案 2 :(得分:1)

通过玩边距你是在正确的道路上,但它们没有任何效果,因为你将.singer类设置为“内联”。将其更改为“inline-block”然后使用margin-top进行播放,您就可以实现您想要做的事情。

答案 3 :(得分:1)

问题是Facebook和Twitter图标的高度。您可能想要制作较小的图像或为图像设置高度:

.fav img{
    height: 1em;
}    

http://jsfiddle.net/nivas/tuUhX/1/