Ich habe den folgenden Code, der eine Liste der Repositorys eines Benutzers auf GitHub erhalten soll und sie mit Bootstrap-Grid-System anzuzeigen.
Die Absicht ist, 3 Repos pro Zeile anzuzeigen, aber ich kann nicht herausfinden, wie das Zeilen-Div nach jeweils 3 Repos zu schließen, aber derzeit werden alle von ihnen in einer Zeile platziert, die die Reihenfolge überläuft und verzerrt.
Der Code, den ich derzeit habe, ist im JSBIN-Link unten.
http://jsbin.com/macifezapi/edit?html,js,output
Vielen Dank im Voraus für jede HilfeWie mehrere Elemente mit Bootstrap-Grid-System und React Js anzuzeigen
Antwort
Twitters Bootstrap Grid-System viele Klassen, die Ihre Anforderungen wie ‚col-lg passen - ** col -md - ** col-sm - ** col-xs - ** '. Werfen Sie einen Blick auf diese:
http://getbootstrap.com/css/#grid
Um sicherzustellen, dass Elemente in identische Zeilen und Spalten stapeln, weisen eine Klasse mit einer festen Höhe auf alle Elemente:
http://jsbin.com/xipijo/edit?html,css,js
Bedenken Sie auch mit eine Vorlage, um Ihre GitHub Repositories zu machen html:
Das Problem besteht darin, dass das Gitter nach dem Hinzufügen der Bootstrap-Gitterklassen nicht korrekt gestapelt wird. Siehe die aktualisierte Bin unter http://jsbin.com/macifezapi/1/edit?html,js,output speziell die zweite Zeile der Vollbild-Version, um zu sehen, was ich meine – kevgathuku
Durch "richtig stapeln" meinst du, dass du würdest wie die Gitterelemente gleiche Höhen haben? Versuchen Sie, den Elementen in Ihrem Skript eine CSS-Klasse mit einem bestimmten Höhenattribut zuzuweisen. –
Was ich meine ist, dass es in der zweiten Reihe 3 Elemente geben sollte, aber es gibt nur 2 und in der dritten Reihe gibt es nur ein Element. Die Spalten haben nicht die gleiche Anzahl von Elementen – kevgathuku
einfach die Elemente in col-md-4
setzen. Das Boostrap-Gitter hat 12 Reihen. Wenn Sie also jedem Element eine Breite von 4/12 geben, erhalten Sie 3 Elemente pro Reihe.
JS bin: http://jsbin.com/macifezapi/1/edit?html,js,output
Je nachdem, welche Breite Sie wollen die Zeilen in ein mobiles Layout zu brechen (jede Spalte unter 100% Breite) Sie col-lg-4
, col-md-4
, col-sm-4
oder col-xs-4
verwenden können. Für weitere Informationen siehe Boostrap grid system. Es besteht keine Notwendigkeit, 3 Zeilen manuell zu berechnen und einen Zeilenwrapper um sie zu legen!
Update:
Becuase die Spalten haben unterschiedliche Höhen, verursacht das Gittersystem die verschiedenen columsn verschiedenen anounts von Elementen zu haben. Das sieht überhaupt nicht gut aus. Am einfachsten ist es, jedem Element eine Standardhöhe hinzuzufügen, damit das Rastersystem wieder korrekt funktioniert.
Eine andere Lösung, wenn nur moderne borwser unterstützt werden müssen, ist die neue Flexbox-Technik. Hier
ein Beispiel: http://jsbin.com/muzepubupu/edit?html,css,js,output
Eine gute Beschreibung, wie Flexbox Arbeiten finden Sie hier: https://css-tricks.com/snippets/css/a-guide-to-flexbox/
Ich habe aktualisiert JS Bin mit meinem eigenen Repo, um zu demonstrieren, wie das Gitter auch nach dem Hinzufügen der BootSrap-Gitterklassen nicht richtig gestapelt wird. Sehen Sie die aktualisierte Bin bei http://jsbin.com/macifezapi/1/edit?html,js,output speziell die Vollbild-Version – kevgathuku
Ich sehe, so Ihr Problem ist, dass es 2 Elemente in der ersten Spalte, 3 in der zweiten Spalte gibt und 4 in den 3 ... kannst du den Elementen eine feste Höhe geben.Gegenwärtig gibt es keine gute Lösung, die für Mobilgeräte funktioniert, Sie bleiben entweder bei einem Tisch oder Sie verwenden die html5 flexbox (abhängig davon, welche Browser Sie unterstützen müssen). Ich mache noch eine Demo mit flexbox – Stefan
Hinzufügen der festen Höhe zu jedem Element funktionierte gut für mich. Vielen Dank. – kevgathuku
- 1. Nightwatch js, wie man mehrere Elemente behauptet
- 2. Unendliche Scrolling mit React JS
- 3. Moment js mit React js (ES6)
- 4. Rechtsklick-Menü mit React JS
- 5. Erstellen <select> Elemente in React JS
- 6. Mehrere Parameter mit React Router
- 7. toggleClass React js
- 8. React Js require 'fs'
- 9. React JS: Reduzierbare Sidebar
- 10. in React JS
- 11. Wie ein Ladebild in eckigen js anzuzeigen
- 12. React-JS: HOC-Wrapper Zugriff
- 13. Test React JS Dropdown mit Selenium und Java
- 14. Wie die React JS-Komponente in React Native
- 15. Wie "Fenster" innerhalb der Website mit JS anzuzeigen?
- 16. Wie kann ich mehrere ReactActivity mit separatem js Bundle verwenden?
- 17. React js Navigator in Webanwendung implementiert
- 18. Get ausgewählten Optionstext mit react js?
- 19. CSS-Pseudo-Elemente in React
- 20. Wie gruppieren mehrere Elemente mit GroupBy()?
- 21. React Build mehrere Dateien
- 22. Wie man Diagramme mit react js Komponente integriert
- 23. Wie benutzt man Wetter-Icons mit React JS?
- 24. Wie mehrere Elemente mit jQuery auszuwählen
- 25. React JS d3 Charts ToolTip
- 26. Meteor's Accounts.onEmailVerificationLink mit React und React Router
- 27. React JS Select-Menü Standardwert
- 28. Wie bewegt man die zweite Komponente in react js?
- 29. React JS: Extract Inner HTML
- 30. Wie Daten zwischen zwei Formen (Komponenten) auf verschiedenen Seiten mit react js mit Meteor js übergeben?
Kannst du eine Demo mit jsbin schreiben? Wie [diese] (http://jsbin.com/vujixe/2/edit?html,js,output) – youngwind
@ ※ Aktualisiert mit der JS bin Link – kevgathuku