2010-10-27 8 views
1

Mon css ressemble à ceciproblème de marge css

* { 
    margin: 0; 
    padding: 0; 
} 
body { 
    background-color: #FFFFFF; 
} 
div#header { 
    background-color: #969696; 
    height: 80px; 
} 
div#mid-bar { 
    background: url(images/home.jpg) left no-repeat #6f6565; 
    height: 200px; 
} 

#searchbox { 
    background-color: #c1c1c1; 
    width: 200px; 
    height: 180px; 
    margin: 10px 20px 10px 350px; 
} 

et mon html

<div id="header"> 

    </div> 
    <div id="mid-bar"> 
     <div id="searchbox"> 

     </div> 
    </div> 

preview

vous pouvez voir le problème. l'espace entre l'en-tête et la barre médiane qui est créé en raison de la marge donnée dans la div searchbox. je veux cette marge pour searchbox dans le div diviseur ... et pas de div en-tête.

+0

Quel navigateur testes-tu? C'est un problème étrange. – Kyle

+0

Oui. Si nous ajoutons même espace [ ] dans # mid-bar avant #searchbox dans les rendus correctement dans firefox atleast. –

+0

@Kyle Sevenoaks ... firefox et IE les deux montrant le même – booota

Répondre

4

I est un connu bug: utiliserait le remplissage au lieu de la marge. si:

div#mid-bar { 
    background: url(images/home.jpg) left no-repeat #6f6565; 
    height: 200px; 
padding-top: 10px; 
} 


#searchbox { 
    background-color: #c1c1c1; 
    width: 200px; 
    height: 180px; 
    margin: 0px 20px 10px 350px; 
} 
+1

qui a comblé l'écart ... jusqu'à maintenant si bon ... mais sth d'autre a mal tourné. arrière-plan: url (images/home.jpg) left no-repeat # 6f6565 l'image home.jpg fait 200px de hauteur. en raison de la couleur d'arrière-plan lorsque le rembourrage appliqué au milieu de la barre, j'ai la couleur 6f6565 et mon image est coupée en 200px de hauteur. reste 10px hauteur de remplissage est rempli avec la couleur de fond :( – booota

+1

donner la hauteur de la boîte de recherche: 190px; – pixeline

1

à # padding Donner mi-bar au lieu de marge searchbox

1

J'ai vu cela se produire lorsque vous ne donnez pas les marges aux parents et le premier élément, même un enfant que vous donnez à la marge, provoque des lacunes chez les parents en créant des marges. Une façon dont j'ai surmonté ceci est en utilisant des paddings sur les conteneurs parents au lieu des marges.

Consultez votre exemple ici avec rembourrages: http://jsbin.com/ememi3

1

Si vous avez l'intention d'utiliser les marges, essayez de margin:0; à # mi-bar. Sinon, donnez # padding-top:10px; à la barre médiane et supprimez la marge supérieure de #searchbox.

0

Tout le monde semble d'accord sur celui-ci, le rembourrage fonctionnera beaucoup mieux que les marges. Je l'ai regardé un peu et il semble que Pixeline a raison, c'est un bug connu dans Firefox, j'espère qu'ils vont le corriger en 4.

+1

padding tweak fonctionne très bien.Même s'il y avait un problème avec l'image spécifiée dans mid-bar.à savoir arrière-plan: url (images/home .jpg) left no-repeat # 6f6565; Cette image était haute de 200 pixels, je l'ai changée en 220 px de hauteur, de sorte que l'espace créé par le rembourrage puisse être rempli .Ceci a été mon approche pour régler le problème – booota

+0

Cela devrait fonctionner, content que tes problèmes soient corrigés. – Blake