2013-12-10 13 views
5

próbuję z następującym stylu:Jak określić max-height właściwość css Przekątna

.scrollDiv { 
    height:auto; 
    max-height:100%; 
    overflow:auto; 
} 

Moje wymogiem jest:

  1. max-height z div jest równa wysokości ekranu
  2. Jeśli zawartość w div przekracza rozmiar ekranu, paski przewijania powinny być w div.
+0

Właściwie Używam tego div w oknie popup. –

+0

Sprawdź moją odpowiedź Sprawdź, czy rozumiesz, co próbuję powiedzieć. –

+0

Dlaczego nie użyć paska przewijania, który normalnie pojawi się w oknie? – codefactor

Odpowiedz

4

Pasek przewijania pojawia się tylko wtedy, gdy treść to overflown.

Jeśli max-height twojego wewnętrznego div jest równe wysokości jego kontenera, pasek przewijania nigdy się nie pojawi. jeśli chcesz zobaczyć pasek przewijania, użyj tego.

.scrollDiv { 
    height:auto; 
    max-height:150%; 
    overflow:auto; 
} 
+0

Nie jestem pewien, czy ta odpowiedź jest istotna, ale chciałem zwrócić uwagę, że łatwo jest przewinąć pasek przewijania widoczne, nawet jeśli nic nie przepływa. przepełnienie: przewiń; – codefactor

+1

Nie chodzi mi o to, że jeśli chce, aby zawartość paska przewijania została "nadpisana", zawartość w jego przypadku nigdy się nie przepełni i jaki jest sens paska przewijania, jeśli zawartość nie jest nadpisana? –

12

Można użyć $(window).height() ustawić max-height do wysokości ekranu:

$('.scrollDiv').css('max-height', $(window).height()); 
17

jednostek Zastosowanie CSS rzutni dla tego produktu.

Przykład:

.scrollDiv { 
    max-height: 100vh; 
    overflow: auto; 
} 

Więcej informacji: https://www.w3schools.com/cssref/css_units.asp

+0

Ciekawi, jak to zakwalifikować. –

+0

To jest ten, który pracował dla mnie. Musiałem ustawić maksymalną wysokość 77vh dla mojej sprawy. – naveed

Powiązane problemy