2012-03-17 113 views
1

當我在父元素中應用-3px的負邊距頂部時,所有子元素都向右移動(在Firefox和IE8中),但在Chrome中看起來非常好(元素被居中)。Firefox中的負頂部邊距將元素向右移動

什麼可能導致這種情況?

<div class="menu-tab"> 
     <div class="folder-tab"> 
     <span class="normal-small-text">Ingresar<i class="icon-chevron-down icon-white"></i></span> 
     </div> 
</div> 

的上邊距是在類.menu-tab

這是在Chrome

enter image description here

和Firefox

enter image description here

+0

我們可能需要對問題的代碼/工作的例子,能夠幫助你。 – Jeroen 2012-03-17 19:09:50

+0

看看這個http://coding.smashingmagazine.com/2009/07/27/the-definitive-guide-to-using-negative-margins/ – 2012-03-17 19:12:05

+0

你必須發佈你的「菜單標籤」,「文件夾選項卡」和其他CSS代碼中提到的代碼 – 2012-03-17 19:13:19

回答

5

由於這似乎已經解決了你的問題,我會寫它作爲答案。

替換:

margin-top: -3px; 

有:

position: relative; 
top: -3px; 
0

好嘗試定義邊緣塗敷一世n作爲0.menu-tab {margin:0;}的父元素,然後根據您的需要定義子元素的邊距。

+0

即使孩子的邊距爲負數,問題也會發生,但我將其與位置相對和頂部-3px的父母固定。 – Danny 2012-03-17 20:39:43

0

嗯,我看不出有任何理由爲什麼該元素上使用margin-top,您可以輕鬆地只是給它的容器的高度爲line-height,它會自動中心,text-align:center一起到中心內的文本該容器應該自動將文本垂直和水平居中置於其容器內。