2010-04-13 10 views
4

Est-il acceptable d'utiliser des marges négatives pour le positionnement? J'ai beaucoup dans mon site actuel et je sens que ce n'est pas une manière si stable de positionner les choses. Je suggère généralement de les utiliser aussi.CSS Marges négatives pour le positionnement

Par exemple, j'ai une page de commande avec trois divs au-dessus de l'autre

<div class="A"> 
    header 
</div> 
<div class="B"> 
    content 
</div> 
<div class="C"> 
    footer 
</div> 

(A, B et C), qui sont destinés à rester au-dessus de l'autre, apparoistre ci-joint. Je l'ai fait en utilisant:

.B 
{ 
    margin-top: -20px; 
} 

Sur div B, pour répondre au fond de div A.

Est-ce une bonne pratique ou je ne recoder en utilisant top et left?

Répondre

5

Si vos divs ont une certaine marge entre eux, vous n'avez probablement pas réinitialisé vos marges et votre remplissage (voir: http://meyerweb.com/eric/tools/css/reset/).

En règle générale, ce n'est pas une mauvaise chose d'utiliser des marges négatives, de toute façon si vous êtes obligé de les placer presque partout probablement vous devriez refactoriser vos CSS, car le résultat peut être légèrement différent entre les différents navigateurs gros mal de tête :).

+0

Oui, j'ai une réinitialisation CSS, mais il y avait un grand écart et c'était la seule façon dont je pouvais penser pour résoudre le problème. Je l'ai utilisé depuis et je trouve ça fonctionne, je sentais juste que ce n'était pas très stable. Merci pour votre réponse :) – Kyle

0

Des marges négatives ont été connues pour causer des problèmes dans IE7 et ci-dessous avec le contenu étant coupé. Et, comme le suggère l'alias, cela pourrait aussi indiquer un problème avec le reste du design. Mais je pense qu'il est faux de dire que les marges négatives constituent un «mauvais développement» dans tous les cas. Mais comme toujours, test de test.