PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CSS/HTML Problem mit meiner Homepage


jotdoterdot
2005-04-22, 22:59:07
Holla und guten Abend :rolleyes:

Hab da ein kleines Problem mit meiner Homepage.
Schaut euch auf meiner Homepage (http://jotdoterdot.jo.funpic.de/design2/index.html) den Code an..

Mein problem ist halt, dass die Links normalerweise nebeneinander stehen sollten, ich das aber irgendwie nicht hinbekomme :'( ..
Außerdem wird nur beim 1. Link das Hintergrundbild+Hover vom Button angezeigt, beim 2. Link jedoch nicht .. da ist nur der Text zu sehen!

Das Problem liegt womöglich bei "#menu a" im header ..
Muss ich da nicht noch irgendnen Tag einsetzen damit die Links nebeneinander stehen??

Naja ich fang erst seit einer Woche mit html/css an .. nehmt es mir nicht übel falls der Code unsauber ist :redface:

Sephiroth
2005-04-22, 23:24:51
da fehlt noch "float: left;" bei der "#menu a" css rule.

Gast
2005-04-22, 23:32:33
Ich nehm es dir nicht übel, darauf hinweisen tu ich dich aber trotzdem:

http://validator.w3.org/check?uri=http://jotdoterdot.jo.funpic.de/design2/index.html
http://jigsaw.w3.org/css-validator/validator?uri=http://jotdoterdot.jo.funpic.de/design2/index.html

http://diveintomark.org/archives/2003/05/05/why_we_wont_help_you

jotdoterdot
2005-04-23, 12:56:27
da fehlt noch "float: left;" bei der "#menu a" css rule.

Gut ..

Es funktioniert .. danke ! :tongue:

edit: Da ich schon nen Thread aufgemacht hab ...

Ich krieg irgendwie keine active-links zustande .. hab angegeben wo das Bild liegt in der CSS-Datei, doch man sieht den active-link nur dann wenn man grad draufklickt und nicht wenn man grad auf dem jeweiligen Link ist ..

Hier die CSS-Datei (http://jotdoterdot.jo.funpic.de/design2/style.css)

edit2: Der Internet Explorer scheint wohl eher nicht mit dem Design klarzukommen :|

Liegt das an CSS?

Hab die Fehler übrigens beseitigt .. ! Ist jetzt alles "validated" ..

astanoth
2005-04-23, 16:57:41
da fehlt noch "float: left;" bei der "#menu a" css rule.

Warum floaten, wenn es mit text-align: left; auch geht?

Ich mag mich wiederholen, aber ein menu sollte man mittels Listen anlegen.
Dann wären nebenbei auch deine ie-Probleme beseitigt.
Bsp.: http://astanoth.as.funpic.de/

jotdoterdot
2005-04-23, 17:20:10
ja hab bei vielen seiten gesehn dass die listen bei menüs mit <ul> und <li> anlegen ..

habs auch selber versucht .. doch 0 chance ich krieg das nich hin ohne dass das irgendwie blöd aussieht .. !

edit: oh hab dein beispiel übersehen :tongue: ich werds mal versuchen :biggrin:

edit2: Jetzt ist das Problem mit dem IE auch gelöst ... jetzt bräucht ich nur noch Hilfe mit dem active-link .. !

Oliver_G
2005-04-23, 17:37:19
BTW: Der Backround passt IMO net so :/
Probiers mal mit weiß und lass dir die Tabellen-Ränder anzeigen.

jotdoterdot
2005-04-23, 17:44:22
Lol der Background ist eher provisorisch ..

aber mit Tabellenrändern siehts imo ziemlich doof auf .. habs schon ausprobiert ..

Ich muss mir halt noch was einfallen lassen für den background ..

Wenn ihr Ideen habt .. dann her damit ;)

Gast
2005-04-23, 17:53:00
jetzt bräucht ich nur noch Hilfe mit dem active-link .. !
Was genau ist das Problem?
Die Seite validiert übrigens auch - passender MIME-Type vorausgesetzt - als XHTML 1.1 strict.

Hintergrund ist in Ordnung. Außerdem ist kommt sowas von der Wichtigkeit her unter "ferner liefen".

jotdoterdot
2005-04-23, 18:12:52
Mein Problem ist halt, dass der Hoverlink, der zugleich das selbe IMG hat wie der Activelink nicht "einrastet".

Beispiel (http://www.simplebits.com/notebook/)

Wenn ich z.b. auf meine Page gehe sollte sofort der Link "homepage" als active-link erscheinen und nicht als normaler link ..
So wie es im oberen Beispiel beim Menü angezeigt wird!

Gast
2005-04-23, 21:18:28
Du meinst wie das fette Wort "Notebook" in deinem Beispiel?

Da gibt es zwei Vorgehensweisen: (lle meine Namensvorgaben sind natürlich willkürlich)

1. Du gibst dem Link der jeweiligen Kategorie eine extra Klasse.
Beispiel:
Man befindet sich auf deiner Seite im Bereich "homepage". Dann sieht dein Menü wie folgt aus:
<div id="menu">
<ul>
<li><a href="/design2/index.html" class="aktiv">home<strong>page</strong></a></li>
<li><a href="/design2/index.html">guest<strong>book</strong></a></li>
<li><a href="/design2/index.html">about<strong>me</strong></a></li>
<li><a href="/design2/index.html">test<strong>page</strong></a></li>
<li><a href="/design2/index.html">test<strong>page</strong></a></li>
<li><a href="/design2/index.html">test<strong>page</strong></a></li>
</ul>
</div>
Wenn man sich im Bereich "guestbook" befindet sieht dein Menü so aus:
<div id="menu">
<ul>
<li><a href="/design2/index.html">home<strong>page</strong></a></li>
<li><a href="/design2/index.html" class="aktiv">guest<strong>book</strong></a></li>
<li><a href="/design2/index.html">about<strong>me</strong></a></li>
<li><a href="/design2/index.html">test<strong>page</strong></a></li>
<li><a href="/design2/index.html">test<strong>page</strong></a></li>
<li><a href="/design2/index.html">test<strong>page</strong></a></li>
</ul>
</div>

In deinem CSS Datei schreibst du dann:
#menu a.aktiv { font-weight:bold; }
oder irgendwas anderes...

Diese Methode ist einfach umzusetzen. Nachteil ist daß der HTML-Code deines Menüs nun nicht mehr auf jeder Seite gleich ist, da jede Seite natürlich an anderer Stelle ein class="aktiv" stehen hat. Falls du nun PHP, Java, SSI oder sonstwas nutzt um das Menü serverseitig als Baustein in jede Seite einsetzen zu lassen, hast du ein Problem, denn der immergleiche Baustein hat sich gerade in Luft aufgelöst.



2. Du gibst dem Element body auf jeder Seite eine eindeutige ID. Also auf der Seite "homepage" steht dann <body id="homepage">, auf der Seite "guestbook" steht <body id="guestbook">, usw.
Den HTML-Code des Menüs änderst du wie folgt um, und zwar auf allen Seiten gleichermaßen:
<div id="menu">
<ul>
<li><a href="/design2/index.html" id="mhome">home<strong>page</strong></a></li>
<li><a href="/design2/index.html" id="mguest">guest<strong>book</strong></a></li>
<li><a href="/design2/index.html" id="mme">about<strong>me</strong></a></li>
<li><a href="/design2/index.html" id="mtest1">test<strong>page</strong></a></li>
<li><a href="/design2/index.html" id="mtest2">test<strong>page</strong></a></li>
<li><a href="/design2/index.html" id="mtest3">test<strong>page</strong></a></li>
</ul>
</div>
Beachte bitte, daß IDs seitenweise eindeutig sein müssen.

In deine CSS Datei schreibst du:
#homepage #mhome { font-weight:bold; }
#guestbook #mguest { font-weight:bold; }
#me #mme { font-weight:bold; }
#test1 #mtest1 { font-weight:bold; }
#test2 #mtest2 { font-weight:bold; }

Dein Menü ist nun weiterhin auf jeder Seite gleich, es läßt sich also als Baustein skriptgesteuert einsetzen. Egal auf welcher Seite du dich befindest schlägt aber immer nur genau eine der obigen CSS-Regeln zu und macht den aktuellen Menüpunkt fett, und zwar gesteuert durch die ID des body-Elements.
Dan Cederholm hat wenn ich das richtig seh die ganzen IDs für body und Menüeinträge gesetzt, nutzt aber trotzdem eine extra Klasse namens "active" um den aktuellen Menüpunkt hervorzuheben. Interessant.


Es gibt übrigens einige Webdesigner die vorschlagen dem body Element generell jeder Seite eine ID der Form "www-domain-tld-pagename" zu geben, natürlich angepaßt an die jeweilige Seite. So können sich Besucher eigene Stylesheets, Skripte, etc schreiben die dann an dieser weltweit eindeutigen ID aufgehängt werden.

jotdoterdot
2005-04-23, 23:01:05
Wow ... dankeschön :biggrin:

Das war zwar leider nicht ganz was ich meinte :tongue: aber ich habs trotzdem angewendet :rolleyes:

Ok ich erklär es nochmal:

Der Hover-Effekt besteht auf meiner Page ja darin, dass der Button grau wird - was ich will, ist, dass wenn ich z.B. auf "guestbook" klicke, der Button "guestbook" auch grau bleibt.

Das ist doch eigentlich die Aufgabe des "active-links" .. oder irre ich mich da?
Ich hab's nämlich so eingestellt:

normaler link & visited = link.jpg
hover & active = link-hover.jpg

Ich hoffe ich hab mich diesmal präziser ausgedrückt :tongue:

Gast
2005-04-24, 00:08:31
Das war zwar leider nicht ganz was ich meinte :tongue: aber ich habs trotzdem angewendet :rolleyes:
Bla.
Das mit der fetten Schrift und den Namen war übrigens nur ein Beispiel, du mußt es nicht genauso übernehmen...


Der Hover-Effekt besteht auf meiner Page ja darin, dass der Button grau wird - was ich will, ist, dass wenn ich z.B. auf "guestbook" klicke, der Button "guestbook" auch grau bleibt.
Tut er doch... Die Schrift wird beim Draufklicken schwarz und damit unlesbar, aber das ist wohl auch so gewollt.
Die Bilder link-active.jpg und link-hover.jpg sind identisch, beim überfahren wird das eine geladen, beim klicken das andere. JPG ist übrigens ein schlechtes Format für dieses Bild.
http://www.r1ch.net/img-formats/

jotdoterdot
2005-04-24, 11:33:53
Wir reden aneinander vorbei :biggrin:

Der button soll ja auch grau bleiben, wenn ich halt nicht mehr draufklicke ..
So, dass der aktuelle Menüpunkt nicht nur durch die fettere Schrift, sondern auch durch den grauen Button erkennbar ist!

Naja .. Ich hab mal den Hintergrund geändert .. besser so?

Gast
2005-04-24, 14:22:00
Wir reden aneinander vorbe
In der Tat.

Der button soll ja auch grau bleiben, wenn ich halt nicht mehr draufklicke ..
So, dass der aktuelle Menüpunkt nicht nur durch die fettere Schrift, sondern auch durch den grauen Button erkennbar ist!
Das habe ich doch in meinem vorletzten langen Posting beschrieben?!

Statt meinem Beispielcode
#homepage #mhome { font-weight:bold; }
#guestbook #mguest { font-weight:bold; }
#me #mme { font-weight:bold; }
#test1 #mtest1 { font-weight:bold; }
#test2 #mtest2 { font-weight:bold; }
nimmst du dann eben nicht Regeln, die die Schrift fett machen, sondern welche die den Hintergrund grau machen.
#homepage #mhome { background-image: url("bilder/link-hover.jpg");; }
#guestbook #mguest { background-image: url("bilder/link-hover.jpg"); }
#me #mme { background-image: url("bilder/link-hover.jpg"); }
#test1 #mtest1 { background-image: url("bilder/link-hover.jpg"); }
#test2 #mtest2 { background-image: url("bilder/link-hover.jpg"); }
#test3 #mtest3 { background-image: url("bilder/link-hover.jpg"); }

jotdoterdot
2005-04-24, 14:53:21
Oh :|

Stimmt ... Das war was ich meinte :biggrin:

Okee danke für die Mühe!! :rolleyes:

jotdoterdot
2005-04-27, 22:21:08
So, bin schon etwas weiter mit der Page .. hab mir hier und da noch Ratschläge geholt und nun sieht's so aus:

click click click -> My Homepage (http://jotdoterdot.jo.funpic.de/design2_2/index.html)

Hät gern eure Meinung zu der Page gehört ...

Kritik ist erwünscht

astanoth
2005-04-28, 12:29:27
Kritik kann auch Lob sein.
Ich finde die Struktur des Quelltextes ok - auch die CSS-Datei sieht aufgeräumt aus.
Die Farben Orange und Grau solltest du noch etwas aufeinander abstimmen (Abstufungen etc...).
Die Bilder sind viel zu groß, es sollten so um die 17kb auf der Startseite nicht überschritten werden, 20 sind aber auch ganz ok.
Hintergrundbilder im Menue finde ich nicht sonderlich funktional - und hier sieht es auch nicht sehr gut aus sry.

Tipps:
- Spiel noch etwas mit den Farben herum und versuch, das 08/15-Balkendesign aufzulockern.
- Entferne die Kategoriebilder - das bekommt man sehr leicht mit css hin und es lädt dann schneller.
- Nimm eine andere (weichere) Schriftart (aber bitte eine standardmäßig vorhandene ;))
- Schreib weiter auf Englisch (y)
- evtl. noch etwas den Quelltext vereinfachen (> z.B. die <span> aus dem Menue entfernen)

jotdoterdot
2005-04-28, 13:42:34
Ich werd mir den größten Teil deiner Tipps zu Herzen nehmen :redface:

Gast
2005-04-28, 13:50:19
Das mit der Größe liegt teilweise darin begründet, daß JPG das falsche Format für viele dieser Grafiken ist. Mit PNG fährst du hier besser.
Ein Link wann welches Format die kleinste Dateigröße erzeugt ist ja weiter oben schon zu finden. Links zu den Validatoren übrigens auch...

jotdoterdot
2005-04-28, 14:09:10
Jep genau das hab ich mir auch gedacht .. War grad dabei die ganzen Bilder nochmal neu zu machen als ich deinen Beitrag gelesen hab :biggrin: