2009-08-07 8 views
-1

Der folgende Code ist ein Beispiel für das, was ich versuche zu tun, ich brauche dieses div zu überspannen 600px breit aber unabhängig, wenn ich Max-Breite: 600px setzen; oder Breite: 600px; Es ist immer noch die Breite meines PC-Bildschirms.DIV Breite hört nicht auf meine CSS

Wie kann ich es 600px breit machen?

<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']); 
} 
?> 

UPDATE

Es arbeitet jetzt scheint firefox meine Seite zu Cachen so vielleicht das ist, warum es nicht vor funktionieren würde.

Die div rot ist, ist es möglich, Polsterung an den div hinzuzufügen, außerhalb des roten Teils, so dass es wie ein Polster/Raum, der weiß ist

+1

Verwenden Sie Breite, nicht Max-Breite (IE Probleme), aber das sollte wirklich funktionieren. Etwas anderes muss mit deinem CSS weitergehen. – annakata

+0

Unheimliche Sache ist gerade angefangen zu arbeiten, es ist wie Firefox spart Caching Dinge auf meiner Website Ich denke, den ganzen Tag habe ich seltsame Problem, wo ich etwas aktualisiert habe und Firefox zeigt es nicht richtig. Ich muss dieses Div-Center irgendwie ausrichten? – JasonDavis

+0

Alle - von seinem Beitrag: "unabhängig, wenn ich Max-Breite: 600px; oder Breite: 600px" –

Antwort

2

Das CSS für mich gut funktioniert. Sind Sie sicher, dass Sie keine andere CSS-Regel haben, die es außer Kraft setzt? Versuchen Sie es mit einem Tool wie Firebug, das Ihnen den berechneten Stil für ein Element zeigt und wo es herkommt.

+0

Ich habe gerade meinen Beitrag aktualisiert, verwenden Sie Firefox ? – JasonDavis

0

Ich würde versuchen, es mit Firebug zu debuggen, um sicherzustellen, dass nichts diese div-Klasse überschreibt und überprüft, wie die enthaltenen Elemente angeordnet sind.

-1

Hinzufügen Überlauf: auto; zu deinem CSS.

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

IE mag keine maximale Breite. Getestet und funktioniert in IE/FF/Chrome.

+0

Das wäre IE6 und unter –

+0

Um zu klären - IE 6 und darunter nicht Max-Breite; Spätere Versionen benötigen ebenfalls eine Breite (z. B. einen Prozentsatz), die die maximale Breite begrenzt. –

+0

Danke für ein Update! –

0

Stellen Sie sicher, dass nichts in Ihrem Inneren größer ist als das Div. IE macht manchmal (abhängig von der Version) divs mit größerem Inneninhalt, indem das div erweitert wird, um den Inhalt zu berücksichtigen.

Der einfache Weg, dies zu testen, ist es, einen Überlauf hinzuzufügen: versteckt und sehen, ob es etwas verbirgt.

0

diese Verwendung als HTML-Datei

<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> 

ich eine zentrierte 600px breit Nachricht auf FF 3.5.2, Opera 9.64, IE 8.0.6001.18813 auf Vista 32 Bit erhalten. IE benötigt die zusätzliche Textausrichtung, um den Block zu zentrieren, die margin: 0 auto für die anderen Browser.

0

Oft hilft das Hinzufügen eines wichtigen Attributs hinter dem Attribut, da es alle anderen von den Eltern deklarierten Breiten überschreibt. Sie müssen es so schreiben:

width: 600px !important;