Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在自定义元素的槽内设置css样式?_Javascript_Css_Web Component_Tabular_Custom Element - Fatal编程技术网

Javascript 如何在自定义元素的槽内设置css样式?

Javascript 如何在自定义元素的槽内设置css样式?,javascript,css,web-component,tabular,custom-element,Javascript,Css,Web Component,Tabular,Custom Element,我在shadowDOM自定义元素模板中应用表样式,在插槽中,它不接受表th和td CSS 类表扩展了HtmleElement{ 构造函数(){ 超级(); //log(“这个手风琴->”,这个) 设置超时(()=>{ const template=document.createElement('template'); template.innerHTML=` ::开槽(表){ 颜色:红色; 宽度:100%; } ::开槽(表tr th), ::开槽(表tr td){ 文本对齐:左对齐; 填充:

我在shadowDOM自定义元素模板中应用表样式,在插槽中,它不接受表th和td CSS

类表扩展了HtmleElement{
构造函数(){
超级();
//log(“这个手风琴->”,这个)
设置超时(()=>{
const template=document.createElement('template');
template.innerHTML=`
::开槽(表){
颜色:红色;
宽度:100%;
}
::开槽(表tr th),
::开槽(表tr td){
文本对齐:左对齐;
填充:10px0;
}
`;
const shadowDOM=this.attachShadow({
模式:“打开”
});
appendChild(template.content.cloneNode(true));
}, 0);
}
}
自定义元素。定义('t-表',表)

Sl号。
名称
1.
名称

您不能从
::slotted
伪元素选择器中选择子元素。
这是故意的;组件本身不应考虑开槽元件的样式。例外情况是正在开槽的元素,但不是其子元素

取而代之的是,用老式的方式从灯光中设计元素

类表扩展了HtmleElement{
构造函数(){
超级();
const template=document.createElement('template');
template.innerHTML=`
::开槽(表){
颜色:红色;
宽度:100%;
}
`;
const shadowDOM=this.attachShadow({
模式:“打开”
});
appendChild(template.content.cloneNode(true));
}
}
自定义元素。定义('t-表',表)
.my table tr th,
.我的桌子{
文本对齐:左对齐;
填充:10px0;
}

Sl号。
名称
1.
名称

参见StackOverflow答案:


如何在模板innerhtml中应用CSS?您只能将样式应用于在阴影DOM模板中开槽的元素和固定的元素。