PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CSS-Frage Tabellerahmen


BenjaminG
19.12.2004, 21:54:19
ich habe folgende Anweisung:
in der CSS-Datei:

table
{
border-width: 2px;
}



<table border='0'>
<tr>
....


Wenn ich das jetzt so programmiere und dann im Firefox anschaue, dann wird ein Rahmen angezeigt.

Aber wenn ich jetzt den border-Tag ganz rausnehme, wird kein Rahmen angezeigt.

WARUM? ich verstehe das nicht! Hat mir jemand eine Erklärung dazu?

Jacki
19.12.2004, 22:49:53
ich nehme an, dass gecko (die html-engine von firefox) ne höhere priorität an CSS vergbit als an reines HTML (oder andersrum?, hab dein beispiel nicht so ganz verstanden :D)
versuch es mal in einem anderen browser...


im konqueror wenn ich mache:

table
{
border-left: solid 2px #C0C0C0;
}

<table border="0">

wird ein rahmen angezeigt!

Gweilo
20.12.2004, 00:52:51
versuch's mal damit:
border: 1px solid #aaa;

vielleicht reicht beim CSS die breite anzugeben nicht, wenn man die Farbe nicht angegeben hat? Das ganze kommt mir ein wenig komisch vor.

-> probieren geht über studieren ;)

BenjaminG
20.12.2004, 19:29:24
wo ich das jetzt border: 1px solid #aaa; eingegeben habe, war auf einmal der Rand bei Firefox weg! Das hilft doch!!! Aber ist sehr merkwürdig. Beim IE wurde beim obigen Beispiel kein Rahmen angezeigt.

akasa
20.12.2004, 20:28:26
hä, wie jetzt, haste jetzt das umgekrte ergebnis ?! aber sollte eigentlich funktionieren aber haste um das obere auch
<style>
<!---
---->
</style>
kagges gemacht !?

BenjaminG
20.12.2004, 21:19:57
diese CSS-Daten sind in einer separaten Datei gespeichert und in die HTMl-Datei eingebunden.

ich habe jetzt bei Firefox keinen Rand mehr, als ich border=0 und 2px solid #aaa gemacht habe.

ist recht komisch, das ganze?

c4
21.12.2004, 08:11:56
Laut Vorgabe haben Browser nur dann einen Rahmen darzustellen, wenn auch der border-style definiert wird. Sonst hat da nix zu sein. Außer HTML definiert was.

Glaube ich.

BenjaminG
21.12.2004, 16:12:24
aber in CSS werden doch auch die Daten formatiert und eingestellt wie die Ausgabe sein soll. Deshalb sollte nach meiner Auffassung der border-Tag nicht notwendig sein, da es ja in CSS definiert wurde. Aber es geht leider nicht anders. Ich muss den border-Tag benutzen. Werde es weiterhin testen mit verschiedenen Browsern.

Gweilo
21.12.2004, 17:18:10
Also bei mir klappte es immer ohne border Tag im HTML. Hast du das was ich dir hingeschrieben habe versucht ohne den HTML teil?

xabbuh
21.12.2004, 17:29:43
Du könntest ja auch mal die Seite, die nicht so funktioniert, wie sie soll, online stellen.

