• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kod CSS dla układu responsywnego - zmiana wyglądu dla wersji mobilnej - Flexbox?

+1 głos
386 wizyt
pytanie zadane 3 września 2023 w HTML i CSS przez Bzytek Użytkownik (810 p.)

Witam,
Obrazek poniżej jest szkicem do mojej niedyspozycji. Pytam więc: jak może wyglądać kod .css, aby w wersji desktop układ był taki jak na lewym obrazku, a w wersji mobile lewy obrazek wyglądał tak, jak ten po prawej?
Obecne rozwiązanie jest na scss, ALE czy można to rozpisać np. za pomocą flexboksa. Całość zamknięta jest w jeszcze jednym div.

Podglądowy obrazekPozdrawiam

2 odpowiedzi

+1 głos
odpowiedź 4 września 2023 przez VBService Ekspert (256,580 p.)
wybrane 5 września 2023 przez Bzytek
 
Najlepsza

Obecne rozwiązanie jest na scss

AFAIK, scss i tak finalnie generuje kod css do przeglądarki, więc za pomocą DevTools w przeglądarce możesz sobie podejrzeć kod css.

 


Miałem nieodświeżoną zakładkę i nie zauważyłem Twojego komentarzaangel

 

.wrapper{display: flex; & > *{padding: 1em;}}
.ankieta{display: block;
@media (max-width: 480px){display:none;}
&_mobile{display:none;
@media (max-width:480px){display:block;}}

wygląda na to, że jest błąd w kodzie scss i zwracany jest kod css nie do końca prawidłowy (dokładnie pojawia się "nieprzetworzony" kod scss).

 

scss

.wrapper {
  display: flex;
  & > * {
    padding: 1em;
  }
}

css

.wrapper {
  display: flex;
}
.wrapper > * {
  padding: 1em;
}

 

scss

.ankieta{display: block;
  @media (max-width: 480px){display:none;}
  &_mobile{display:none;
    @media (max-width:480px){display:block;}
  }
}

css

.ankieta {
  display: block;
}
@media (max-width: 480px) {
  .ankieta {
    display: none;
  }
}
.ankieta_mobile {
  display: none;
}
@media (max-width: 480px) {
  .ankieta_mobile {
    display: block;
  }
}

 

komentarz 4 września 2023 przez Bzytek Użytkownik (810 p.)

Dzięki z poświęcony czas.

Gdybyś mógł oznaczyć jeszcze te rozwiązania które są prawidłowe było by super. Ze swojej strony skłaniał bym się do używania .css ZAMIAST .scss.

Pozdrawiam.

komentarz 4 września 2023 przez VBService Ekspert (256,580 p.)
.containe {
  margin-top: -30px;
  padding: 15px;
  text-align: center;
}
.right-div {
  display: inline-block;
  max-width: 280px;
  text-align: left;
  padding: 20px 5px;
  margin: 10px;
}
.left-div {
  display: inline-block;
  max-width: 300px;
  text-align: left;
  padding: 20px 5px;
  margin: 10px;
  vertical-align: top;
}
.right1-div {
  display: inline-block;
  max-width: 280px;
  text-align: left;
  padding: 20px 5px;
  margin: 10px;
}
.pol-in {
  float: right;
  height: 280px;
  margin-right: 15px;
  position: relative;
  width: 225px;
}
.ankieta { 
  float: right; 
  position: relative; 
  right: 15px;
  width: 240px;
}
.translat {
  margin-right: -120px;
}
.polls {
  line-height: 1.25;
  margin: 0 auto;
  padding: 0 15px 0 5px;
  text-align: center;
}
.wyr { 
  display: block;
}
.wrapper {
  display: flex;
}
.wrapper > * {
  padding: 1em;
}

.ankieta {
  display: block;
}
@media (max-width: 480px) {
  .ankieta {
    display: none;
  }
}
.ankieta_mobile {
  display: none;
}
@media (max-width: 480px) {
  .ankieta_mobile {
    display: block;
  }
}

@media screen and (max-width: 600px) {
  .containe {
    margin-top: -15px;
  }
  .right-div {
    max-width: 100%;
    padding: 5px;
  }
  .right1-div {
    max-width: 100%;
    padding: 5px;
  }
  .translat {
    margin-right: 0px;
  }
  .ankieta {
    height: 328px;
    margin: 5px 15px 5px;
    max-width: 100%;
  }
  .left-div {
    max-width: 100%;
    padding: 2px;
  }
  .pol-in {
    left: 5px;
    top: 10px;
  }
}

 

skłaniał bym się do używania .css ZAMIAST .scss

jeżeli to ma być kod jak powyżej, IMO scss nie wiele wnosi. Twój wybór.

1
komentarz 5 września 2023 przez Bzytek Użytkownik (810 p.)
Dzięki za naprowadzenie - wszystko śmiga tak jak chciałem. Odpowiedź twoją wypunktowałem.

Pozdrawiam
+1 głos
odpowiedź 3 września 2023 przez SzkolnyAdmin Szeryf (90,350 p.)

Da się. Zapewne oprócz diva-wrappera masz także bloki zawierające poszczególne elementy strony: 1 i 1a, 2 i 2a, itd. Dla tych bloków ustawiasz odpowiednio właściwość order, która odpowiada za kolejność wyświetlania.

https://css-tricks.com/snippets/css/a-guide-to-flexbox/#aa-order

1
komentarz 4 września 2023 przez Bzytek Użytkownik (810 p.)
edycja 4 września 2023 przez Bzytek

Dzięki za informację,

Dla uściślenia problemu wstawiam css jaki teraz mam

.containe{margin-top:-30px;padding:15px;text-align:center;}
.right-div{display:inline-block;max-width:280px;text-align:left;padding:20px 5px;margin:10px;}
.left-div{display:inline-block;max-width:300px;text-align:left;padding:20px 5px;margin:10px;vertical-align:top;}
.right1-div{display:inline-block;max-width:280px;text-align:left;padding:20px 5px;margin:10px;}
.pol-in{float:right;height:280px;margin-right:15px;position:relative;width:225px;}
.ankieta{float:right;position:relative;right:15px;width:240px;}
.translat{margin-right:-120px;}
.polls{line-height:1.25;margin:0 auto;padding: 0 15px 0 5px;text-align:center;}
.wyr {display:block;}
.wrapper{display: flex; & > *{padding: 1em;}}
.ankieta{display: block;
@media (max-width: 480px){display:none;}
&_mobile{display:none;
@media (max-width:480px){display:block;}}
@media screen and (max-width: 600px){.containe{margin-top:-15px;}
.right-div{max-width:100%;padding:5px;} .right1-div{max-width:100%;padding:5px;}.translat{margin-right:0px;}
.ankieta{height:328px;margin:5px 15px 5px;max-width:100%;}
.left-div{max-width:100%;padding:2px;} .pol-in{left:5px;top:10px;}}

i doswink-tosowany obrazek. Na obrazku : LD= left-div , RD=right-div, ankieta - to miejsce wstawienia sondy. Walidator css zatrzymuje się na 10 /13 wierszu, i dalej zgłasza błąd.

Podobne pytania

0 głosów
1 odpowiedź 387 wizyt
pytanie zadane 2 września 2017 w HTML i CSS przez beginner93 Nowicjusz (220 p.)
0 głosów
1 odpowiedź 279 wizyt
pytanie zadane 23 października 2016 w JavaScript przez bugs55 Obywatel (1,090 p.)
0 głosów
1 odpowiedź 659 wizyt
pytanie zadane 4 kwietnia 2019 w HTML i CSS przez Hardwell Dyskutant (9,060 p.)

93,740 zapytań

142,675 odpowiedzi

323,294 komentarzy

63,319 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...