打印

[求助] a 沒事,a:hover 的時候為什麽會跳一下?——我主要是想問“為什麽”?



 提示:您可以先修改部分代码再运行
如上代碼,解決的辦法
1.可以將 .ti{margin-bottom:10px;} 改為 .ti{padding-bottom:10px;}
2.可以將 ul{margin:0px;}去掉。

或許還有其它方法,但是我想知道 :
為什麽只有鼠標經過a:hover時出問題?而且,只有IE6會這樣。


.

[ 本帖最后由 gogeren 于 2008-5-10 18:41 编辑 ]
——嗰個人

TOP

.ti{
  display:block;
  height:25px;
  margin-bottom:10px;
}
还有一种方法,就是把display:block去掉

TOP



 提示:您可以先修改部分代码再运行

TOP

嗯。我知道。但那樣的話,高就不起作用了。有了block就可以做很多事,例如加背景。

而且,主要是 為何會出現此情況?

[ 本帖最后由 gogeren 于 2008-5-10 17:44 编辑 ]
——嗰個人

TOP



 提示:您可以先修改部分代码再运行
具体为什么我也不知道..上面也是一种解决办法..
坐等高人解释

[ 本帖最后由 lhnlj2 于 2008-5-10 18:18 编辑 ]

TOP

e !!
如你所说!!margin:0 出了问题
.ti 的margin-bottom:10px;意思是 ti下面只允许10px以下才能有元素
ul 的margin:0 的意思是与top left 方向的元素没有距离!!
这个其中的矛盾出来了!你叫人家浏览起听谁的??这个矛盾由a:hover 把ul元素的属性重新触发!!去掉a:hover 也没问题
padding-bottom:10px 吧ti 撑高了 10px!!当然看上去就ul和ti也就没变距离了

[ 本帖最后由 Elking 于 2008-5-10 18:27 编辑 ]

TOP

嗯。樓上講法,我也想過。可是,這還得怪我。我沒有很強調問題的重點——為什麽只有鼠標經過a:hover時出問題?而且,只有IE6會這樣。

a{...} 和 a:hover{...}都沒有改變到 ul 或者 .ti 裏面的任何屬性。
為什麽,a 的時候沒事。可是a:hover當鼠標經過就出問題了?

難道,a:hover的時候,改變了瀏覽對 ul 或者 .ti 屬性的解析?
如果說margin-bottom:10px ,margin:0 這兩個有衝突。那麽,為何IE7,FF沒事?
——嗰個人

TOP

把strong换成div h1 h2...p的块级元素,那样display:block也不用了
也不会出现你说的情况,具体为什么我也很难答上来

TOP

是這樣的,“Product item”這幾個字,本身前台的效果就是要加粗的。所以,我直接用<strong>把它括起來。希望可以語義化一點。有少也用H1...6,不過也是因為這次用了<strong>才看到IE6下有問題。
——嗰個人

TOP