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

Ustawienie divów obok siebie

Object Storage Arubacloud
0 głosów
455 wizyt
pytanie zadane 16 sierpnia 2017 w HTML i CSS przez Lynxie Nowicjusz (160 p.)

Cześć! Od wczoraj męczę się z jednym kodem i nie mam pojęcia jak ustawić w odpowiedniej kolejności divy.

Chodzi o to, żeby dwa pierwsze stały obok siebie, a pod nimi dwa pozostałe, tworząc tak jakby 'kwadrat'. Ma to wyglądać mniej-więcej tak: http://i.imgur.com/vpPPNon.png

Próbowałam już wielu kodów z internetu i z tego forum, ale za każdym razem, gdy już uda mi się idealnie ułożyć jedną linię, to z kolei ta druga się rozjeżdża (i na odwrót).

Dopiero się uczę, więc proszę o wyrozumiałość :)

<div class="box2">
    <div class="avatar">
      <img src="http://i.imgur.com/BQmlB9R.png">
    </div>
    <div class="icons">
  <div class="addfr">
   <a href="#" target="_blank" class="iconslink"><img src="http://i.imgur.com/go6ikBV.png"></a>
   </div>
   <div class="smsg">
   <a href="#" target="_blank" class="iconslink"><img src="http://i.imgur.com/N5JF3sh.png"></a>
   </div>
   <div class="sgift">
  <a href="#" target="_blank" class="iconslink"><img src="http://i.imgur.com/C1mOvBU.png"></a>
   </div>
   <div class="buser">
  <a href="#" target="_blank" class="iconslink"><img src="http://i.imgur.com/k6SG0Q3.png"></a>
   </div>
    </div>
  </div>
.avatar {
  margin: 0px 0px -10px 60px;
  float: left;
}

.addfr {
  margin: 145px 0px 15px 30px;
  float: left;
  white-space: nowrap;
}

.smsg {
  margin: 145px 0px 15px 14px;
  display: inline-block;
  white-space: normal;
}

.sgift {
  white-space: nowrap;
}
.buser {
  display: inline-block;
  white-space: normal;
}

 

komentarz 16 sierpnia 2017 przez mitelak Pasjonat (23,330 p.)
edycja 16 sierpnia 2017 przez mitelak

Jeżeli znasz szerokość tych ikon to wystarczy do rodzica dodać szerokość odpowiadającą dwóm ikonom, czyli załóżmy taką strukturę w htmlu:

div.icons
    a.ico
    a.ico
    a.ico
    a.ico

Teraz wiemy, że nasza ikona ma 50px i jej margin to 5px z każdej strony w css wystarczy, że dodamy do klasy .icons - width: 120px a do .ico na przykład display: inline-block. 

Dzięki inline-block nasze ikonki będą wyświetlane obok siebie (a nie pod sobą) natomiast ograniczenie rodzicowi szerokości sprawi, że ikony które się nie zmieściły "zejdą" niżej. 120px wynika natomiast z tego że chcemy dwie ikonki, które mają 50px szerokości, czyli 100px, ale mają też marginesy 5px (lewy + prawy = 10px) czyli mamy razem 120px

Oprócz tego sposobu, który tu opisałem jest dużo innych rozwiązań tego problemu i wszystko zależy od strony i tego jak ją budujesz 

edit // 
z racji tego, że przeglądarki dodają domyślnie przy inline-block odstępy trzeba zwiększyć to 120px o 4px, albo zastąpić inline-block przez float:left tylko wtedy trzeba pamiętać o stosownym clearfixie

 

komentarz 16 sierpnia 2017 przez Lynxie Nowicjusz (160 p.)
Dzięki za pomoc! Udało mi się to naprawić i w przyszłości będę wiedziała jak się za to zabrać ^^

1 odpowiedź

0 głosów
odpowiedź 16 sierpnia 2017 przez imklau Nałogowiec (42,090 p.)

Próbowałam już wielu kodów z internetu i z tego forum

A próbowałaś może zrozumieć? Bo po kopiowaniu bez zrozumienia właśnie takie problemy wychodzą smiley
Dlaczego do .addfr akurat dodałaś float: left ?
Zelent tłumaczy takie podstawy w jednym z filmików - Kurs HTML odc. 2
Możesz też poczytać, czym jest flexbox i za jego pomocą zbudować takie coś.

ps. miałam chęć podać Ci gotowy kod, ale stwierdziłam, że lepiej jak sama trochę pokombinujesz devil

Podobne pytania

0 głosów
1 odpowiedź 292 wizyt
0 głosów
1 odpowiedź 156 wizyt
0 głosów
2 odpowiedzi 160 wizyt
pytanie zadane 12 stycznia 2016 w HTML i CSS przez Kuba Bielawski Obywatel (1,760 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 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!

...