Hallo!
wenn ich die CSS-Angaben nur für den einen Fall gelten lassen möchte,
ist dann folgendes korrekt (funktioneren tut es, aber ist es auch optimal)?
Das ist eine (typische) Frage im Webdesign, die sich normalerweise wenn überhaupt nur dann beantworten lässt, wenn man den kompletten HTML Code der gesamten Website kennt.
Und selbst dann gibt es mindestens ein halbes Dutzend Varianten.
Manch einer mag dann vielleicht auch noch die "Performance" mit in Erwägung ziehen, oder die "Robustheit" bei möglichen Änderungen am HTML Code, oder oder ...!
Grundsätzlich gilt imho die Regel:
Für Elemente, die definitiv nur einmal auf einer Seite vorkommen => ID
Für Elemente, die ein oder mehrmals auf einer Seite vorkommen => Class
.wrapper {
text-align: center;
}
.wrapper > a {
display: inline-block;
width: auto;
margin: 0;
padding: 0;
background-color: grey;
}
.wrapper > a > figure {
display: table;
margin: 0;
border: 1px dotted red;
}
.wrapper > a > figure > img,
.wrapper > a > figure > figcaption {
display: table-cell;
padding: 10px;
vertical-align: middle;
}
> ... also überall Ergänzung um «.wrapper > a» bzw. «.wrapper > a >»
Hier hast du im Prinzip zwei separate "Dinge". Zum einen den "Wrapper", der ggf. öfter Verwendung findet, und zum anderen die "spezielle" Konstellation mit dem Link (, die ggf. auch öfter vorkommen kann) und dem Figure-Element samt Caption.
Ohne jetzt deine Site in allen Einzelheiten zu kennen, würde ich dem Link-Element also z.B. eine ID oder Klasse verpassen. Dann kannst du dir im CSS das ".wrapper" sparen und beschränkst es auf das/ die entsprechende(n) Link-Elemente.
Gruß Gunther