2010-09-29 13 views
0

J'ai div divisée sous div mon code html est.IE6 marge en expansion de 20px

<div id="content-row"> 
     <div id="left-box"> 
       <div id="small-box"> 
       </div> 
       <div id="small-box"> 
       </div> 
       <div id="small-box"> 
       </div> 
       <div id="small-box"> 
       </div> 
     </div> 
    </div> 

et mon css

/*content-row*/ 
#content-row { 
    margin: 0 auto!important; 
    padding-left:50px; 
    width:990px; 
    height:320px; 
    padding-bottom:20px;  
} 
#left-box { 
    float:left; 
    width:360px; 
    height:340px; 
} 
#small-box { 
    width:160px; 
    height:150px; 
    background-color:#fff; 
    float:left; 
    margin:0px 20px 20px 0px; 
} 

la feuille de style ci-dessus est exclusivement pour IE6. mon problème est que la boîte de gauche prend 20px supplémentaires sur le côté droit. quand j'ai défini la boîte de gauche à 360px; il le prend comme 380px;

Voici le lien vers le code complet.

http://jsfiddle.net/HXGsT/

ce qui est mal avec le code?

+4

Changez vos 'id's en classes. 'id' doit être unique dans un document HTML. – Kyle

+0

@Kyle je suis incapable d'obtenir ce que vous voulez dire. peux-tu être précis. j'apprécierais si vous avez n'importe quelle suggestion pour moi. Je vous remercie. –

+1

vous avez plusieurs 'id =" small-box "'; ce n'est pas un HTML valide. Chaque attribut 'id' dans un document HTML doit avoir une valeur différente. Voir aussi: http://webdesign.about.com/od/css/f/blfaqmultiIDs.htm – Piskvor

Répondre

2

En réponse à votre commentaire:

<div class="content-row"> 
     <div id="left-box"> 
       <div class="small-box"> 
       </div> 
       <div class="small-box"> 
       </div> 
       <div class="small-box"> 
       </div> 
       <div class="small-box"> 
       </div> 
     </div> 
    </div> 


.content-row { 
    margin: 0 auto!important; 
    padding-left:50px; 
    width:990px; 
    height:320px; 
    padding-bottom:20px;  
} 
#left-box { 
    float:left; 
    width:360px; 
    height:340px; 
} 
.small-box { 
    width:160px; 
    height:150px; 
    background-color:#fff; 
    float:left; 
    margin:0px 20px 20px 0px; 
} 

L'id #left-box peut être un ID car il n'y a qu'un seul de ces éléments avec id="left-box" dans le document, mais parce que les autres sont répétées, ils doivent être définis avec classes :)

+0

Bien que n'étant pas une solution à la question, c'est un point très valable à faire, et une erreur que je vois de plus en plus sur le web. En outre, l'utilisation d'ID pour les styles est très risquée car le seul moyen d'écraser ces styles est le CSS en ligne sur l'élément. – CharlesLeaf

+0

merci kyle. Je change mon code. :) –