• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Layer und Tabellen Formatierung

Status
Für weitere Antworten geschlossen.

BigSanch

Neues Mitglied
Hi an alle und schon mal Danke für die Antworten :wink:

Ich habe folgendes Problem:

In einem Layer (div) habe ich eine Tabelle mit einem Menü. Die Formatierung des div's und der Tabelle steht in einer .css Datei. Wenn ich nun als Test die Seite aufrufe (als Test benutze ich IE und Mozilla) zeigt es die Formatierung im IE anders an als im Mozilla. Wieo? und wie kann ich das umgehen?

Das div hat folgende Formatierung:
HTML:
#lm1 {
    background-image:url(../../bild.gif);
    position:relative;
    width:145px;
    height:480px;
    top:15px;
    left:-8px;
    margin:auto;
    overflow:hidden;
    align:left;
    vertical-align:middle;
    text-align:center;
}
und die Tabelle diese:
HTML:
table{
    align:center;
    text-align:center;
    border:0;
    font-size:12px;
    padding:inherit;
}
tr{
    align:center;
    text-align:center;
    border:0;
    font-size:12px;
    padding:inherit;
}
td{
    align:center;
    text-align:center;
    border:0;
    font-size:12px;
    padding:inherit;
}
Um zu verstehen, was ich meine noch ein Bild.
Besonders im unteren Bereich des Menü's sieht man was ich meine!

test.jpg


Danke für die Hilfen und MfG BigSanch
 
Eine Navigations als Tabelle zu implementieren ist eine schlechte Idee. Weitere schlechte Idee von dir ist es das div absolut zu positionieren und ihm eine feste Höhe zu geben. So kommt es dann auch dazu, dass der Inhalt in einem Browser scheinbar verschwindet, aber eigentlich nur den Rand des Bereiches erreicht.

Lösung: mach das ganze mit einer Definitionsliste so wie es derzeit auch von HTML vorgesehen ist und verzichte auf die absolute Positionierung.

Noch etwas: diese falsche Darstellung könnte auch durch fehlerhaften Quellcode "erreicht" werden. Prüfe also deinen HTML-Code auf Validität.
 
Hi @all , hi und danke @threadi

Also erstens hätt ich da auch selber drauf kommen können :-), naja nachts lässt halt das Denkvermögen manchmal nach :-) und ja ohne Tabelle siehts scho besser aus, danke für den Tip

Und zweitens, ja die ewige div Diskussion, ich weiß :-) Aber ich komm glaub net wirklich drum rum, da ich viele Segmente auf der Seite habe, die ich speziell positioniert haben muss. Dabei ist div soweit ich weiss einfach das einfachste und beste. Ausser du hast da noch nen anderen Tip für mich, da ich mich leider nur begrenzt mit Html auskenne. Wenn man es genau nimmt hab ich meine Seite nur mit Layern aufgebaut, da ich ausser den Hauptsegmenten auch noch einige versteckte Elemente (mit link einfach vibilbe gemacht) und einige Segmente habe, die über die anderen überstehen (das so gewollt ist).

Ich weiss dass das umständlich ist und ein Layer - Durcheinander gibt, aber weder mit Listen, Tabellen oder sonstigen Elementen kann man so gut dynamisch positionieren, verschieben und darstellen.
Aber auch da bin ich für jeden Tip dankbar, der mir gegenteiliges erklärt :-)
 
Und zweitens, ja die ewige div Diskussion
Eigentlich gibts da keine Diskussion, wenn man sich auskennt.

Aber ich komm glaub net wirklich drum rum, da ich viele Segmente auf der Seite habe, die ich speziell positioniert haben muss.
Das halte ich für unwahrscheinlich, weil pixelgenaue Positionierung im WWW eher ungünstig bis hin zu unbrauchbar ist. Dadurch, dass jeder Nutzer andere Einstellungen haben kann, kannst Du gar nicht wissen, wieviel Platz Du für Deine Site zur Verfügung hast. Daher benutzt sich dann eine pixelgenaue Website bei vielen Leuten völlig unterschiedlich und teilweise unbequem.

Mein Tipp: Sag, was Du vorhast und man kann Dir entweder helfen oder es Dir ausreden :-)

Dabei ist div soweit ich weiss einfach das einfachste und beste.
Das ist sicher falsch. <div> ist ein Element zum Gruppieren mehrerer Elemente zwecks gemeinsamer Formatierung. Positionieren kann man alle Elemente. Du kannst einem <img> genauso position:absolute zuweisen, wie einem <address> oder einem <span>. Dass <div> eine Wunderwaffe ist und Dinge kann, die andere Elemente nicht können, ist ein weit verbreiteter Irrglaube.
Dass man idR alle CSS-Eigenschaften auf alle HTML-Elemente anwenden kann, ist ja der entscheidende Vorteil von CSS-basierten Websites gegenüber den veralteten HTML-Seiten, die HTML noch unnützerweise für das Aussehen verwenden.

Wenn man es genau nimmt hab ich meine Seite nur mit Layern aufgebaut
Layer (<layer>) ist eine Erfindung von Netscape und funktioniert nur in Netscape 4. IMHO gibt man dem <div> eine Bedeutung, die es nicht hat, wenn man es "Ebene" oder "Layer" nennt.

Ich weiss dass das umständlich ist und ein Layer - Durcheinander gibt, aber weder mit Listen, Tabellen oder sonstigen Elementen kann man so gut dynamisch positionieren, verschieben und darstellen.
Wie gesagt, positionieren kannst Du alles und in erster Linie dient HTML dazu, Deinem Inhalt eine Bedeutung zu geben, nicht Aussehen oder Layout zu definieren!

Gruß,
-Efchen
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben