Chcę, aby karuzela DIV (s7) powiększyła się do wysokości całego ekranu. Nie mam pojęcia, dlaczego to się nie udaje. Aby zobaczyć stronę, możesz przejść tutaj .
body {
height: 100%;
color: #FFF;
font: normal 28px/28px'HelveticaWorldRegular', Helvetica, Arial, Sans-Serif;
background: #222 url('') no-repeat center center fixed;
overflow: hidden;
background-size: cover;
margin: 0;
padding: 0;
}
.holder {
height: 100%;
margin: auto;
}
#s7 {
width: 100%;
height: 100%: margin: auto;
overflow: hidden;
z-index: 1;
}
#s7 #posts {
width: 100%;
min-height: 100%;
color: #FFF;
font-size: 13px;
text-align: left;
line-height: 16px;
margin: auto;
background: #AAA;
}
<div class="nav">
<a class="prev2" id="prev2" href="#">
<img src="http://static.tumblr.com/ux4v5bf/ASslogxz4/left.png">
</a>
<a class="next2" id="next2" href="#">
<img src="http://static.tumblr.com/ux4v5bf/swslogxmg/right.png">
</a>
</div>
<div class="holder">
<tr>
<td>
<div id="s7">
{block:Posts}
<div id="posts">
Odpowiedzi:
Aby wartość procentowa działała na wysokości, należy określić wysokość rodzica. Jedynym wyjątkiem jest element główny
<html>
, który może być wartością procentową. .Tak więc podałeś wszystkie swoje elementy z wyjątkiem wysokości
<html>
, więc powinieneś dodać to:Twój kod powinien działać poprawnie.
Przykład JsFiddle .
źródło
<html>
to jest prawdziwy element - tak jak<p>
lub<img />
? Myślałem, że jedynym celem<html>
było zdefiniowanie początku i końca dokumentu HTML. Chodzi mi o to, że myślałem, że tam jest, nie w układzie, ale po to, żeby przeglądarka wiedziała, jaki typ dokumentu przegląda? Jestem całkowicie oszołomiona.<html>
znacznika, a nawet bez elementów<head>
lub<body>
. Jednak specyfikacje HTML uznają ten<html>
tag za obowiązkowy. Krótko mówiąc, tak, jest to pełnoprawny element, jak wszystkie inne elementy HTML.<html>
tag jest opcjonalny zgodnie ze specyfikacjami (np. HTML4 i HTML5). I tak, element i tak jest tworzony.html
ibody
jakoheight: 100%
(Oprócz tego, że konkretniediv
chcę odziedziczyć 100% wysokości)Ponieważ nikt o tym nie wspominał ...
Nowoczesne podejście:
Jako alternatywę dla ustawienia obu wysokości elementu
html
/ możesz użyć również procentowych długości rzutni:body
100%
W tym przypadku możesz użyć wartości
100vh
(która jest wysokością rzutni) - (przykład)Ustawienie a
min-height
także działa. (przykład)Urządzenia te są obsługiwane w większości nowoczesnych przeglądarek - pomoc można znaleźć tutaj .
źródło
height: 100%
działa tylko wtedy, gdy element macierzysty ma określoną wysokość. Z pewnością istnieją przypadki, w których element nadrzędny elementu nie ma określonej wysokości, a jednostki procentowe rzutni to rozwiązują. Innymi słowy, gdybyś miał głęboko zagnieżdżony element, mógłbyś po prostu ustawić100vh
, a miałby on wysokość100%
przeglądarki. Możesz nie widzieć żadnych korzyści, ale byłem w wielu przypadkach, gdy były one jedynym rozwiązaniem. Jednostki te mogą nie być tak korzystne dla elementów korzeni, takich jakhtml
/body
, ale mimo to jest to alternatywabody { height: 100vh }
, że będzie miał pasek przewijania przy początkowym ładowaniu strony.height: 100% !important" to each parent til
html` bez powodzenia, mogłem zobaczyć w domenie, że każdy węzeł drzewa był w rzeczywistości,100%
ale nie byłem w stanie ustawić 100% w pożądanym elemencie, ale styl widoku był łatwyKonieczne będzie również ustawienie 100% wysokości
html
elementu:źródło
Alternatywnie, jeśli użyjesz,
position: absolute
toheight: 100%
będzie działać dobrze.źródło
width:100%;
i rodzicaposition:relative;
.Powinieneś spróbować z elementami nadrzędnymi;
To wystarczy:
źródło
jeśli chcesz na przykład lewej kolumny (wysokość 100%) i zawartości (wysokość auto), możesz użyć wartości bezwzględnej:
w html:
źródło
To może nie być idealne, ale zawsze możesz to zrobić za pomocą javascript. Lub w moim przypadku jQuery
źródło
W źródle strony widzę:
Jeśli umieścisz wartość wysokości w znaczniku, użyje tego zamiast wysokości zdefiniowanej w pliku css.
źródło
Jeśli absolutnie umieścisz elementy wewnątrz div, możesz ustawić górną i dolną część wypełnienia na 50%.
Więc coś takiego:
źródło
Oto inne rozwiązanie dla osób, które nie chcą używać
html, body, .blah { height: 100% }
.źródło