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

时间:2012-03-05 00:39:45

标签: html css forms

我有一个包含在div中的textarea,因为我有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>

样式:

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

#message {
    height: 400px;
    width: 235px;
    overflow: hidden;
    position: absolute;
}

3 个答案:

答案 0 :(得分:167)

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

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

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

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

另外我认为在div内有一个label是有效的,浏览器会渲染它,但它可能会导致一些时髦的事情发生。您的div也未关闭。

答案 1 :(得分:4)

我认为

overflow: auto;overflow: hidden;应该这样做。

答案 2 :(得分:1)

在.css类

中添加此类
.scrol  { 
font: bold 14px Arial; 
border:1px solid black; 
width:100% ; 
color:#616D7E; 
height:20px; 
overflow:scroll; 
overflow-y:scroll;
overflow-x:hidden;
}

并使用div中的类。喜欢这里。

<div> <p class = "scrol" id = "title">-</p></div>

我附上图片,你看到上面代码的输出 enter image description here