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

Beurteilung Code für Navigationsleiste - Anfänger!

Xeno

Mitglied
Hallo zusammen!

Ich bin daran meine erste (rein private) Webseite zu erstellen. Insbesondere für die Navigationsleiste oben habe ich in CSS Code programmiert. Da ich absoluter Anfänger bin, bin ich interessiert an einer Aussensicht-Beurteilung des Codes. Daneben habe ich längerfristig noch Ausbauwünsche, um die geht es mir in diesem Fred aber nicht.

Bei der ggf. Beurteilung geht es mir nur zum Teil um die Frage, ob der Code formall stimmt (völlig Mumpitz sollter er nicht sein, da er eine Validierung bestanden hat und zumindest unter aktuellem Firefox auf Windows ein passables Resultat entsteht). Es geht mir auch darum, ob es sinnvoll ist, so zu programmieren, oder ob Einwände irgendwelcher Art bestehen.

Der Code ist wie verschiedenenorts empfohlen in einer ausgelagerten .css-Datei und ist wie folgt:

Code:
h1 { font-family:Verdana, sans-serif; }
body { background-color:#B4DC00; font-family:Verdana, sans-serif; }
p { font-family:Verdana, sans-serif;}
a:link { font-family:Verdana, sans-serif; color:#2F54FF; text-decoration:none;  }
a:visited { font-family:Verdana, sans-serif; color:#FF4B4B; text-decoration:none; }
a:hover { font-family:Verdana, sans-serif; color:#FEFF49; text-decoration:none; }
#navigationsleiste { width:100%; display:block; background-color:#FFFFFF; margin-left:0; padding:10px;}
#navigationsbereich li { display:inline; list-style-type:none; margin-left:3px;}
#navigationsleiste a { padding:10px; }
#navigationsleiste a:link { background-color:#FFFFFF; }
#navigationsleiste a:hover { color:#FF40CF; }
#navigationsleiste #aktiv a { background-color:#D2A5FF }

Der bezügliche html-Code lautet beispielsweise (die Webseite hat bereits eine Hauptseite und drei Unterseiten) und soweit hier interessierend:

HTML:
<body>
<div id="navigationsbereich">
<ul id="navigationsleiste">
<li id="aktiv">
<a href="http://www.blabla.ch">Hauptseite</a>
</li>
<li>
<a href="http://www.blabla.ch/kontakt.htm">Kontakt</a>
</li>
<li>
<a href="http://www.blabla.ch/changelog.htm">Changelog</a>
</li>
<li>
<a href="http://www.blabla.ch/impressum.htm">Impressum</a>
</li>
</ul>
</div>
<p>
Blablabla.....
</body>


Ich bin für Inputs und Feedback jeder Art sehr dankbar! Ich möchte die Seite im Moment ohne Javascript oder andere höhere Techniken machen, um den Lernaufwand etwas einzugrenzen, da ich das in der Freizeit mache und nicht mehr 18 bin:D. Im Moment geht es um html und css.

Lg Xeno
 
Für den Anfang sieht das schon recht ordentlich und brauchbar aus.
Um den Code jedoch zu verschlanken und damit übersichtlicher zu gestalten, kann man noch etwas aufräumen und vereinfachen, ohne dass sich die Darstellung im Ergebnis ändert (so hoffe ich zumindest, falls ich nichts übersehen habe).
Es gilt dabei insbesondere, auf überflüssige Angaben zu verzichten. Denn darin liegt ja gerade der Sinn von CSS: Dass sich viele Angaben, die im übergeordneten Element (z.B. body) definiert sind, auf die nachfolgenden "vererben" und deshalb nicht nomals definiert werden müssen.
Bzw. man definiert lediglich das, was von der Standarddefinition abweichen soll.
Ausgehend von diesem Prinzip schlage ich folgende Änderungen vor:

Auf den
Code:
<div id="navigationsbereich">
kannst du verzichten, da er nicht definiert ist. Ggf. kannst du dessen Angaben auch #navigationsleiste zuweisen.

Bei #navigationsleiste ist
Code:
display: block;
überflüssig, da ul bereits ein Blockelement ist.

Bei #navigationsbereich li kannst du
Code:
display: inline;
durch
Code:
float: left;
ersetzen.

Im CSS-Teil kannst du auf die Angaben von h1 und p verzichten (komplett löschen), da die Schrift bereits im body definiert ist und sich vererbt.

Wenn es lediglich um die Links in der Navi geht, dann kannst du diese bisherigen Angaben
Code:
a:link { font-family:Verdana, sans-serif; color:#2F54FF; text-decoration:none;  }
a:visited { font-family:Verdana, sans-serif; color:#FF4B4B; text-decoration:none; }
a:hover { font-family:Verdana, sans-serif; color:#FEFF49; text-decoration:none; }

#navigationsleiste a { padding:10px; }
#navigationsleiste a:link { background-color:#FFFFFF; }
#navigationsleiste a:hover { color:#FF40CF; }
#navigationsleiste #aktiv a { background-color:#D2A5FF }

wie folgt vereinfachen und damit komplett ersetzen:

Code:
#navigationsleiste a { text-decoration: none; padding:10px; }
#navigationsleiste a:link { color: #2f54ff; background-color:#FFF; }
#navigationsleiste a:visited {color: #ff4b4b;}
#navigationsleiste a:hover { color:#FF40CF; }
#navigationsleiste #aktiv a { background-color:#D2A5FF; }
Auch hier sind die Schriftangaben überflüssig, da sie sich vom body her vererben.
In der Kürze liegt die Würze ;-)
 
Zuletzt bearbeitet:
Lieber prm

Herzlichen Dank für Deine ausführliche und rasche Antwort!

Ich arbeite nun Deine Vorschläge punktweise durch. Wenn Probleme auftauchen (das ist leider bereits beim ersten Punkt passiert... keine Bange, natürlich erprobe ich alles auf Testdateien!) melde ich mich. Ich schlage vor, dass ich dann wenn möglich, bevor ich dann weiterfahre, bei Problemen zuerst Antworten abwarte, bevor ich weiter im Code herumwüte.

Wie Du sicher richtig erkannt hast, bin ich mit den theoretischen Grundlagen noch etwas wenig vertraut (Stichwort z. B: Vererbung). Aber ich lese mich ein:-|.

Also zum ersten Punkt:

Für den Anfang sieht das schon recht ordentlich und brauchbar aus.
Um den Code jedoch zu verschlanken und damit übersichtlicher zu gestalten, kann man noch etwas aufräumen und vereinfachen, ohne dass sich die Darstellung im Ergebnis ändert (so hoffe ich zumindest, falls ich nichts übersehen habe).
Es gilt dabei insbesondere, auf überflüssige Angaben zu verzichten. Denn darin liegt ja gerade der Sinn von CSS: Dass sich viele Angaben, die im übergeordneten Element (z.B. body) definiert sind, auf die nachfolgenden "vererben" und deshalb nicht nomals definiert werden müssen.
Bzw. man definiert lediglich das, was von der Standarddefinition abweichen soll.
Ausgehend von diesem Prinzip schlage ich folgende Änderungen vor:

Auf den
Code:
<div id="navigationsbereich">
kannst du verzichten, da er nicht definiert ist. Ggf. kannst du dessen Angaben auch #navigationsleiste zuweisen.

Es entsteht bei der ersatzlosen Streichung des Elements <div> im HTML das Problem, dass die Navigationsleiste völlig ruiniert wird. Das liegt untechnisch gesprochen daran, dass <div> im CSS durchaus Eigenschaften zugesprochen bekommt, die erwünscht sind, nämlich { width:100%; display:block; background-color:#FFFFFF; margin-left:0; padding:10px;} . Fehlt <div>, dann sind (zum Beispiel) die einzelnen Punkte der Navigation nicht mehr wie erwünscht horizontal nebeneinander, sondern vertikal untereinander, zumden (in Firefox) sogar noch übereinander, so dass sie nicht mehr richtig lesbar sind. Zudem erhalten sie auch unerwünschte Aufzählungszeichen (schwarze Punkte). Die erste Erscheinung dürfte mit { display:block } zu tun haben. Die zweite Erscheinung ist besonders merkwürdig, weil die mutmassliche Formatierungseigenschaft im CSS, { list-style-type:none; } ja einem anderen Item zugewiesen ist. Ganz unverständlich ist mir das Phänomen der sogar noch sich unerwünschterweise überlappenden Punkte.

Kannst Du mit diesem Befund bzw. meiner Schilderung etwas anfangen?

bin gespannt auf alle ggf. Antworten!

Lg Xeno
 
Das kann ich so leider nicht nachvollziehen.
Sowohl div als auch ul sind Blockelemente.
Für den div #navigationsbereich sind lt. deinem ersten Post keinerlei CSS-Angaben hinterlegt. Folglich ist er auch nicht besonders formatiert.
Möglicherweise hast du aber auch vergessen, die entsprechenden Angaben zu posten.
Die von dir geschilderten Auswirkungen könnte ich nur dann nachvollziehen, wenn #navigationsbereich per CSS entsprechend formatiert wäre. Ist dies der Fall, dann könntest du diese Angaben ebenso #navigationsleiste zuweisen.

Wenn du im folgenden sukkzessive bestimmte Themen erörtern möchtest, dann ist es grundsätzlich sinnvoll, immer einen Link zu deiner Website zu posten. Nur dann sieht man immer alles im kompletten Zusammenhang und kann dann evtl. Probleme besser und zielstrebiger beurteilen.
Falls deine Seite noch nicht online ist (weil sie sich ja noch in der Entwicklung befindet), dann empfehle ich, dass du dir zum Testen Free-Webspace (z.B. bei bplaced - Webspace & Webhosting // 2GB Freehost :: The place for your webspace)besorgst und den jeweils aktuellen Stand hochlädst.
 
CSS-Code für #navigationsleiste

Lieber prm

Herzlichen Dank für die rasche Antwort! Meine Homepage ist Michael Ritter. Die von mir beschriebene Zertrümmerung der Navigationsleiste ist unter Michael Ritter zu bewundern. Sorry dass ich die Homepage im ersten Posting nicht erwähnte!

Zu Deiner Antwort im Speziellen:

Das kann ich so leider nicht nachvollziehen.
Sowohl div als auch ul sind Blockelemente.
Für den div #navigationsbereich sind lt. deinem ersten Post keinerlei CSS-Angaben hinterlegt. Folglich ist er auch nicht besonders formatiert.
Möglicherweise hast du aber auch vergessen, die entsprechenden Angaben zu posten.
Die von dir geschilderten Auswirkungen könnte ich nur dann nachvollziehen, wenn #navigationsbereich per CSS entsprechend formatiert wäre. Ist dies der Fall, dann könntest du diese Angaben ebenso #navigationsleiste zuweisen.

Doch, #navigationsbereich hat sehr wohl CSS-Angaben, nämlich

Code:
#navigationsleiste { width:100%; display:block; background-color:#FFFFFF; margin-left:0; padding:10px;}

Das entspricht Zeile 7 des von mir im ersten Posting zitierten CSS-Codes.

Wahrscheinlich liegt da irgendein Missverständnis vor. Da ich Deine Art zu antworten als sehr angenehm empfinde, möchte ich nicht, dass Du mein Beharren als nervig empfindest:?.

Also ich danke Dir für Deine bisherige Unterstützung und freue mich auf weiteren Austausch.

Lg Xeno

P.S.: Bitte nicht zu sehr über die Homepage als Ganzes und überhaupt lachen:oops:. Jeder beginnt mal!
 
Sorry, das war mein Fehler, Zeile 7 hatte ich übersehen.
Dennoch kannst du auf den div #navigationsbereich verzichten.

Ersetze lediglich in der CSS
bisher
Code:
#navigationsbereich li { display:inline; list-style-type:none; margin-left:3px;}
mit
Code:
#navigationsleiste li { display:inline; list-style-type:none; margin-left:3px;}

Falls du dann noch bei #navigationsleiste li das
Code:
display: inline;
wie vorgeschlagen mit
Code:
 float: left;
ersetzt, dann musst du bei #navigationsleiste noch ein
Code:
overflow: auto;
hinzufügen.

Ja und eben jeder hat mal angefangen. Das war bei mir und allen anderen nicht anders.
Wichtig ist, dass man versucht zu verstehen was man macht. Irgendwann kommt man dann selbst auf seine Fehler und kann sie systemtisch beheben oder erst gar nicht entstehen lassen. Lass dir also Zeit.
Ich halte nichts von Leuten, die einfach gedankenlos alles übernehmen was man ihnen sagt und zum Schluss haben sie von HP-Erstellung doch keinerlei Ahnung.
 
Hallo prm

Danke für Deine Antwort!

Sorry, das war mein Fehler, Zeile 7 hatte ich übersehen.

Kein Problem!

Dennoch kannst du auf den div #navigationsbereich verzichten.

Ersetze lediglich in der CSS
bisher
Code:
#navigationsbereich li { display:inline; list-style-type:none; margin-left:3px;}
mit
Code:
#navigationsleiste li { display:inline; list-style-type:none; margin-left:3px;}

Ich weiss, was Du meinst, denke aber, dass die Anweisung nicht ganz richtig oder unvollständig ist, weil: Wenn ich genau mache, was Du vorschlägst, entsteht z. B. das Problem, dass dann nur die Listenblocks und nicht die ganze Navigationsleiste weiss sind. Das liegt daran, dass die zum zu löschenden <div> bzw. zu dessen id gehörende CSS-Zeile Anweisungen enthält, die nicht ignoriert werden können, solange die Formatierung erhalten werden soll. Mit dem Einfügen folgender Zeile in den CSS.Code

Code:
#navigationsleiste { width:100%; display:block; background-color:#FFFFFF; margin-left:0; padding:10px;}

bleibt die Formatierung dann tatsächlich wie gewünscht erhalten. Ob alle Eigenschaften und Werte dieser Codezeile nötig sind, kann ich noch nicht beurteilen; sicher nötig ist die Angabe der Hintergrundfarbe (weil abweichgend zu jener von <body>) und wahrscheinlich auch die Angabe der Breite von 100 Prozent.

Damit unsere Diskussion übersichtlich bleibt, poste ich jetzt mal den ganzen aktuellen CSS-Code, der im Moment nur auf Michael Ritter implementiert ist:

Code:
h1 { font-family:Verdana, sans-serif; }
body { background-color:#B4DC00; font-family:Verdana, sans-serif; }
p { font-family:Verdana, sans-serif;}
a:link { font-family:Verdana, sans-serif; color:#2F54FF; text-decoration:none;  }
a:visited { font-family:Verdana, sans-serif; color:#FF4B4B; text-decoration:none; }
a:hover { font-family:Verdana, sans-serif; color:#FEFF49; text-decoration:none; }
#navigationsleiste { width:100%; display:block; background-color:#FFFFFF; margin-left:0; padding:10px;}
#navigationsleiste li { display:inline; list-style-type:none; margin-left:3px;}
#navigationsleiste a { padding:10px; }
#navigationsleiste a:link { background-color:#FFFFFF; }
#navigationsleiste a:hover { color:#FF40CF; }
#navigationsleiste #aktiv a { background-color:#D2A5FF }

Die weiteren von Dir vorgeschlagenen Code-Anpassungen teste ich sehr gerne in nächsten Schritten. Ich schlage vor, dass dieser Fred deshalb vorerst offen bleibt.

Ja und eben jeder hat mal angefangen. Das war bei mir und allen anderen nicht anders.
Wichtig ist, dass man versucht zu verstehen was man macht. Irgendwann kommt man dann selbst auf seine Fehler und kann sie systemtisch beheben oder erst gar nicht entstehen lassen. Lass dir also Zeit.
Ich halte nichts von Leuten, die einfach gedankenlos alles übernehmen was man ihnen sagt und zum Schluss haben sie von HP-Erstellung doch keinerlei Ahnung.

Das ist genau meine Philosophie.

Lg Xeno
 
Bei #navigationsleiste kann das
Code:
display: block;
in jedem Fall gelöscht werden, da ul mit dieser Eigenschaft standardmäßig ausgestattet ist.
 
Lieber prm

Bei #navigationsleiste kann das
Code:
display: block;
in jedem Fall gelöscht werden, da ul mit dieser Eigenschaft standardmäßig ausgestattet ist.

Völlig richtig. Sowoihl die Theorie als auch mein soeben erfolgter Praxistest bestätigen Dein Votum. Entsprechend habe ich die Änderung auf der Teseite vollzogen. Der Übersicht haber der hier wieder der aktuelle CSS-Code der Testseite:

Code:
h1 { font-family:Verdana, sans-serif; }
body { background-color:#B4DC00; font-family:Verdana, sans-serif; }
p { font-family:Verdana, sans-serif;}
a:link { font-family:Verdana, sans-serif; color:#2F54FF; text-decoration:none;  }
a:visited { font-family:Verdana, sans-serif; color:#FF4B4B; text-decoration:none; }
a:hover { font-family:Verdana, sans-serif; color:#FEFF49; text-decoration:none; }
#navigationsleiste { width:100%; background-color:#FFFFFF; margin-left:0; padding:10px;}
#navigationsleiste li { display:inline; list-style-type:none; margin-left:3px;}
#navigationsleiste a { padding:10px; }
#navigationsleiste a:link { background-color:#FFFFFF; }
#navigationsleiste a:hover { color:#FF40CF; }
#navigationsleiste #aktiv a { background-color:#D2A5FF }

In früheren Postings hast Du meines Wissens noch weitere Codevereinfachungen vorgeschlagen. Ich kümmer mich jetzt darum und arbeite die ggf. sukzessive ab. Ich konnte vorgestern und gestern aus Zeitgründen nichts an der Homepage mnachen, ich hoffe, dass das so okay ist bezüglich Antwortrhythmus auf Deine Inputs.

Die Testseite findest Du weiterhin unter Michael Ritter .

Lg Xeno
 
horizontale Vavigation mit "float"

Lieber prm

Wie im letzten Posting erwähnt wende ich mich jetzt weiteren Inputs zur Vereinfachung des Codes zu, die Du im ersten Posting aufgeführt hast. Dazu zitiere ich dieses Posting nur auszugsweise und lasse insbesondere erledigte Punkte weg.

Bei #navigationsbereich li kannst du
Code:
display: inline;
durch
Code:
float: left;
ersetzen.

Dieser Input möchte, dass die horizontale Navigationsleiste statt mit "display" mit "float" bestimmt wird. Rein vom optischen Eregebnis und von der Codelänge her spricht an sich zwar nicht dafür, aber die Theorie sagt, dass "float" besser ist, insbesondere weil eine so bestimmte Navigationsleiste besser ausgebaut werden kann, was ja ein späteres Ziel ist. Deshalb habe ich Deinen Ratschlag umgesetzt. Leider führt er dazu, dass die Anzeige ziemlich ruiniert wird. Du siehst das Ergebnis unter (Achtung: neue URL!) Michael Ritter . Der CSS-Code dazu ist

Code:
h1 { font-family:Verdana, sans-serif; }
body { background-color:#B4DC00; font-family:Verdana, sans-serif; }
p { font-family:Verdana, sans-serif;}
a:link { font-family:Verdana, sans-serif; color:#2F54FF; text-decoration:none;  }
a:visited { font-family:Verdana, sans-serif; color:#FF4B4B; text-decoration:none; }
a:hover { font-family:Verdana, sans-serif; color:#FEFF49; text-decoration:none; }
#navigationsleiste { width:100%; background-color:#FFFFFF; margin-left:0; padding:10px;}
#navigationsleiste li { float:left; list-style-type:none; margin-left:3px;}
#navigationsleiste a { padding:10px; }
#navigationsleiste a:link { background-color:#FFFFFF; }
#navigationsleiste a:hover { color:#FF40CF; }
#navigationsleiste #aktiv a { background-color:#D2A5FF }

Laut Theorie besteht das Problem irgendwie darin, dass jetzt die Listenpunkte ("li") grösser sind (oder grösser dargestellt werden) als die Liste als Ganzes ("ul"). Ich bin auf die Schnelle nicht fündig geworden, wie das zu korrigieren ist (korrigierbar ist es aber fast sicher). Keine wesentliche Veränderung (interessanterweise aber eine geringfügige; das habe ich jetzt nicht auch noch aufgeschaltet, hole das aber wenn gewünscht gerne nach) bringt
Code:
#navigationsleiste { overflow:hidden; ... }
, was mir in einem Buch empfohlen wurde. Dieses CSS-Eigenschaft soll gemäss Buch dazu führen, dass per "float" eingebundene Elemente (hier: "li") nicht grösser angezeigt werden als das sie umschliessende "höhere" Element (hier: "ul"), aber es funktioniert hier nicht richtig. Ich vermute vage, es müssen noch weitere Anpassungen vorgenommen werden.

Theoretisch interessant ist für mich übrigens, dass das Problem nur mit "float" auftaucht und nicht mit "display". Das aber nur am Rande.

Es freut mich sehr, wenn Du mir ggf. hilfst den Sachverhalt zu klären!

Lg Xeno
 
Möglicherweise hast du meinen Beitrag #6 nicht vollständig bis unten gelesen:
Weise #navigationsleiste ein
Code:
overflow: auto;
zu und das Problem ist gelöst.

Ich kann nicht nachvollziehen, weshalb offensichtlich immer wieder
Code:
overflow: hidden;
empfohlen wird (habe ich in diesem Forum auch schon gelesen, ohne es zu verstehen, da die praktische Anwendung zu unerwünschten Ergebnissen führt).

Es geht dabei um Folgendes:
Wer floatet, muss auch clearen, denn gefloatete Elemente führen ein eigenständiges Dasein außerhalb des Elementflusses. Insofern erstreckt sich auch ein anderweitiger Hintergrund nicht automatisch über diese Elemente.
Innerhalb einer ul-Liste ist das Clearen problematisch, da ul leiglich li enthalten darf.
Die Eigenschaft
Code:
overflow: auto;
bewirkt jedoch das gleiche wie
Code:
clear: both;
.
Zur Vertiefung:
Firefox stellt Hintergrund nicht vollständig dar
Float: Die Theorie
 
Lieber prm

Herzlichen Dank für Deine sehr fundierte Antwort! Es ist eine Freude sich mit derart kompetenten Leuten auszutauschen.

Möglicherweise hast du meinen Beitrag #6 nicht vollständig bis unten gelesen:
Weise #navigationsleiste ein
Code:
overflow: auto;
zu und das Problem ist gelöst.

Genau so ist es. Ich entschuldige mich für den Lesefehler. Mit Deinem Ratschlag funktioniert es einwandfrei.

Ich kann nicht nachvollziehen, weshalb offensichtlich immer wieder
Code:
overflow: hidden;
empfohlen wird (habe ich in diesem Forum auch schon gelesen, ohne es zu verstehen, da die praktische Anwendung zu unerwünschten Ergebnissen führt).

Ja, den Hinweis hatte ich tatsächlich aus einem relativ renommierten Buch. Ich werde mich aber auf jeden Fall in die Grundlagen von "float" einlesen.

Es geht dabei um Folgendes:
Wer floatet, muss auch clearen, denn gefloatete Elemente führen ein eigenständiges Dasein außerhalb des Elementflusses. Insofern erstreckt sich auch ein anderweitiger Hintergrund nicht automatisch über diese Elemente.
Innerhalb einer ul-Liste ist das Clearen problematisch, da ul leiglich li enthalten darf.
Die Eigenschaft
Code:
overflow: auto;
bewirkt jedoch das gleiche wie
Code:
clear: both;
.
Zur Vertiefung:
Firefox stellt Hintergrund nicht vollständig dar
Float: Die Theorie

Ich werde mich noch in diese Problematik vertiefen. Herzlichen Dank für diese Hinweise!

Ich möchte zum Schluss noch den aktuellsten Code veröffentlichen, der momentan noch nur auf http://www.michaelritter.ch/teseite3.htm aufgeschaltet ist:

Code:
* { margin:0; padding:0; }
p, ul { margin:0px 0 20px 20px; }
h1, h2 { margin:0px 0 5px 20px; }
h1 { font-family:Verdana, sans-serif; }
body { background-color:#B4DC00; font-family:Verdana, sans-serif; }
p { font-family:Verdana, sans-serif;}
a:link { font-family:Verdana, sans-serif; color:#2F54FF; text-decoration:none;  }
a:visited { font-family:Verdana, sans-serif; color:#FF4B4B; text-decoration:none; }
a:hover { font-family:Verdana, sans-serif; color:#FEFF49; text-decoration:none; }
#navigationsleiste { overflow:auto;  width:100%; height:30px;  background-color:#FFFFFF; }
#navigationsleiste li { float:left; list-style-type:none; padding-top:5px; }
#navigationsleiste a { padding:10px; }
#navigationsleiste a:link { background-color:#FFFFFF; }
#navigationsleiste a:hover { color:#FF40CF; }
#navigationsleiste #aktiv a { background-color:#D2A5FF }

Wie Du ggf. siehst, habe ich das so genannte Reset bezüglich "margin" und "padding" vollzogen und dann den Elementen entsprechend die gewünschten Werte per CSS zugewiesen.

Ich möchte noch die weiteren Bereinigungspunkte Deines ursprünglichen POstings abarbeiten (und ggf. neue Bereinigungsinputs bezüglich dem obigen Code).

Liebe Grüsse

Xeno
 
Ich habe die von Dir vorgeschlagenen weiteren Code-Vereinfachungen umgesetzt. Das Resultat ist unter Michael Ritter aufgeschaltet. Der CSS-Code sieht jetzt so aus:

Code:
* { margin:0; padding:0; }
p, ul { margin:0px 0 20px 20px; }
h1, h2 { margin:0px 0 5px 20px; }
body { background-color:#B4DC00; font-family:Verdana, sans-serif; }
a { text-decoration:none; }
a:link { color:#2F54FF; }
a:visited { color:#FF4B4B; }
a:hover { color:#FEFF49; }
#navigationsleiste { overflow:auto;  width:100%; height:30px;  background-color:#FFFFFF; }
#navigationsleiste li { float:left; list-style-type:none; padding:5px 0 5px 0; }
#navigationsleiste a { padding:10px; }
#navigationsleiste a:link { background-color:#FFFFFF; }
#navigationsleiste a:hover { color:#FF40CF; }
#navigationsleiste #aktiv a { background-color:#D2A5FF }

Ich warte noch Dein Schlussfeedback ab, danach werde ich die letzten Änderungen machen und dann den Code auf die Hauptseite aufschalten.

Lg Xeno
 
Mal was ganz anderes ... ich hätte einen Verbesserungsvorschlag bezüglich des Fotos: Bringe das in einem Bildverarbeitungsprogramm deiner Wahl auf das Format, mit dem es am Ende angezeigt werden soll. Noch hat das Bild über 1 MB, im Format 200 × 300 Pixel hätte es noch 20 kB. Das hätte vor allem folgende Vorteile (auch wenn einzelne in deinem speziellen Fall ggf. nicht übermäßig relevant sind):
  • Die Ladezeit für den Seitenbesucher verkürzt sich.
  • Die Last für den Server verringert sich.
  • Du hast mehr Speicherplatz auf dem Server.
  • Die Bildqualität steigt (da Browser Bilder in der Regel nicht so gut verkleinern können wie Bildbearbeitungs-Software)
B.
 
Fred kann geschlossen werden

Ich möchte es nicht versäumen prm herzlich für seine Unterstützung zu danken. Ich habe den bereinigten CSS-Code jetzt auf- und die Testseiten abgeschaltet. Das Ganze ist jetzt wieder unter Michael Ritter zu bestaunen. Zu bodil:

Mal was ganz anderes ... ich hätte einen Verbesserungsvorschlag bezüglich des Fotos: Bringe das in einem Bildverarbeitungsprogramm deiner Wahl auf das Format, mit dem es am Ende angezeigt werden soll. Noch hat das Bild über 1 MB, im Format 200 × 300 Pixel hätte es noch 20 kB. Das hätte vor allem folgende Vorteile (auch wenn einzelne in deinem speziellen Fall ggf. nicht übermäßig relevant sind):
  • Die Ladezeit für den Seitenbesucher verkürzt sich.
  • Die Last für den Server verringert sich.
  • Du hast mehr Speicherplatz auf dem Server.
  • Die Bildqualität steigt (da Browser Bilder in der Regel nicht so gut verkleinern können wie Bildbearbeitungs-Software)
B.

Das ist völlig richtig. Ich habe z. B. kürzlich die Seite in einem mobilen Browser auf einem Smartphone geöffnet (ein umfassendes Brwosertesting folgt später sowieso noch, darum geht's mir im Momentnoch nicht), und da war die Ladezeit des Bides klar zu lang.

Da dieses Problem nichts mit CSS zu tun hat und zudem das Anliegen des Ausgangsposting erledigt ist (CSS-Code-Bereinigung), schlage ich vor, dass der Fred mal geschlossen ist. Für spezifische Fragen im Rahmen des weiteren Ausbaus werde ich mich ggf. gerne wieder melden.

Lg Xeno

@Moderation: Fred kann geschlossen werden.
 
Da es in diesem Thread lediglich um die Navigationsleiste ging, denke ich dass dieses Thema erfolgreich gelöst ist.
Als nächstes könntest du dich vielleicht mit Ziffer 3 dieser Hinweise beschäftigen:
Schrift und Text optimieren

Auch die Überschriften könnten vielleicht noch eine individuellere Formatierung bekommen, aber beides nur als Anregung.
 
Zurück
Oben