Ich möchte ein Inline-Element rechts von einem div ausrichten. Ich habe gesehen, dass float="right" auf eine Spanne angewendet wurde, um es auszurichten, aber es scheint mir semantisch inkorrekt zu sein, da Floats "Boxen" oder Blockelemente nach rechts oder links eines Containerelements verschieben sollen.
Ist mein Verständnis von Float falsch oder gibt es eine andere Möglichkeit, Inline-Elemente in einem Container-DIV richtig auszurichten.
Wenn Sie ein Element schweben lassen, wird es automatisch zu einer Box. (Siehe: Ссылка ) Es ist jedoch nichts semantisch falsch daran. Semantik diktiert nicht, was als Block angezeigt werden soll und was inline angezeigt werden soll - das ist ein Grund, warum wir das beliebig erklären können. (Es wird sicherlich chaotisch , wenn du anfängst, Wörter aus ihrer Reihenfolge zu nehmen - aber ich bezweifle, dass du das hier redest, da ich mir keinen Fall vorstellen kann, wenn du es tun willst das und lassen es inline bleiben.)
Darüber hinaus, wenn Sie ein wenig Inline-Text unabhängig vom Fluss des normalen Textes ausrichten müssen (was ein Float ist), wollen Sie es trotzdem als Block darstellen. Wenn es wirklich ein Inline-Element ist, benötigen Sie nur text-align:right
- alles, was Sie für einen Float oder eine Position benötigen, wird bereits als Block-Element behandelt. Es ist also nicht falsch, es als solches zu deklarieren.
float: right
ist vollkommen in Ordnung, auf alle Elemente angewendet, Block-Level oder Inline ist egal, entweder semantisch oder entsprechend der Spezifikation (soweit ich weiß).
Wenn Sie etwas rechts ausrichten möchten, ohne float
zu verwenden, gibt es die Möglichkeit margin-right: 90%;
(vorausgesetzt, Sie wissen, dass das, was rechts ausgerichtet ist, in die anderen 10% passt.
Oder direction: rtl;
, aber das funktioniert nie so, wie ich denke, es sollte es komplizieren.
position: absolute; right: 0;
würde tun, was Sie brauchen (aber es würde aus dem Dokumentfluss entfernt werden und es würde gegen das erste seiner Elternelemente positioniert werden, das eine definierte position: relative;
(oder mindestens position
definiert hat) ).
Sie könnten möglicherweise text-align: right
verwenden, aber das scheint eine so einfache Lösung zu sein, dass Sie es sicher schon ausprobiert haben.
Wenn Sie einen Anwendungsfall, Code und eine Angabe Ihres erwarteten Endergebnisses bereitstellen könnten, könnten wir Ihnen vielleicht mehr helfen.