PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Tabellen



Lukas
19.11.2004, 16:59
Ich habe folgenden Code:

<html>
<link rel="stylesheet" type="text/css" href="data/style.css">
<body>
<div align="center"><img src="img/titelleiste.jpg"></div>
<table width="100" cellspacing="0" border="1">
<tr><td>
Allgemein<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php?index=1&p=1" class="nav_link_alternativ">Home</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php?index=1&p=2" class="nav_link_alternativ">Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php?index=1&p=3" class="nav_link_alternativ">Gästebuch</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php?index=1&p=4" class="nav_link_alternativ">Forum</a><br>
Rpg-Maker<br>

</td><td nowrap align="left" valign="top"><div style="margin-left: 100;">
Das hier ist meine Website.</td></tr>
</table>
</body>
</html>


Das ganze wird von einem (von mir geschriebenen) CMS erzeugt, also bitte nicht dran rummeckern, dass man dies und jenes besser machen könnte.

Mein Problem hängt mit der oben eingebundenen CSS-Datei zusammen:

body{
font-family: "Arial", "Comic Sans MS";
margin-top: 20;
margin-left: 15;
background-color: c0c0c0;
}

a.nav_link:hover{
color: red;
}

a.nav_link_alternativ:hover{
font-weight: bolder;
}

Wie zu erkennen ist, haben alle Links in der "Navleiste" die Klasse "nav_link_alternativ", die den Link fetter macht, sobald man mit dem Mauszeiger drüberfährt.
Allerdings wird dabei bei "Berührung" des längsten Eintrag ("Gästebuch") auch die Tabellenzelle mit der Navleiste verbreitert, was dazu führt, dass der gesamte Inhaltstext ("Das hier ist meine Website") ebenfalls verschoben wird, solange man den Cursor über dem Link hat, weil die Tabellenzelle verschoben wird.

Wie kann ich das beheben?

Dingsi
19.11.2004, 17:19
Die Menüspalte breiter machen?
...
<table width="120" cellspacing="0" border="1">
...
<div style="margin-left: 120;">
...Da empfehl ich auch gleich mal diese Sachen wie, margin-left oder width der Tabelle auch in die css Datei zu packen. Ist übersichtlicher und das ganze ist besser und einfacher umstylebarer. css > all.

Übrigens. Erstens: Was soll das <div> überhaupt? Und zweitens: Das <div> wird nirgens geschlossen. Beheben! (</div>)

Übrigens. Der <head> fehlt. Der kommt nach <html> und vor <body>. In <head> sollte eigentlich auch alle <link>s und <meta>s rein. Ein DOCTYPE fehlt auch.

Lukas
19.11.2004, 18:46
Ich habe 'nen unsauberen Html-Schreibstil, ich weiß.

Zu der Sache mit dem div: Wenn ich den Style in den td-Tag einbaue, funzt es nicht (kein Plan warum). Also habe ich mir irgendeinen anderen Tag genommen und den Style darein geschrieben.

Das mit Tabelle verbreitern würde in einem Fall zwar gehen, aber ich will ja ein kleines CMS aufbauen, in dem der gesamte Inhalt in einer Datei steht (mit Datenbanken kann ich nicht so gut umgehen, darum probier' ich das, ist ein Experiment). Aber man müsste die Tabellenbreite immer manuell an den längsten Eintrag anpassen, das will ich nicht.

P.S.: den Header und den Doctype mach ich natürlich rein, bevor das Ganze online gestellt wird. Und ich werde jetzt auch mal alle Styles in die CSS-Datei umlagern.