Quero que o carrossel DIV (s7) se expanda para a altura da tela inteira. Eu não tenho uma idéia de por que não está tendo sucesso. Para ver a página, você pode ir aqui .
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">
Respostas:
Para que um valor percentual funcione para altura, a altura dos pais deve ser determinada. A única exceção é o elemento raiz
<html>
, que pode ser uma altura percentual. .Então, você deu a todos os seus elementos height, exceto the
<html>
, então o que você deve fazer é adicionar isto:E seu código deve funcionar bem.
Exemplo JsFiddle .
fonte
<html>
é um elemento real - exatamente como<p>
ou<img />
? Eu pensei que o único objetivo<html>
era definir o início e o fim de um documento HTML. Quero dizer, eu pensei que estava lá, não para o layout, mas apenas para que o navegador saiba qual o tipo de documento que está visualizando. Estou completamente impressionado.<html>
tag e mesmo sem os elementos<head>
ou<body>
. As especificações HTML, no entanto, consideram a<html>
tag obrigatória. Em resumo, sim, é um elemento completo como todos os outros elementos HTML.<html>
tag é opcional de acordo com as especificações (por exemplo, HTML4 e HTML5). E sim, o elemento é criado de qualquer maneira.html
ebody
comoheight: 100%
(bem como, naturalmente, o específicadiv
eu quero herdar a altura de 100%)Desde que ninguém mencionou isso ..
Abordagem moderna:
Como alternativa para definir as alturas do elemento
html
/ , você também pode usar comprimentos de porcentagem da porta de visualização:body
100%
Nesse caso, você pode usar o valor
100vh
(que é a altura da janela de exibição) - (exemplo)Definir um
min-height
também funciona. (exemplo)Essas unidades são suportadas na maioria dos navegadores modernos - o suporte pode ser encontrado aqui .
fonte
height: 100%
só funciona se o elemento pai tiver uma altura definida. Certamente, existem alguns casos em que o pai de um elemento não tem uma altura definida e as unidades de porcentagem da janela de exibição resolvem isso. Em outras palavras, se você tivesse um elemento profundamente aninhado, poderia simplesmente configurá100vh
-lo, e ele teria uma altura do100%
navegador. Você pode não ver nenhum benefício, mas já estive em vários casos em que eles eram a única solução. Estas unidades podem não ser tão benéfico para elementos de raiz, tais comohtml
/body
, mas, no entanto, esta é uma alternativabody { height: 100vh }
haverá uma barra de rolagem no carregamento inicial da página.height: 100% !important" to each parent til
html` sem sucesso, pude ver no domínio que todos os nós da árvore estavam realmente,100%
mas não consegui definir 100% no elemento desejado, mas com o estilo de viewport era fácilVocê também precisará definir 100% de altura no
html
elemento:fonte
Como alternativa, se você usar
position: absolute
,height: 100%
funcionará perfeitamente.fonte
width:100%;
e os paisposition:relative;
.Você deve tentar com os elementos pai;
Então isso será suficiente:
fonte
se você quiser, por exemplo, uma coluna esquerda (altura 100%) e o conteúdo (altura automática), você pode usar absoluto:
em html:
fonte
Isso pode não ser o ideal, mas você sempre pode fazê-lo com javascript. Ou no meu caso, jQuery
fonte
Na fonte da página, vejo o seguinte:
Se você colocar o valor da altura na tag, ele será usado em vez da altura definida no arquivo css.
fonte
Se você posicionar absolutamente os elementos dentro da div, poderá definir o preenchimento superior e inferior para 50%.
Então, algo como isto:
fonte
Aqui está outra solução para pessoas que não querem usar
html, body, .blah { height: 100% }
.fonte