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

CSS-Eigenschaften, die vererbt werden?!

klasse10rc

Neues Mitglied
Hallo Leute,

ich habe gerade wieder mit CSS herum experimentiert. Dabei stoße ich immer wieder auf Vererbungsprobleme. Da manche Eigenschaften vererbt werden und andere nicht, sieht mein Layout manchmal unförmig aus.

Meine Frage:

Ich habe zwei <div>-Elemente

HTML:
<div id="Eins">
        <h4>Ueberschrift 1</h4>
        <div id="Zwei">
            <h4>Ueberschrift 2</h4>
        </div>
    </div>
und folgenden CSS Code:

HTML:
#Eins{
            width: 200px;
            height: 200px;
            background-color: green;
            border: 2px solid red;
            
            font-family: Arial;
            font-size: 18px;
        }
#Zwei{
            border: 2px solid black;
            
        }
font-family und font-size werden zum Beispiel ins <div id="Zwei"> vererbt. Die anderen Eigenschaften nicht.

Gibt es Buch oder eine Internetseite, auf der man übersichtlich entnehmen kann, welche Eigenschaften vererbt werden und welche nicht. Ich wäre auch bereit für eine gute CSS-Referenz Geld auszugeben. Aber ich habe bisher noch keine entdeckt, die besser als SelfHTML ist.

Kann mir jemand einen Tipp geben?
 
Eine direkte auflistung kenne ich nicht.
aber HIER steht es bei jedem attribut mit dabei.

meistens sagt einem das schon der gesunde menschenverstand.
zB ein attribut wie width vererbbar zu machen, würde nicht viel sinn ergeben. wenn du deinen äußeren wrapper in der breite limitierst, müsstest du bei allen nachfolgenden elementen die breite definieren! eine grauenhafte vorstellung.
eine standartschriftformatierung nur im äußersten parent definieren zu müssen, welche man bei bedarf in den childs abwandelt oder gänzlich ändert macht wiederum sehr wohl sinn ;)
 
Naja, man muss sich einfach nur anschauen, was du dort für Attribute hast.

Wie Space Vampire schon gesagt hat, eine Breite zu vererben macht nicht viel Sinn. Erklär es dir vielleicht so: width, height, background, border (und evtl. andere) haben einen direkten Einfluss auf das Element (mit der ID #eins). Font hingegen soll sich ja auf den Text innerhalb des Elements auswirken. Somit ist font-X vererbbar, da es keinen direkten Einfluss auf das Element an sich hat, sondern auf seinen Inhalt.

Zumindest fällt mir das gerade so auf. Ob man das wirklich so sagen kann weiß ich nicht. Wäre aber mal interessant zu wissen.
 
@Space Vimpire

Danke, sowas in der Richtung hab ich gesucht. Ich kenne die Seite zwar bereits aus der Google-Suche. Auf die Vererbung habe ich aber noch nicht geachtet.

Mein Beispiel ist schon ein bisschen zu trivial. Probleme habe ich damit eigentlich nicht. Eigenschaften wie Position,z-index, unicode-bidi, overflow, cursor, clip, visibility,list-style,text-transform, text-align und so weiter machen mir da schon eher Probleme. Aber auch nicht alle.

@Tar

Das wäre ein guter Merksatz: Eigenschaften die sich auf das Element beziehen werden nicht vererbt. Eigenschaften, die sich auf den Inhalt beziehen dagegen schon.

Hört sich gut an. Mal sehen ob das stimmt.

Falls noch jemand gute Quellen kennt. Immer her damit. Bin über jeden Tipp dankbar! :D
 
haut so nicht ganz hin Tar
spontan fällt mir da als gegenargument opacity ein ;)
wirkt sich auch auf zB die hintergründe aller nachfolgenden elemente aus
 
haut so nicht ganz hin Tar
spontan fällt mir da als gegenargument opacity ein ;)
wirkt sich auch auf zB die hintergründe aller nachfolgenden elemente aus

"Ausnahmen bestätigen die Regel" ;)

Nuja, ich war mir ja nicht sicher... Ich denke nichtsdesto trotz ist's ein "ganz guter" Merksatz.
 
Zurück
Oben