2009-08-07 6 views
-1

Le code ci-dessous est un exemple de ce que j'essaie de faire, j'ai besoin de ce div pour couvrir 600px de largeur, mais peu importe si je mets max-width: 600px; ou largeur: 600px; c'est toujours la largeur de mon écran PC.Largeur DIV ne pas écouter mon CSS

Comment puis-je faire 600px de large?

<style> 
.errormsg3 { 
    text-align: center; 
    font-weight:bold; 
    color:white; 
    font-size: 16px; 
    background-color:red; 
    padding:8px; 
    max-width: 600px; 
} 
</style> 

<?PHP 
if (isset($_SESSION['sess_msg'])) { 
    echo '<div class="errormsg3">' .$_SESSION['sess_msg']. '</div>'; 
    unset($_SESSION['sess_msg']); 
} 
?> 

MISE À JOUR

Il travaille actuellement, Firefox semble être la mise en cache mon site donc ce peut-être pourquoi cela ne fonctionnerait pas avant.

Le div est rouge, est-il possible d'ajouter un rembourrage à la div, en dehors de la partie rouge, donc il est comme un rembourrage/espace qui est blanc

+1

Utilisez la largeur, pas la largeur maximum (IE issues), mais ceci devrait vraiment fonctionner. Quelque chose d'autre doit se passer avec votre CSS. – annakata

+0

Chose étrange est juste commencé à travailler, c'est comme Firefox continue de mettre en cache des choses sur mon site, je pense, toute la journée j'ai eu problème étrange où je mets à jour quelque chose et Firefox ne le montre pas correctement. J'ai besoin d'aligner ce centre div en quelque sorte cependant? – JasonDavis

+0

Tous - à partir de son poste: "indépendamment si je mets max-width: 600px ou largeur: 600px" –

Répondre

2

Ce CSS fonctionne bien pour moi. Etes-vous sûr de ne pas avoir une autre règle CSS qui la surcharge? Essayez d'utiliser un outil comme Firebug qui peut vous montrer le style calculé pour un élément et d'où il vient.

+0

Je viens de mettre à jour mon post, utilisez-vous firefox ? – JasonDavis

0

J'essaierais de le déboguer avec Firebug pour m'assurer que rien ne remplace cette classe div, et de vérifier comment les éléments contenant sont disposés.

-1

Ajouter un dépassement: auto; à votre CSS.

0
-max-width: 600px; 
+width: 600px; 

IE n'aime pas la largeur maximale. Testé et fonctionne dans IE/FF/Chrome.

+0

Ce serait IE6 et ci-dessous –

+0

Pour clarifier - IE 6 et ci-dessous n'a pas honoré max-width; les versions ultérieures ont également besoin d'une largeur (par exemple un pourcentage) dont la largeur maximale sera limitée. –

+0

Merci pour une mise à jour! –

0

Assurez-vous qu'il n'y a rien à l'intérieur de votre qui soit plus grand que div. IE parfois (dépend de la version) rend divs avec un contenu intérieur plus grand en développant la div pour rendre compte du contenu.

La façon simple de tester cela est d'ajouter un débordement: caché et de voir s'il cache quoi que ce soit.

0

utilisant comme fichier HTML

<html><head><style> 
body {text-align: center;} 
.errormsg3 { 
    text-align: center; 
    font-weight:bold; 
    color:white; 
    font-size: 16px; 
    background-color:red; 
    padding:8px; 
    width: 600px; 
    margin: 0 auto; 
} 
</style> 

<body> 
if (isset($_SESSION['sess_msg'])) { 
    echo '<div class="errormsg3">' .$_SESSION['sess_msg']. '</div>'; 
    unset($_SESSION['sess_msg']); 
} 
</body> 

je reçois un large centré 600px message sur FF 3.5.2, Opera 9.64, IE 8.0.6001.18813 sur Vista 32 bits. IE a besoin de l'extra text-align pour centrer le bloc, le margin: 0 auto fait pour les autres navigateurs.

0

Souvent, l'ajout d'un attribut derrière l'attribut aidera car il écrase toutes les autres largeurs déclarées par les parents. Vous devez l'écrire comme ceci:

width: 600px !important; 
Questions connexes