feuerwurm: Eine Iframe, ein Abstand der nicht sein sollte und Co.

Beitrag lesen

Hallo,

Wenn es sich um Darstellungsprobleme handelt, ist PHP-Code irrelevant, sondern der generierte HTML-Code und die Stylesheets. Deshalb kann man dir schwer helfen, wenn man nicht weiß, welche Inhalte du da includest. Verlinke mal bitte eine statische HTML-Seite, auf der man das Problem sieht.

<html>

Am Dokumentanfang solltest du eine Dokumenttyp-Deklaration notieren, das wirkt sich auf die Darstellung aus:
http://carsten-protsch.de/zwischennetz/doctype/

<script type="text/javascript">
<!--
document.write("<style>#e1 {display : none;}</style>")
document.write("<style>#e2 {display : none;}</style>")
-->
</script>
<noscript>
<style>
#e1 {display : block;}
#e2 {display : block;}
</style>
</noscript>

Wenn du das umdrehst und die JavaScript-generierten Styles nach dem normalen style-Element einfügst, kannst du auf noscript verzichten, was im Übrigen im head-Element ohnehin nicht erlaubt ist.

<script type="text/javascript">
<!--
    function changeStyleById(el,ds) {
               if (document.getElementById) {
                  var nodeObj = document.getElementById(el)
                  nodeObj.style.display = ds;
                  }
           }
//-->
</script>

Die Auskommentierung mit <!-- und //--> ist unnötig und du kannst es herausnehmen.

<table><tr><td><div onMouseover="changeStyleById('e1','block'); changeStyleById('e2','none')" style="border:1px solid #aaaaaa; left:200px;top:50px; -moz-border-radius:10px; -khtml-border-radius:30px;">Profil</div></td>
<td><div onMouseover="changeStyleById('e2','block'); changeStyleById('e1','none')">CSS</div></td>
</tr></table>

Das ist wirklich Kraut und Rüben. Du solltest dich mit CSS und sauberem HTML ohne Tabellen und sinnlose divs beschäftigen.

</form></form>

Du schließt hier zwei nicht existente Formulare.

<form action="#" name="raum" method="post">

Derzeit ist das Formular sinnlos.

<div id="e1">
<noscript>Chat</noscript><select name="raum" size="">
...
</select></fieldset><input type="Submit" name="submit" value="Los!"></from></div>

Ein fieldset sehe ich hier auch nicht (aber das willst du wahrscheinlich mit JavaScript einfügen).
Und das form-Element wird mit </from> nicht geschlossen.

Im Internet Explorer wird die Iframe jedoch in der Mitte einfach abgeschnitten. Keine Ahnung, woran das liegt.

An der Angabe height="35%". Offenbar bezieht er diese nicht auf die Höhe des Dokuments. Wie wäre eine feste Höhe?

Zwischen der JavaScriptNavi und den include("")'s ist so viel Abstand. Da habe ich auch keine Vermutung, warum!

Du hast #nav eine Höhe von 350px gegeben. Was erwartest du? ;)

  1. Ich habe hier ein JavaScript eingebaut

Das leider völliger Murks ist. Mit navigator.userAgent kann man keine zuverlässige Browsererkennung umsetzen (jedenfalls nicht auf diesem Wege). Und wenn, eine Versionsabfrage halte ich für unnötig, oder wilst du wirklich IE 4 berücksichtigen?

) dass nur im IE einbaut, weil es nur dort schön aussieht.

Fieldsets kannst du mit JavaScript auch in anderen Browsern beliebig formatieren, z.B. ihnen border und padding geben. Es besteht höchstwahrscheinlich keine Notwendigkeit, aus optischen Gründen den anderen Browsern kein fieldset zu geben.

Nein, es geht darum, dass im MFF und im OPERA fieldsets nicht mit runden Ecken angezeigt werden. Die Rundung werde ich in den anderen Browsern mit CSS3 erreichen. Da IE, die CSS3-Funktionen nicht kennt, verwende ich im IE eben fieldsets. Kennst du ein besseres Script, mit dem ich erkennen kann, ob  diese Seite mit IE besucht wird? Wenn, wäre es sehr hilfreich, wenn du es mir geben könntest!

feuerwurm

Ich habe jetzt noch Mal ne Stunde Google durchforstet und habe schon ein gutes JS gefunden

lg

Das JS:

var name = navigator.appName
if (name == "Microsoft Internet Explorer")
document.write("<fieldset>");