BenjaminG
21.12.2004, 18:30:32
hier der Link (http://www.dfbl.org/test/kontakt_formular.php)

PHP-Datei:

echo "<link rel='stylesheet' type='text/css' href='../css/grundgeruest.css'>";
echo "<h2>Kontakt Formular</h2>";
echo "<br>";
echo "<form action='$PHP_SELF?ueberpruefen=1' method='post'>";
echo "<p class='center'>Bitte fülle das folgende Formular, wenn du irgendwelche Fehler in den Scripten<br> oder sonstige Fragen zur Ergebnisüberwachung hast, aus.</p>";
echo "<table align='center' width='50%'>";
echo "<colgroup>";
echo "<col width='40%'>";
echo "<col width='60%'>";
echo "</colgroup>";
echo "<tr>";
echo "<th class='left'>Dein Name: </th>";
echo "<td><input type='Text' name='name_vor' value='$name_vor' size='20' maxlength='30'></td>";
echo "</tr>";
echo "<tr>";
echo "<th class='left'>Deine Emailadresse: </th>";
echo "<td><input type='Text' name='email' value='$email' size='20' maxlength='30'></td>";
echo "</tr>";
echo "<tr>";
echo "<th class='left'>Dein Betreff: </th>";
echo "<td><input type='Text' name='betreff' value='$betreff' size='20' maxlength='30'></td>";
echo "</tr>";
echo "<tr>";
echo "<th class='left'>Deine Nachricht: </th>";
echo "<td><textarea name='message' cols='30' rows='10'>$message</textarea></td>";
echo "</tr>";
echo "</table>";
echo "<br>";
echo "<table align='center' width='50%'>";
echo "<tr>";
echo "<td class='center' width='50%'><input type='Submit' name='ueberpruefen' value='Senden'></td>";
echo "<td class='center' width='50%'><input type='reset'></td>";
echo "</tr>";
echo "</table>";
echo "</form>";
echo "</body></html>";


und hier die CSS-Datei dazu:

/* -----------------------------------------------------------------------------------------
Formatierungen des Bodys
------------------------------------------------------------------------------------------*/
body
{
background: #FFFFFF;
color: #0000FF;
font-family: Arial;
font-size: 12pt;
}


/* -----------------------------------------------------------------------------------------
Formatierungen der Hyperlinks
------------------------------------------------------------------------------------------*/
a:link
{
color:#0000FF;
}
a:visited
{
color:#0000FF;
}
a:hover
{
color:#0000FF;
}
a:active
{
color:#0000FF;
}


/* -----------------------------------------------------------------------------------------
Formatierungen der Ueberschriften
------------------------------------------------------------------------------------------*/
h1, h2, h3, h4
{
text-align: center;
}


/* -----------------------------------------------------------------------------------------
Formatierungen der Textbausteine
------------------------------------------------------------------------------------------*/
p.center
{
text-align: center;
}
p.justify
{
text-align: justify;
}


/* -----------------------------------------------------------------------------------------
Formatierungen der verschiedenen Tabellen
------------------------------------------------------------------------------------------*/
table
{
font-family:Arial;
font-size: 12pt;
color: #0000ff;
border-width: 2px solid #aaa;
}
td.center, th.center
{
text-align: center;
}
td.left, th.left
{
text-align: left;
}
td.valign, th.valign
{
vertical-align: middle;
text-align: center;
}
#hintergrund_tabelle
{
background: #C0C0C0;
}


warum wird die Überschrift und der Text darunter nicht Zentriert dargestellt?

was könnt ihr mir jetzt daraus sagen?

xabbuh
21.12.2004, 18:44:39
Sieht dir HTML-Seite lokal genauso aus wie die Seite, die du verlinkt hast?

BenjaminG
21.12.2004, 19:01:40
NEIN!

Da sieht die Seite so aus, wie es sein sollte. Also die Überschrift + Text darunter zentriert und Blaue Textfarbe.

Das ist aber hier nicht der Fall, warum?

BenjaminG
21.12.2004, 19:04:16
ich bin doch so dumm! LOL

ich habe einen falschen Pfad zur CSS-Datei gehabt, deshalb wurde es auch nicht korrekt angezeigt.

Was ich festgestellt habe: Wenn man verschiedene Versionen beim lokalen Websever und im Internet hat, dann wird es komplett verschieden angezeigt. Oder sehe ich das falsch?

Gweilo
21.12.2004, 19:33:51
Verschiedene Versionen?
wovon? PHP?

BenjaminG
21.12.2004, 19:44:54
ja! Vielleicht von PHP, CSS??? Verschiedene Browser, die nicht den ganzen Wortschatz von CSS verstehen?

Gweilo
21.12.2004, 20:05:00
1) PHP: schau dir mal die HTML ausgabe an, die sollte gleich sein.

2) CSS: CSS wird vom Browster interpretiert, kommt also nicht drauf an, ob es lokal oder auf dem Server betrachtet wird. Du schaust es ja lokal und auf dem Server mit dem selben browser an nehme ich an?

3) HTML: siehe 2

BenjaminG
21.12.2004, 20:22:08
zu 2: ich schaue mir das immer mit Firefox an!

werde auf jeden Fall weiter dran arbeiten und mich weiterhin Fortbilden in Websprachen!

xabbuh
22.12.2004, 09:38:14
Original geschrieben von BenjaminG
zu 2: ich schaue mir das immer mit Firefox an!

werde auf jeden Fall weiter dran arbeiten und mich weiterhin Fortbilden in Websprachen!
Inwiefern hat sich dein Problem denn jetzt erledigt?

BenjaminG
22.12.2004, 17:33:47
es wird alles so angezeigt wie es sollte! Aber ich muss nochmal auf der lokalen Webserver probieren, ob jetzt wenn ich den Border-Tag weglasse auch wirklich ein Rand gesetzt wird oder nicht.

ich muss die Überarbeitung erst bis zum 31.12. fertig haben, deshalb habe ich grad nicht soviel Zeit dafür!

xabbuh
22.12.2004, 22:01:37
Original geschrieben von BenjaminG
es wird alles so angezeigt wie es sollte! Aber ich muss nochmal auf der lokalen Webserver probieren, ob jetzt wenn ich den Border-Tag weglasse auch wirklich ein Rand gesetzt wird oder nicht.
Wenn du die Seite auf deinem lokalen Rechner mit Browser A betrachtest, wird die Seite auch genauso aussehen, wenn sie auf einem anderen Server liegst und die Seite mit Browser A betrachtest. Unterschiede in der Ansicht sind browser- und nicht serverabhängig.

sniechzial
23.12.2004, 11:06:17
Original geschrieben von _c_4_
Laut Vorgabe haben Browser nur dann einen Rahmen darzustellen, wenn auch der border-style definiert wird. Sonst hat da nix zu sein. Außer HTML definiert was.

Glaube ich.

Wie meißtens glaubt c4 richtig :) So geht es einwandfrei:

table
{
font-family:Arial;
font-size: 12pt;
border-color: black;
border: 2px;
border-style: solid;
}

Ich kann dir dazu das WebDeveloper-Toolbar Addon zum Firefox wärmstens empfehlen. Damit kann man "live" im CSS der Seite rumschreiben und sieht direkt eine Änderung. Danach einfach speichern und gut :)

Grüße,
simon