Mam strukturę strony podobną do tej:
<body>
<div id="parent">
<div id="childRightCol">
/*Content*/
</div>
<div id="childLeftCol">
/*Content*/
</div>
</div>
</body>
Ja jak dla związku macierzystego div
rozwijać się w height
kiedy wewnętrzna div
„S height
wzrasta.
Edycja:
Jednym z problemów jest to, że jeśli width
zawartość potomna rozszerza się poza width
okno przeglądarki, mój obecny CSS umieszcza poziomy pasek przewijania nadrzędny div
. Chciałbym, aby pasek przewijania znajdował się na poziomie strony. Obecnie mój div div jest ustawiony naoverflow: auto;
Czy możesz mi w tym pomóc CSS?
Odpowiedzi:
Spróbuj tego dla rodzica, to zadziałało dla mnie.
AKTUALIZACJA:
Jeszcze jedno rozwiązanie, które zadziałało:
Rodzic :
Dziecko :
źródło
overflow:auto
oznacza, że przeglądarka powinna zdecydować, którą wartość zastosować. Czym tak naprawdę jest ta sztuczkaoverflow: overlay
.overflow:hidden
.overlay
nie jest obsługiwane poza Webkit. Innym całkowicie innym jest stwierdzenie, że wcale nie istnieje. Proszę najpierw RTFM . ;)display:inline-block
. Który działał dla mnie świetnie.dodaj
clear:both
. zakładając, że kolumny są zmiennoprzecinkowe. W zależności od tego, jak określony jest wzrost, rodzic może wymagać przelewu: auto;źródło
Jak powiedział Jens w komentarzu
Działa to dla mnie znacznie lepiej we wszystkich przeglądarkach.
źródło
Spróbuj dać
max-content
wzrost rodzica.https://jsfiddle.net/FreeS/so4L83wu/5/
źródło
Dla tych, którzy nie mogą zrozumieć tego w instrukcjach z tej odpowiedzi tam:
Spróbuj ustawić wartość dopełniania większą niż 0 , jeśli div div dziecka ma margines górny lub margines dolny, możesz zastąpić go dopełnieniem
Na przykład jeśli masz
lepiej będzie zastąpić go:
źródło
Korzystanie coś takiego automatycznego czyszczenia
div
jest idealny do sytuacji takiej jak ta . Następnie użyjesz klasy nadrzędnej ... jak:źródło
Dodaj
Do css div rodzica lub dodaj div u dołu rodzica div, który wyczyści: oba;
To poprawna odpowiedź, ponieważ przepełnienie: auto; może działać w przypadku prostych układów internetowych, ale będzie bałaganować elementy, które zaczynają używać takich rzeczy, jak ujemny margines itp
źródło
Czy to robi co chcesz?
źródło
Szukasz 2-kolumnowego układu CSS ?
Jeśli tak, spójrz na instrukcje , jest całkiem proste na początek.
źródło
Zrobiłem, że div nadrzędny rozszerza się wokół zawartości div div, ponieważ div div jako pojedynczą kolumnę, która nie ma żadnego atrybutu pozycjonowania, takiego jak wartość bezwzględna.
Przykład:
Oparty na tym, że div kolumny głównej jest najgłębszym div div dziecka #wrap, określa głębokość div div #wrap, a wypełnienie 200 pikseli po obu stronach tworzy dwie duże puste kolumny, w których możesz umieścić absolutnie pozycjonowane divy, jak chcesz. Można nawet zmienić górną i dolną część wypełnienia, aby wstawić div nagłówka i div stopki, używając position: Absolut.
źródło
Musisz zastosować rozwiązanie clearfix na kontenerze nadrzędnym. Oto fajny artykuł wyjaśniający link do naprawy
źródło
Jeśli Twoje treści w #childRightCol i #childRightCol są ułożone w lewo lub w prawo, po prostu dodaj to do css:
źródło
Działa to zgodnie z opisem w specyfikacji - kilka odpowiedzi tutaj jest poprawnych i spójnych z następującymi:
stąd: https://www.w3.org/TR/css3-box/#blockwidth
źródło
Poniższy kod działał dla mnie.
css
HTML
źródło
źródło
Od czego zaczynamy
Oto niektóre podstawowe HTML i CSS. W naszym przykładzie mamy element nadrzędny z dwoma zmiennoprzecinkowymi elementami potomnymi.
Rozwiązanie nr 1: Przepełnienie: automatyczne
Rozwiązaniem, które działa we wszystkich nowoczesnych przeglądarkach i Internet Explorerze z powrotem do IE8, jest dodanie
overflow: auto
do elementu nadrzędnego. Działa to również w IE7 z dodanymi paskami przewijania.Rozwiązanie nr 2: Float Parent Container
Innym rozwiązaniem, które działa we wszystkich nowoczesnych przeglądarkach i wraca do IE7, jest przeniesienie kontenera nadrzędnego.
Nie zawsze może to być praktyczne, ponieważ przeniesienie div rodzica może wpływać na inne części układu strony.
Metoda nr 3: Dodaj Dywan Oczyszczający Poniżej Elementów Pływających
Metoda nr 4: Dodaj element Clearing Div do elementu nadrzędnego To rozwiązanie jest dość kuloodporne w przypadku starszych i nowszych przeglądarek.
od https://www.lockedownseo.com/parent-div-100-height-child-floated-elements/
źródło
Używam tego CSS do nadrzędnego i działa:
źródło
jesteś zarządzany za pomocą
overflow:hidden;
właściwości w cssźródło