Warum Reagieren Nativen nicht rechtfertigen,-selbst
Will ich richten Sie ein Element in der primären Achse. Zum Beispiel, ich möchte eine Zeile mit ein paar Kinder, die alle Links ausgerichtet, und dann ein Kind ausgerichtet auf der rechten Seite.
Sie erreichen konnte, dass der Effekt mit so etwas wie "position: absolute; right: 0", aber ich Frage mich, ob theres eine bessere Möglichkeit. Wie es scheint, soll es eine justifySelf
Eigenschaft, die sich nur auf ein Kind und auf Ihre Ausrichtung auf die primäre Achse, in der gleichen Weise die alignSelf
wirkt sich auf ein Kind die Ausrichtung auf die sekundäre Achse.
Doch keine solche justifySelf
zu existieren scheint. Warum ist das so?
Es ist wie mit dieser Frage aber nicht ganz: Wie kann man float: right in, Reagieren die Einheimischen?
- Überprüfen Sie dies: Layout mit Flexbox. Könnte es etwas gibt, was könnte Ihnen helfen.
- Wenn Ihre Frage beantwortet wurde, bitte akzeptieren Sie die Antwort, für weitere Referenzen.
- Vielen Dank, aber ich habe gelesen, dass die docs. Es ist nicht so beantwortet, dass die Seite glaube ich. Ich geklärt meine Frage
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weiß ich nicht Reagieren Native, aber ich weiß flexbox!
Verwenden Sie den folgenden code als Leitfaden:
Den Rand gesetzt auf das Letzte Kind schieben alle anderen Kinder auf der linken Seite so weit wie Ihre Stile zu ermöglichen, wird, und drücken Sie sich so weit rechts wie jede andere Stile ermöglichen.
Sie können das ausprobieren, indem auch hinzufügen
margin-right: auto;
dem letzten Kind, und Sie werden sehen, das Letzte Kind zentriert perfekt in den restlichen Raum des parent-div, nachdem die ersten drei Kinder nehmen Ihren vorgesehenen Platz. Dies ist, weil die konkurrierende "margin-autos" werden beide zu gleichen teilen was auch immer Raum bleibt, da Sie sich nicht gegenseitig aufheben und nicht überschreiben sich gegenseitig.Flex-box wurde entwickelt, um Griff-Marge Abstand, so nutzen Sie es, sowie die anderen einzigartigen Wort-und ZEICHENABSTÄNDE unter der
justify-content
Eigenschaft.Artikel hilfreich: https://hackernoon.com/flexbox-s-best-kept-secret-bd3d892826b6
Ich glaube, dass Sie etwas erreichen wollen, wie diese:
Können Sie implementieren dies durch die Verschachtelung von Ansichten, die die gleiche
justifyContent
Eigenschaft.Einer teilweisen Antwort: es gibt keine
justifySelf
im Reagieren Native, weil es keinejustify-self
für flexbox in echtes CSS. Es ist einerechtfertigen-self
CSS-Eigenschaft, aber es tut nichts in flexbox-layouts. Sie sehen in der spec auf https://drafts.csswg.org/css-align-3/#overview, dassjustify-self
definiert ist, gilt:welche insbesondere beinhaltet nicht die "flex-items".
Okay, aber warum ist dies der Fall in CSS? MDN bietet eine Erklärung, dass Sie möglicherweise oder möglicherweise nicht finden zufriedenstellend:
Gibt es ganz klar einen Sinn, um diese. Es ist immer sinnvoll und zusammenhängend zu setzen
alignSelf: 'center'
auf einem flex-Element, um zu bitten, für Sie die mittig auf der Querachse. Aber was würde es bedeuten, zum Beispiel, setzenjustifySelf: 'center'
auf einem flex-Element, zu Fragen, für Sie zu sein, zentriert auf der Achse? Wie soll das denn gehandhabt werden, wenn der Vorherige flex-Elemente bereits ausgefüllt haben mehr als die Hälfte des Raumes entlang dieser Achse?Margen bieten eine feine Lösung für Fälle wie deiner.
justifySelf
auf der anderen Seite, kann nicht vernünftig existieren für flexbox, weil diejustifyContent
Werte angeben, wie verteilen flex-Elemente, und ein wenig darüber nachgedacht, was es bedeuten würde, stattdessen wendet Sie auf die einzeln aufgeführten Artikel zeigt, dass dies grundsätzlich inkohärent.Können Sie einen Blick auf Flex-Docs!
dann:
So Ihre gewünschte code:
UPDATE
Wenn du meinst so etwas wie in diesem Bild:
Dann werde ich empfehlen Sie diese:
Gibt es eine einfache Möglichkeit, dies zu tun, ohne absolute Positionierung, das funktioniert genau, wie Sie erwarten würden, mit allen Elementen in unterschiedlichen Höhen Schlange auf der y-Achse entsprechend.