Ich möchte mithilfe der display-Eigenschaft festlegen, dass ein span-Element unter einem anderen Element angezeigt wird. Ich habe versucht, Inline-Block anzuwenden, aber ohne Erfolg, und dachte, ich könnte Block verwenden, wenn ich es irgendwie schaffen würde, dem Element keine Breite von 100% zu geben (ich möchte nicht, dass sich das Element "ausdehnt"). Kann dies getan werden oder wenn nicht, was ist eine gute Praxis, um diese Art von Problem zu lösen?
Beispiel: Eine Nachrichtenliste, in der ich am Ende jedes Beitrags einen Link "Mehr lesen" setzen möchte (Hinweis: <a>
statt <span>
)
<li>
<span class="date">11/15/2012</span>
<span class="title">Lorem ipsum dolor</span>
<a class="read-more">Read more</a>
</li>
Update: Gelöst. In CSS anwenden
li {
clear: both;
}
li a {
display: block;
float: left;
clear: both;
}
Antworten:
Wenn ich Ihre Frage richtig verstehe, schwebt das folgende CSS Ihr a unter den Bereichen und verhindert, dass es eine Breite von 100% hat:
quelle
Verwenden Sie
display: table
.Diese Antwort muss aus mindestens 30 Zeichen bestehen. Ich habe 20 eingegeben, also hier noch ein paar.
quelle
margin: 0 auto;
wenn Sie es zentriert brauchen.display: table;
funktioniert, akzeptiert aber keine Polsterung.Sie können verwenden:
width: max-content;
Hinweis: Die Unterstützung ist begrenzt. Hier finden Sie eine vollständige Aufschlüsselung der unterstützenden Browser
quelle
inline-block
et al haben mein Layout gebrochen.Ich würde jede Zeile für sich behalten, also ...
Und dann zum CSS:
Es ist schwierig, eine Lösung zu finden, ohne Ihren Originalcode zu sehen.
quelle
Nochmals: Eine Antwort, die vielleicht etwas zu spät ist (aber für diejenigen, die diese Seite sowieso für die Antwort finden).
Anstelle von
display:block;
Gebrauchdisplay:inline-block;
quelle
Versuche dies:
quelle
Ich hatte dieses Problem, ich habe es so gelöst:
Der "Leerraum: Nowrap" stellt sicher, dass die Kinder des Kindes (falls vorhanden) nicht in eine neue Zeile umbrechen, wenn nicht genügend Platz vorhanden ist.
ohne "Leerraum: Nowrap":
mit "white-space: nowrap":
edit: es scheint, dass es auch nur ohne den untergeordneten Blockteil für mich funktioniert, also scheint nur dies gut zu funktionieren.
quelle
Können Sie nicht einfach die Spanne als
display: block
und einewidth
für das enthaltendeli
Element festlegen ?quelle
Sie können Folgendes verwenden:
Funktioniert gut bei Links und anderen Elementen.
quelle