Eu tenho uma textarea que está contida em uma div, pois tenho a dica do jquery e queria usar a opacidade sem alterar a borda. Há uma barra de rolagem vertical visível como eu só quero que seja exibida quando estou digitando no campo de texto e vai além do contêiner. Eu tentei overflow: auto; mas não funciona.
Campo de texto:
<label>
<div id="name">
<textarea name="message" type="text" id="message"
title="Enter Message Here"
rows=9 cols=60 maxlength="2000"></textarea>
</div>
</label>
Estilos:
#name {
border: 1px solid #c810ca;
width: 270px;
height:159px;
overflow: hidden;
position: relative;
}
#message {
height: 400px;
width: 235px;
overflow: hidden;
position: absolute;
}
Respostas:
overflow: auto
(ouoverflow-y: auto
) é o caminho correto a seguir.O problema é que sua área de texto é mais alta que seu div. A div acaba cortando a caixa de texto, portanto, embora pareça que deve começar a rolar quando o texto for mais alto,
159px
ela não começará a rolar até que o texto seja mais alto do400px
que a altura da caixa de texto.Experimente: http://jsfiddle.net/G9rfq/1/
Eu defini overflow: auto na caixa de texto e tornei a caixa de texto do mesmo tamanho que o div.
Também não acredito que seja válido ter um
div
dentro de umlabel
, o navegador irá renderizá-lo, mas pode fazer com que coisas estranhas aconteçam. Além disso, o seudiv
não está fechado.fonte
overflow: auto;
ouoverflow: hidden;
deveria fazer, eu acho.fonte
position: relative;
na#name div
Adicione esta classe na classe .css
e usar a classe em div. como aqui.
Anexei a imagem, você vê a saída do código acima
fonte