CSS - Eltern-element überschreibt Kind-Elemente-Eigenschaften
Das problem ist sehr einfach:
<div id="main-content">
<ul>
<li>
<div class="post-row">
<div class="post-footer">
This is the Footer
<div class="footer-buttons">
<ul>
<li>Edit</li>
<li>Reply</li>
</ul>
</div>
</div>
</div>
</li>
</ul>
</div>
- Und jetzt main content:
#main-content ul {
margin:0;
padding:0;
}
#main-content ul li {
display:block;
list-style:none;
}
Last Fußzeile-Tasten:
.footer-buttons {
float:right;
}
.footer-buttons ul {
margin:0;
padding:0;
}
.footer-buttons ul li {
display: inline;
}
Das problem ist, dass die Liste in .footer-buttons
erscheint als block. Und in der Tat, wenn ich überprüft DOM die display: inline
ist overrided durch die #main-content
.
Was weiß ich understrand dies sollte nicht passieren. Oder bin ich falsch-und id-Elemente haben immer Vorrang Kind-Klassen?
InformationsquelleAutor | 2011-07-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie 2 Selektoren:
#main-content ul li
und.footer-buttons ul li
. Erste von Ihnen verwendet-id und die zweite Klasse verwendet, deshalb wird die erste verwendet als mehr beschreibend. Verwendung:InformationsquelleAutor Marek Musielak
Ich denke, IDs Vorrang vor Klassen, aber dieser Beitrag möglicherweise mehr info
CSS-Klasse-Prioritäten
konnte man immer hinzufügen !wichtig auf der .Fußzeile die Schaltflächen ul-und ul-li Erklärungen oder fügen Sie die id vor th3e .Fußzeile-Tasten-Klasse
z.B.
!important
wo gibt es eine option zur Erhöhung Ihrer Regel Spezifität statt.InformationsquelleAutor TommyBs
Ja, Selektoren mit IDs haben immer Vorrang-Selektoren nur mit Klassen. Dies ist aufgrund der "Spezifität"; Sie können einen guten überblick hier.
Lösungen hier würde gehören das hinzufügen von
#main-content
zu Ihrem footer-Selektoren, oder erklärt den Stil alsdisplay: inline !important;
.InformationsquelleAutor Chowlett
Ich vielleicht missverstehen Ihre Frage, aber wenn Sie wollen, die aktuelle Liste zu inline, sollte dies funktionieren:
Was Ihr code tut, ist die Liste Elemente angezeigt werden als inline.
InformationsquelleAutor Petter
Dies ist korrekt Verhalten, denn eine id ist als spezieller als eine Klasse, und so mit Ihnen in einem ähnlichen Szenario wird immer die id der Regel Priorität.
Der beste Weg, dies zu beheben, ist durch die Festlegung spezifischer Regeln. Dies muss nicht bedeuten, targeting-alles Klasse, obwohl, können Sie bauen Ihre Regeln aus der konkreten ids, wie ist TommyB Antwort.
!important
sollte jedoch vermieden werden: Was sind die Auswirkungen der Verwendung von "!wichtig" in CSS?InformationsquelleAutor shanethehat