2010-11-09 8 views
1

Essayer de ceci:Pourquoi cela ne fonctionne-t-il pas dans IE?

______________________ 
|......|.............| 
|......|.............| 
|......|.............| 
|......|.............| 
|______|.............| 
|......|.............| 
|......|.............| 
|______|_____________| 

... mais je reçois ceci:

______________________ 
|......|.............| 
|......|.............| 
|......|.............| 
|......|.............| 
|......|.............| 
|......|.............| 
|______|.............| 
|______|_____________| 

Voici le code:

<div style="width:100%" align="center"> 
<div style="width: 1100px; padding: 18px; position:absolute; top: 168px; left: 15%; align: left"> 
<div style="width:100%"> 

<table style=" width:100%;"> 
    <tr valign="top"> 
    <td style="width:170px; height:475px;"> 
     <div id="vertnav" style="width:170px">NAVBAR</div> 
    </td> 

    <td width=12px></td> 

    <td rowspan="2"> 
     <div style=" background-color: #f6efdf; padding: 0px 20px 0px 20px; height:590px; overflow-y: scroll;">CONTENT</div> 
    </td> 
    </tr> 


    <tr> 
    <td></td><td></td> 
    </tr> 
</table> 
</div> 
</div> 
</div> 

la hauteur de la cellule de la barre de navigation devrait être 475, et La hauteur de la cellule de contenu devrait être 590px. Avec la cellule de hauteur de contenu couvrant deux lignes, cela devrait faire l'espace sous la barre de navigation ~ 125px. Cela fonctionne en FF, mais c'est plus comme 5px dans IE.

Qu'est-ce que je (ou IE) fais mal?

+0

Il a dit que quelqu'un a édité mon post (probablement corriger le petit diagramme ASCII - lol), mais je suis allé de l'avant et l'a écrasé ... désolé ... mais j'ai finalement réussi la troisième fois. : D – TimFoolery

+4

Vous utilisez des tableaux pour la mise en page, cela * est * faux. Utilise CSS et flotte à la place. –

Répondre

1

IE a des problèmes avec le contenu des cellules de table. Il ne montre pas du tout les cellules vides. Essayez de mettre un &nbsp; dans chaque cellule vide.

Et une pensée générale - se débarrasser de la table.

+0

J'ai essayé d'utiliser   sans succès. Pour ce qui est de se débarrasser de la table, d'accord ... Je pense que ça va marcher, mais espérons que je ne vais pas tout gâcher ... lol. Deux div, barre de navigation avec flotteur 475 hauteur: à gauche, contenu avec 590 hauteur et flotteur: droite, correct? Ou est-ce faux aussi? xD – TimFoolery

+0

Je voudrais mettre l'accent sur la largeur, plutôt que sur la hauteur. Laissez la hauteur se développer autant qu'il le devrait. Votre (et ma) souris a une molette de défilement pour cela. Mais le reste semble ok. – AlexanderMP

+0

La solution de deux div fonctionne, d'ailleurs, et oui, je vais devoir définir les largeurs à coup sûr ... J'utilise overflow-y: scroll; et une hauteur statique (sera modifiée par javascript) sur le div de contenu, cependant, parce que cela semble mieux avec l'arrière-plan de cette façon. Je suis un bâtard superficiel parfois! – TimFoolery

1

Il ne sera pas validé pour un démarrage - le bit 'width = 12px' a besoin de guillemets autour de la valeur.

<td></td> paires sans un caractère intermédiaire (peut-être &nbsp;) sont susceptibles de vous donner des résultats étranges. Mais assurez-vous qu'il valide avant de s'inquiéter des différences du navigateur.

+0

Si vous parlez de la validation W3C, il est passé. J'ai peut-être fait une erreur en changeant le HTML pour le rendre plus facile à regarder, mais le document original passe la validation du W3C. Merci pour le conseil, cependant. Je suis un peu nouveau dans le développement web. (PS: j'ai tenté de mettre   dans les td vides, mais cela n'a créé qu'une seule ligne de hauteur.) – TimFoolery

+0

Les attributs HTML ne nécessitent que des guillemets autour des attributs qui ont un espace blanc, contrairement à XHTML qui nécessite des guillemets autour de tous les attributs. –

+0

@AndyE - merci pour cela - il me semble si «faux», que je l'avais automatiquement supposé qu'il devait être! –

Questions connexes