2010-04-26 6 views
0

Si la déclaration DOCTYPE est <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN"> quelle est la meilleure façon pour l'alignement horizontal des DIV comme ceux-ci:problème avec CSS DIV align

<div id="outer"><div id="inner">Some text</div></div> 

Le CSS est:

#outer{ border-top:1px dotted #999; background-color: #F4F4F4; width:100%;} 
#inner{ width:500px;border:1px solid #F00; margin:auto;} 

La chose que je vouloir faire est l'DIV interne aligner au centre (horizontalement) à l'intérieur de la DIV extérieure. Cette CSS fonctionne bien si la déclaration DOCTYPE est <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+0

Qu'est-ce qui ne va pas avec le doctype d'origine? Quels navigateurs utilisez-vous pour tester? – Matchu

+0

si j'ouvre cette page en utilisant IE8 le DIV interne est aligné à gauche. – Sergio

+0

En fait, cela fonctionne sur Chrome, Firefox, Safari et Opera, mais pas sur IE. Bienvenue au club. – Ben

Répondre

0

Il semble que vous avez besoin d'apprendre un peu plus sur quirks mode.

1

Je ne sais pas que vous utilisez le navigateur, mais vous pouvez changer

#outer{ border-top:1px dotted #999; background-color: #F4F4F4; width:100%;} 

à:

#outer{ border-top:1px dotted #999; background-color: #F4F4F4; width:100%; text-align:center;} 

Allthough .. Je l'ai testé votre code sur IE8, FireFox et Chrome et tous les trois travaillé comme un charme ...

+0

Le problème avec text-align: center; est que tout le texte à l'intérieur de la div interne est aussi aligner le centre et je veux que la police s'aligne à gauche. – Sergio

+1

Si c'est le seul problème, ne pourriez-vous pas simplement ajouter text-align: left; au #neur? –

+0

Non, je ne peux pas, car il y a beaucoup d'autres choses à l'intérieur de ce div :( – Sergio