Frage von Iamanigga, 54

Woher weiß ich, welchen Tag ich im CSS-Dokument schreiben muss?

Es gibt Fälle da ist das eindeutig und Fälle da ist es nicht eindeutig. Manchmal muss man Tags eingegeben, die für mich überhaupt keinen Sinn ergeben. Wie z.B, wenn man die Punkte neben den Links wegmachen möchte müsste der in Code in CSS ja so aussehen: nav ul {list-style-type: none;}.

DASS ul jetzt als Tag geschrieben wird, ergibt für mich keinen Sinn. Denn das Sichtbare, sprich der Link-Name ist nochmal in einem Tag verpackt, im li tag . (IM HTML-DOKUMENT)

Und will man die Links in eine Reihe bringen, muss man plötzlich den li tag im CSS-Dokument verwenden. Warum kann ich hier kein ul tag verwenden?

Kennt jemand einen einfachen Weg, sich herzuleiten, welchen Tag man in CSS-Dokument eingeben muss?

Ich könnte mir ja auch merken, wann man den Tag und den Tag in CSS schreibt. Aber ich will wissen warum.

Danke.

Antwort
von Sarkophator, 13

Das Ganze ist etwas kompliziert, das mag sein, aber man gewöhnt sich dran. Der Punkt um den es hier geht ist die Vererbung der Eigenschaften.

Das heißt, wenn du folgenden Code hast:

div { 
color: red;
border: 1px solid black;
}

...

<div>
Dieser Text wird rot dargestellt und der Container hat einen schwarzen Rahmen.
<p>Hier wird der Text auch rot dargestellt, allerdings ohnen einen Rahmen</p>
</div>

Die meisten font-Eigenschaften wie color etc. werden an alle Elemente weitervererbt, während Eigenschaften wie border oder auch das von dir angesprochene float nicht weiter vererbt werden, außer bei den Elementen wurde bei den entsprechenden Eigenschaften inherit als Wert gesetzt:

p { border: inherit; }

Wenn Kinderelemente bestimmte Werte neudefinieren, dann hat diese Änderung auch höhere Priorität über die zugehörigen Kinderelemente:

#div-parent { color: red; }
#div-child { color: blue; }

...

<div id="div-parent">
Rot.
<div id="div-child">
Blau.
<p>Auch blau.</p>
</div>
</div>

Und hier kommen wir nun zu list-style-type, denn du darfst einen bestimmten Faktor nicht vergessen: Dein Browser definiert für alle Elemente bereits das standardmäßige Aussehen.

Nehmen wir also das Beispiel oben und nehmen an dass der Browser standardmäßige für das ul-Element u.a. die Eigenschaft "list-style-type" auf "disc" setzt (denn genau das tut dein Browser), dann wird diese vom Browser festgelegte Eigenschaft an allen untergeordneten Elementen vererbt ohne die Einstellung des Elternelements weiter zu vererben. Aus dem Grunde musst du die ul-Elemente direkt ansprechen und kannst nicht einfach nur eines der Elternelemente dafür selektieren.

Mag jetzt zwar etwas ausführlicher sein als du es gewollt hattest, wollte es aber einigermaßen abrunden.

Das W3C liefert eine Liste mit allen CSS-Eigenschaften:

https://www.w3.org/Style/CSS/all-properties.en.html

(Gab früher mal in den Drafts eine "übersichtlichere" Liste in der du die Vererbbarkeit direkt für alle Eigenschaften sehen konntest, die gibts jetzt allerdings nur noch verteilt in den Drafts da CSS mit CSS3 nun modular entwickelt wird)

Wählst du dort eine bestimmte Eigenschaft aus, dann werden dir sämtliche Informationen dazu angezeigt, unter anderem auch die Vererbbarkeit. Allgemein ist das aber eigentlich eher die Ausnahme und bezieht sich meist auch mehr auf Eigenschaften zur Gestaltung von Texten.

Antwort
von tWeuster, 16

Viel wichtiger für dich wäre es erstmal die richtigen Namen zu lernen. Einen "Tag" gibt es nicht in CSS. Das bringt dich im CSS lernen zwar nicht weiter, aber dann schaffst du es deine Fragen besser zu formulieren und eventuell bessere Antworten zu bekommen.

Ansonsten sind die Sachen wie sie sind. Manche Dinge erschließen sich mir auch nicht. Aber was solls. Ich kann es nicht ändern. Falls du etwas ändern möchtest, kannst du deine Beschwerde gerne direkt ans W3C schicken.

Antwort
von Webcp, 21

Da kommt man ums "lernen" einfach nicht herum wenn du genau wissen willst wie und wann man einen Tag bzw. im stylesheet eingeben muss. Das "Herumprobieren" wird sonst sehr sehr sehr viel Zeit in Anspruch nehmen.

https://www.webcp.at

Kommentar von Iamanigga ,

Das Herumprobieren ist doch das Lernen

Antwort
von thomsue, 28

Einfach lernen! Es ist halt wie mit jeder Programmiersprache!

Kommentar von Iamanigga ,

Kennst bzw. Kanntest du das Problem auch?

Kommentar von thomsue ,

Ich arbeite damit und habe es gelernt

www.css4you.de

Antwort
von triopasi, 20

Der Punkt kommt von der UList (ul), deshalb musst du bei der ul den Punkt wegmachen. Ein Link selbst (a) hat den Aufzählungspunkt garnicht, da kannste den auch nicht wegmachen.

Keine passende Antwort gefunden?

Fragen Sie die Community