如何在不需要时隐藏垂直滚动条

Luk*_*kus 87 html css forms

我有一个textarea,它包含在div中,因为我有jquery提示,并希望在不更改边框的情况下使用不透明度.有一个可见的垂直滚动条,当我在文本字段中输入并且超出容器时,我只想显示它.我试过溢出:auto; 但不起作用.

文本域:

<label>
    <div id="name">
        <textarea name="message" type="text" id="message"
            title="Enter Message Here"
            rows=9 cols=60 maxlength="2000"></textarea>
    </div>
</label>
Run Code Online (Sandbox Code Playgroud)

样式:

#name { 
    border: 1px solid #c810ca;
    width: 270px;
    height:159px;
    overflow: hidden; 
    position: relative;
    }

#message {
    height: 400px;
    width: 235px;
    overflow: hidden;
    position: absolute;
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*vy8 178

overflow: auto(或overflow-y: auto)是正确的方法.

问题是你的文本区域比你的div高.div最终会切断文本框,所以即使看起来它应该在文本较高时开始滚动159px而不是开始滚动直到文本高于400px文本框的高度.

试试这个:http://jsfiddle.net/G9rfq/1/

我在文本框中设置overflow:auto,并使文本框的大小与div相同.

此外,我不认为有一个div内部a label,浏览器将呈现它,但它可能会导致一些时髦的东西发生.你div也没有关闭.