• 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?

Object Storage Arubacloud
+1 głos
182 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 (253,420 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 (253,420 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 (86,400 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ź 179 wizyt
pytanie zadane 2 września 2017 w HTML i CSS przez beginner93 Nowicjusz (220 p.)
0 głosów
1 odpowiedź 139 wizyt
pytanie zadane 23 października 2016 w JavaScript przez bugs55 Obywatel (1,090 p.)
0 głosów
1 odpowiedź 538 wizyt
pytanie zadane 4 kwietnia 2019 w HTML i CSS przez Hardwell Dyskutant (8,980 p.)

92,584 zapytań

141,433 odpowiedzi

319,668 komentarzy

61,966 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...