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

Automatyczne dopasowanie wysokości kilku div'ów

Object Storage Arubacloud
+4 głosów
6,805 wizyt
pytanie zadane 7 kwietnia 2015 w HTML i CSS przez 0liver Obywatel (1,070 p.)
edycja 7 kwietnia 2015 przez 0liver

Witam

Mam przykładowo taki kod:

<div id="container">
	<div id="sidebar"></div>
	<div id="content"></div>	
</div>

 

"sidebar" i "content" są ustawione obok siebie. Chciałbym aby ich wysokość była zawsze równa wysokości najdłuższego elementu. Czyli np. gdy do "content" dodam jakąś zawartość, która zwiększy jego długość, to długość "sidebar" dopasowuje się automatycznie do "content".

8 odpowiedzi

+1 głos
odpowiedź 7 kwietnia 2015 przez krecik1334 Maniak (58,390 p.)
wybrane 7 kwietnia 2015 przez 0liver
 
Najlepsza

Można to zrobić w CSS. Dodaj do stylów tych divów które będą obok siebie takie linijki ( w CSS )

overflow:hidden;
padding-bottom: 20000px;
margin-bottom: -20000px;

Daj tez do diva #container linię: overflow:hidden; podobnie jak do divów leżących obok siebie.

Niestety będziesz miał chyba problemy ze stopką, u mnie na stronie to wygląda tak: http://niekrytykretek.cba.pl/

 

 

komentarz 7 kwietnia 2015 przez 0liver Obywatel (1,070 p.)
Wypróbowałem ten sposób i wszystko działa tak jak powinno. Nie ma nawet problemu ze stopką. Pozdrawiam :)
+2 głosów
odpowiedź 7 kwietnia 2015 przez Harsay Pasjonat (23,640 p.)

Musisz w CSS ustawić, że dane divy działają na zasadzie tabeli. W takim wypadku "komórki tabeli" będą wyrównane jeżeli chodzi o wysokość.

#container {
    display: table;
}

#sidebar {
    display: table-cell;
    width: 100px;
    background: blue;
}

#content{
    display: table-cell;
    width: 860px;
    background: red;
}

 

komentarz 7 kwietnia 2015 przez testerius Pasjonat (23,960 p.)
Heh, kolega mnie ubiegł. :P
komentarz 7 kwietnia 2015 przez Czort Nałogowiec (32,500 p.)
Witam.

W jaki sposób podkreślasz składnie css?
+1 głos
odpowiedź 7 kwietnia 2015 przez testerius Pasjonat (23,960 p.)

Zrobiłem coś w takim stylu, demo w sumie to dzięki twojemu pytaniu dowiedziałem się czegoś nowego. :D A więc tak ustawiasz w #container display: table; (tabela) a #sidebar oraz #content na display: table-cell; (komórka tabeli). Dzięki temu niezależnie od zawartości, długość zawsze powinna być równa.

 

0 głosów
odpowiedź 7 kwietnia 2015 przez Artix Bywalec (2,110 p.)
edycja 7 kwietnia 2015 przez Artix
Jeżeli mają być równe to należy nadać pewną szerokość na container powiedzmy 1200 px a w sidebar i content ustawic width na 50% jeżeli dobrze zrozumiałem.A jeżeli chcesz zrobić bez okreslania z góry szerokości to muszisz to zrobić przez Javascript :)

Edit

Kurde cały czas myślałem, że chodzi o szerokość a nie o wysokość >.<
komentarz 7 kwietnia 2015 przez krecik1334 Maniak (58,390 p.)
Nie koniecznie, jest pewien sposób w CSS.
0 głosów
odpowiedź 7 kwietnia 2015 przez niezalogowany
Robilem cos takeigo kiedys tylko JS musisz sprawdzic wysokosc obiektu i ustawiasz go dynamicznie przez CSS
0 głosów
odpowiedź 7 kwietnia 2015 przez M4tthew Gaduła (4,480 p.)
Możesz ustawić container na jakąś określoną szerokość a sidebar i content dać w % wtedy będą się dopasowywały
0 głosów
odpowiedź 7 kwietnia 2015 przez mgpl Obywatel (1,430 p.)

#container { display: flex; justify-content: stretch;  flex-direction: row; }

#sidebar, #content {  }

Jak używać flexbox: https://css-tricks.com/snippets/css/a-guide-to-flexbox/

 

 

 

0 głosów
odpowiedź 7 kwietnia 2015 przez Czort Nałogowiec (32,500 p.)
edycja 7 kwietnia 2015 przez Czort

Witam.

Ja bym spróbował w css następująco:
 

<div id="container" style="display:table">

    <div id="sidebar" style="display:table-cell;"></div>

    <div id="content" style="display:table-cell;"></div>   

</div>



Ewentualnie można zrobić "trick" z tłem, np.

 

<div id="container" style="background-color:red;">

    <div id="sidebar"></div>

    <div id="content" style="background-color:blue;"></div>   

</div>

 

Podobne pytania

0 głosów
1 odpowiedź 225 wizyt
+2 głosów
4 odpowiedzi 14,515 wizyt
pytanie zadane 28 lipca 2015 w HTML i CSS przez ewelina.r Nowicjusz (210 p.)
0 głosów
1 odpowiedź 100 wizyt

92,620 zapytań

141,474 odpowiedzi

319,815 komentarzy

62,004 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!

...