将webkit滚动条样式应用于textarea

时间:2013-03-06 23:33:34

标签: javascript html css

有没有办法使用these shadow dom elements仅将css应用于特定元素。我想我希望在我的页面上实现webkit customer scrollbar,但在textarea中希望它们的宽度小于文档正文中的宽度。

所以,如果我有一个带有样式的页面

::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); 
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 
}

div{
    height:5000px;
    width:150px;
    background-color:red;
    float:left;
}
textarea{
float:left;    
    max-height:150px;
    height:150px;
}

和HTML

<div id="theDiv">
    asdf
</div>

<textarea id="thebox">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</textarea>

我想将样式表直接应用于textarea,而不会影响任何其他元素。

 function ImportStyleFile () {
            var el = document.getElementById('thebox');
            var linkTag = el.createElement ("link");
            linkTag.href = "new.css";
            linkTag.rel = "stylesheet";
            var head = document.getElementsByTagName ("head")[0];
            head.appendChild (linkTag);
        }

其中new.css的风格类似于

::-webkit-scrollbar-thumb {
    border-radius: 0px;
    -webkit-box-shadow: inset 0 0 6px rgba(20,20,20,0.5); 
}

不幸的是,这并不是那么简单。我想你无法创建样式表并将其附加到textarea。关于如何让这个工作的任何想法

1 个答案:

答案 0 :(得分:3)

::-webkit-scrollbar是一个伪元素,可以应用于单个元素,如下所示:

textarea::webkit-scrollbar { ... }