是否有任何方法可以使用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>
我希望直接将样式表应用到文本区域,而不影响任何其他元素。
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);
}
不幸的是,这并不那么简单。我想您不能创建样式表并将其附加到文本区域。有什么办法可以让这个工作
最佳答案
::-webkit-scrollbar
是一个伪元素,可以应用于单个元素,如下所示:
textarea::webkit-scrollbar { ... }
关于javascript - 将webkit滚动条样式仅应用于textarea,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15260288/