Problem mit IE7
am 13.10.2008 - 14:21 Uhr in
Hallo Leute
Ich habe ein Problem. Ich habe schon in mindestens 3 (!!) anderen Foren gefragt, bis jetzt hatt mir aber keiner geantwortet bzw. wusste keiner die Lösung des Problems.
Jetzt versuch ichs mal beim Drupalforum selbst; Ich verwende Drupal und das Advanced Forum. Nun habe ich auf den Seite wo, das advanced Forum dargestellt wird, die Blocks auf der rechten Seite ausgeblendet und die Forumsbeiträge über diesen freien Platz rechts gestreckt.
Ein einfaches: "width: 145%" - in der entsprechenden css-klasse hat gereicht und der Firefox hat mir das wunderbar so gemacht wie ich will. Nun ja, IE7 nicht :|
Interessanterweise stellt es der IE6 richtig dar. Ich habe mich wirklich schon viel gespielt und rumprobiert... jedoch bis jetzt erfolglos.
Ich habe jetzt mal den HTML-Code von einer Seite kopiert, das unnötige rausgelö scht und mit denentsprechenden CSS - Dateien in eine ZIP gepackt - hier könnt ihr sie euch runterladen.
Wäre wirklich dankbar, wenn mir da jemand helfen könnte - ich denke der eine oder andere kennt sich da sicher besser aus als ich ;)
lg Roavei
- Anmelden oder Registrieren um Kommentare zu schreiben
kennt sich damit wirklich
am 15.10.2008 - 18:55 Uhr
kennt sich damit wirklich keiner aus?
unnötiges rausgelöscht
am 15.10.2008 - 19:21 Uhr
... Ich habe jetzt mal den HTML-Code von einer Seite kopiert, das unnötige rausgelöscht und mit denentsprechenden CSS - Dateien in eine ZIP gepackt ...
Mit dem "unnötigen rausgelöscht" hast du wohl ein wenig übertrieben. Die entsprechende CSS-Klasse mit deinen 145% gleich mit weg. Eventuell hat dir deswegen keiner geantwortet.
Nein, nein... die ist schon
am 15.10.2008 - 19:56 Uhr
Nein, nein... die ist schon noch da:
advanced_forum.css (Linie 149)
.forum-comment {
border:1px solid #2587C4;
width:145%;
}
ich zeig dir mal wie die struktur ca ist:
<table>
<tr>
<td> //Hier ist die linke Spalte, Navigation, Shoutbox usw.
</td>
<td> //Hier ist der hauptsächliche Inhalt drin
<div id="page">
<div id="content">
<div class="top-post forum-comment forum-comment">
//Hier steht dann der Forumsbeitrag
</div>
</div>
</div>
</td>
<td> //Hier habe ich normalerweise die Blöcke drin - im Forum sind sie aber ausgeblendet und über diesen
//freigewordenen Platz möchte ich eben die Forumsbeiträge noch dehnen.
</td>
</tr>
</table>
Am einfachsten sind solche Seiten immer mit dem Firebug oder dem IEDeveloper zu betrachten.
Aber danke erstmal für deine Antwort - ich hoffe ich konnte mein Problem verständlich machen. Schau es dir am besten mal zuerst im Firefox an und dann im IE7.
Fehlerbeseitigung
am 15.10.2008 - 20:22 Uhr
... Am einfachsten sind solche Seiten immer mit dem Firebug oder dem IEDeveloper zu betrachten ...
Ja dann brauche ich doch fast nichts mehr sagen. Deine Seite weist an betreffender Stelle 40 Fehler auf. Schau im Quelltext nach und fange an zu korrigieren. Du hast da mindestens ein kleines Tabellenproblem(chen) in den Spalten created und last-reply.
Nach der Fehlerbeseitigung können wir gerne weiterreden. Schließe an betreffender Stelle die TD-Felder.
ok... ich hab mal html-tidy
am 15.10.2008 - 21:10 Uhr
ok... ich hab mal html-tidy drüberlaufen lassen - Vermutlich sind ein großteil der Fehler wie du ja schon gesagt hast vom löschen des "überflüssigen" codes.
Neue Version runterladen
so... jetzt ist er w3c konform ... mal schaun obs was hilft.
Deine Seite hat die 40 Fehler, nicht die Datei
am 15.10.2008 - 22:06 Uhr
ok ... mal schaun obs was hilft ...
Nein, ich habe mir deine Seite angesehen und dort die Fehler an betreffender Stelle entdeckt. Ich glaube nicht, dass du auf deiner Seite "überflüssigen Code" gelöscht hast. Das bisschen Code zum runterladen wird nichts bringen. Es geht ja nicht darum diese Dateien in den Griff zu bekommen, sondern deine Seite.
Wie oben erwähnt und ernst gemeint:
Deine Seite weist an betreffender Stelle 40 Fehler auf. Schau im Quelltext nach und fange an zu korrigieren. Du hast da mindestens ein kleines Tabellenproblem(chen) in den Spalten created und last-reply.
Schließe an betreffender Stelle die TD-Felder, damit die Tabelle korrekt dargestellt wird. Nach der Fehlerbeseitigung können wir gerne weiterreden.
tut mir leid aber ich finde
am 16.10.2008 - 18:55 Uhr
tut mir leid aber ich finde den fehler den du meinst nicht ....
und außerdem frage ich mich wie sinnvoll es ist in der php-datei vom theme rumzueditieren.
ich habe mir gedacht, wenn ich den fehler in der datei finde die ich zum download bereitstelle... dann müsste es auch auf der live site funktionieren...den auch wenn der code gereinigt wurde (wie ich es beim code gemacht habe, denn ich zum download bereitstelle) - funktioniert es nicht... was es eigentlich sollte.
lg
Großer Topf in kleinen Topf
am 16.10.2008 - 21:24 Uhr
... ich finde den fehler den du meinst nicht ....
und außerdem frage ich mich wie sinnvoll es ist in der php-datei vom theme rumzueditieren.
Da dein, zum Download bereitgestellter, Text in keinster Weise dem Original entspricht, lohnt es sich für mich nicht, diese kleinen Dateischnipsel in Form zu bringen. Es wäre doppelte Arbeit für mich, da du die Fehler im Original nicht findest. Was nutz dann der Dateischnipsel?!
Sinnvoll deswegen, weil dort die meisten Fehler liegen. Deine Tabelle ist absolut fehlerhaft. Tabellen Felder werden nicht geschlossen und zerreißen die Tabelle. Dies passiert in allen Spalten mit der class-Anweisung created und last-reply.
Du musst da schon ein wenig mitarbeiten. Ich vermute, dass du eine Template-Datei vom Advanced Forum angepackt hast und dabei etwas zerschossen hast. Die betreffenden Stellen findest du in der Datei advf-forum-topic-list.tpl.php und in der Datei advf-forum-list.tpl.php.
Das ist aber nur ein Teil deines Problems. Das andere folgt, nachdem du meine offen stehenden Fragen beantwortet hast.
Dauert mir dann doch zu lange, ich werde die Fragen selber beantworten.
Dein Hauptproblem ist: Du versuchst gerade mit einer Klasse, 754 Pixel in ein Kästchen mit 520 Pixel zu quetschen.
Lösung: Versuche deine Seite fehlerfrei zu bekommen, halte dich an die HTML- und CSS-Regeln und dann wird es wohl richtig angezeigt werden. Das der IE6 es anzeigt wie du möchtest, ist dabei KEINE Referenz.
Ich hoffe, dass ich dir hiermit jetzt genügend Informationen für dein Weiterkommen gegeben habe.
ich hätte da einen ganz
am 16.10.2008 - 21:37 Uhr
ich hätte da einen ganz anderen vorschlag:
vorausgesetzt du benutz clean urls und das modul "pathauto" + "token" kannst du die blocks links oder rechts (noch) einfacher ausblenden. sprich, das forum unter www.deineseite.de/forum soll die blöcke nicht darstellen, alle posts unter www.deineseite.de/from/container/topic werden, wie du siehst, automatisch mit einer eigenen url versehen.
damit hat sich das css rumgebastle erledigt, sowohl ie als auch ff zeigen keine blocks an (...+ in allen container und topics + antworten).
btw:
width: 145% ist sowieso der falsche weg.
ein ansatz ist da...
am 16.10.2008 - 22:22 Uhr
Du musst da schon ein wenig mitarbeiten.
Sorry, tut mir leid wenn das jetzt so rübergekommen ist, dass ich selber nicht bereit bin mitzuarbeiten. Du glaubst mir gar nicht wie dankbar ich dir bin, dass du dich hier mit mir mit meinem Problem beschäftigst. Und selbstverständlich bin ich auch bereit mitzuhelfen ;)
Ich vermute, dass du eine Template-Datei vom Advanced Forum angepackt hast und dabei etwas zerschossen hast. Die betreffenden Stellen findest du in der Datei advf-forum-topic-list.tpl.php und in der Datei advf-forum-list.tpl.php.
Ja da hast du wahrscheinlich recht - dass sich so der Fehler eingeschlichen hat. Habe die fehlenden td's eingefügt. Zumindest in der adv-forum-topic.list.tpl.php - in der anderen Datei waren sie an der entsprechenden stelle schon gesetzt.
Dein Hauptproblem ist: Du versuchst gerade mit einer Klasse, 754 Pixel in ein Kästchen mit 520 Pixel zu quetschen.
Nun ja... ich glaub ich versteh da mal wieder was nicht. Ich möchte dieses div mit der id="forum-comment" ja auf 754px ausdehnen - nicht quetschen? und ich kann die darüberliegenden elemente nicht ansprechen, weil sonst auch auf anderen seiten diese css-konfigurationen übernommen werden würden.
CSS-Angaben überschreiben
am 17.10.2008 - 11:55 Uhr
Nun ja... ich glaub ich versteh da mal wieder was nicht. Ich möchte dieses div mit der id="forum-comment" ja auf 754px ausdehnen - nicht quetschen? und ich kann die darüberliegenden elemente nicht ansprechen, weil sonst auch auf anderen seiten diese css-konfigurationen übernommen werden würden.
Der übergeordnete Container von deiner class=forum-comment lautet id=content, dessen übergeordneter Container lautet id=page. Die ID page hat eine Breite von 520 Pixel.
Bei fast allen Aktionen wird sich nach dem übergeordneten Container gerichtet. In diesem Fall sind das feste 520 Pixel. Ohne wenn und aber, selber von dir angegeben. Deine class=forum-comment kann davon maximal 100% einnehmen.
Diese 520 Pixel sind und bleiben 520 Pixel und lassen sich durch nichts ausdehnen. Die Möglichkeiten, die dir bleiben: Baue dein Theme anders auf und lasse dabei das Tabellenkonstrukt weg, oder überschreibe bei Ausblendung der rechten Spalte die CSS-Angaben der page ID.
Lass mich raten was du machen möchtest ... die CSS-Angaben überschreiben.
CSS-Angaben überschreiben
am 17.10.2008 - 12:34 Uhr
Nachfolgend werde ich dir erklären, wie du, bei Ausblendung der rechten Spalte, die CSS-Angaben der page ID überschreiben kannst.
Ich weiss nicht, wie du die rechten Blöcke ausgeblendet hast. Wenn du es richtig gemacht hast, enthält $sidebar_right keinen Inhalt und du könntest nachfolgenden Code anwenden. Die Breite von 754 Pixel ist als Beispiel genannt. Welchen Wert du einträgst, hängt von der Gesmtbreite deiner Seite, abzüglich der linken Spalte und abzüglich irendwelcher Border, ab.
Kurz bevor head geschlossen wird ( </head> ) könntest du nachfolgendes in deine Datei page.tpl.php einbauen.
<?php
if ( !$sidebar_right ):
echo '<style type="text/css"> #page { width: 754px; } </style>';
endif;
?>
Kurz übersetzt: Die page ID wird überschrieben, wenn die rechte Spalte keinen Inhalt enthält.
danke
am 17.10.2008 - 17:38 Uhr
muss dir hier mal echt ein fettes danke aussprechen.
mit deinem codeschnipsel hats einwandfrei geklappt (tja - dank meines php unwissens wäre ich nie darauf gekommen, dass mit php zu lösen - obwohl auf diese paar zeilen hätte ich ja echt selber kommen müssen ;) )
ich hätte das sonst mit javascript noch probiert, was ja nicht gerade die optimale lösung gewesen wäre.
werd das forum jetzt noch ein bisschen css-mäßig optimieren.
echt nochmal ein fettes danke, dass du es so lange mit meinen unwissenden fragen ausgehalten hast.
lg Roavei