Lista określonych kontenerów w rzędzie

0

Hej, chciałbym zrobić coś takiego jak na załączonym obrazku - z backendu przesyłam posortowane dane, ktore chce umiescic w takich maksymalnie 3 kontenerach w rzędzie, każdy kontener to obrazek + niewielki opis. Pisze front w reactjs, jest może jakis komponent do tego? Znalazłem niby to: https://mui.com/material-ui/react-grid2/ ale jesli dobrze rozumiem przyklady to nie da sie zrobic takiego dynamicznego grida, tylko trzeba wczesniej go zdefiniować. Czy czeka mnie niestety porządna nauka html + css? xD Zrzut ekranu 2023-01-18 o 22.11.14.png

0

Flexbox oraz szerokość jednego obrazka na 33% szerokości.

Plus, to o czym mówisz będzie wyglądać dobrze tylko na dużej rozdzielczości, na małej dobrze byłoby zrobić dwa w rzędzie albo w ogóle jeden.

0

Dzieki ;) A jak taka responsywnosc osiagnac? Podrzucisz jakies slowa kluczowe, ktore sobie poszukac? :D

1
Skoq napisał(a):

Dzieki ;) A jak taka responsywnosc osiagnac? Podrzucisz jakies slowa kluczowe, ktore sobie poszukac? :D

Jeśli to byłaby biblioteka jak tailwind, to wyglądałoby to jakoś tak:

<div class="flex">
  <img class="w-full sm:w-1/2 md:w-1/3"/>
  <img class="w-full sm:w-1/2 md:w-1/3"/>
  <img class="w-full sm:w-1/2 md:w-1/3"/>
  <img class="w-full sm:w-1/2 md:w-1/3"/>
  <img class="w-full sm:w-1/2 md:w-1/3"/>
</div>

W Bootstrapie pewnie też się jakoś da.

Jeśli nie, to musiałbyś napisać media query, coś w stylu:

<style>
div.images img {
  width: 100%;
}

@media screen and (min-width: 900px) {
  div.images img {
    width: 50%;
  }
}

@media screen and (min-width: 1300px) {
  div.images img {
    width: 33%;
  }
}
</style>

<div class="images">
  <img />
  <img />
  <img />
  <img />
</div>

Zauważ podejście mobile-first, czyli domyślna szerokość to jest width: 100% - pod telefony, i potem dodatkowe query które zmieniają szerokość pod większe rozdzielczości.

0

dzieki, przyjrzę się temu ;)

0

Z tego co mi się wydaję, to nie musisz kombinować z 33%,
Po prostu robisz flexowy kontener, wrzucasz tam 3 divy (z ta sama cssowa klasa), ustawiasz odpowiedni flex-direction, dodajesz gap i masz.
Potem stylujesz sobie odpowiednio tę klasę

1
Productionserver napisał(a):

Z tego co mi się wydaję, to nie musisz kombinować z 33%,
Po prostu robisz flexowy kontener, wrzucasz tam 3 divy (z ta sama cssowa klasa), ustawiasz odpowiedni flex-direction, dodajesz gap i masz.
Potem stylujesz sobie odpowiednio tę klasę

A wrap?

Widać że gość chce mieć więcej niż jeden rząd tych obrazków?

@Skoq: no chyba że chcesz faktycznie mieć jeden rząd, to nie musisz. Ale tak czy tak, musisz jakoś obsłużyć jak pokazać obrazki na mobilce, w ten czy inny sposób.

0
Riddle napisał(a):
Productionserver napisał(a):

Z tego co mi się wydaję, to nie musisz kombinować z 33%,
Po prostu robisz flexowy kontener, wrzucasz tam 3 divy (z ta sama cssowa klasa), ustawiasz odpowiedni flex-direction, dodajesz gap i masz.
Potem stylujesz sobie odpowiednio tę klasę

A wrap?

Widać że gość chce mieć więcej niż jeden rząd tych obrazków?

@Skoq: no chyba że chcesz faktycznie mieć jeden rząd, to nie musisz. Ale tak czy tak, musisz jakoś obsłużyć jak pokazać obrazki na mobilce, w ten czy inny sposób.

Chcę mieć zdecydowanie więcej niż jeden rząd ;) 3 to maks w jednym rzedzie gdy mamy sporą rozdzielczość

1 użytkowników online, w tym zalogowanych: 0, gości: 1