Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][HTML]problem z listami UL w divie display flex
Forum PHP.pl > Forum > Przedszkole
Krismen
Chcę aby div wrapper miał trzy kolumny a jego maksymalna wysokość to 800px. Jeśli zawartość się nie mieści to wtedy pojawi się pionowy suwak. Wykorzystuje do tego display flex. W każdej liście UL występuje różna ilośc LI. Co muszę zrobić aby listy UL układała się jedna pod drugą bez dziur. Taki mam kod:

  1. <style type="text/css">
  2.  
  3. ul{
  4. list-style-type: none;
  5. padding:0;
  6. margin:0;
  7. }
  8.  
  9. #wrapper{
  10. display:flex;
  11. flex-direction:row;
  12. flex-wrap:wrap;
  13. border:1px solid silver;
  14. max-height: 800px;
  15. overflow-y: scroll;
  16. max-width: 1200px;
  17. justify-content: flex-start;
  18. align-items: flex-start;
  19. }
  20.  
  21. #wrapper>ul{
  22. margin-bottom:10px;
  23. flex-grow:0;
  24. flex-basis:33%;
  25. }
  26.  


  1.  
  2. <div id="wrapper">
  3.  
  4. <?php
  5. foreach(array_keys($testowa) as $nazwy1){
  6. echo "<ul>";
  7. echo "<li><b>".$nazwy1."</b>";
  8. echo "<ul class='ul2'>";
  9. foreach(array_keys($testowa[$nazwy1]) as $nazwy2){
  10. echo "<li>".$nazwy2."</li>";
  11. }
  12. echo "</ul>";
  13. echo "</li>";
  14. echo "</ul>";
  15. }
  16. ?>
  17.  
  18. </div>


I wygląda to tak



Próbowałem też z flex-direction:column i wtedy mam coś takiego



UL układają się jedna pod drugą tak jak chcę ale nie mam kontroli na liczbą kolumn. Jeśli tych kategorii będzie dużo tworzą mi się kolejne kolumny i pojawia się poziomy suwak.. Próbowałem też użyć display grid ale też mi to nie wychodzi.

Czyli przy flex-direction:row mogę zadeklarować ilość kolumn (flex-basis:33%) ale robią się dziury między UL, z kolei przy flex-direction:column UL układają się jedna pod drugą ale nie mogę ograniczyć liczby kolumn. Ktoś podpowie jak to zrobić?
trueblue
Nie jest to możliwe w układzie flex. Szukaj po haśle "CSS masonry".

Osobiście uważam, że w układzie flex + flex-column, layout jest czytelniejszy niż to co chcesz osiągnąć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.