在HTML中创建自定义元素时,子标签是否会继承父类的CSS样式?自定义HTML元素是否继承父CSS样式?
这是我的测试情况下,从铬:
var h1bProto = document.registerElement ('h1-b',
{
prototype: Object.create (HTMLHeadingElement.prototype),
extends: "h1"
});
当我追加使用它与是= “H1-B” 生成一个H1标签的新h1bProto孩子,例如下面:
var node = document.body.appendChild (new hibProto());
node.textContent = "Hello";
<h1 is="h1-b">Hello</h1>
你好
这给了我父母的CSS样式。不过,如果我首先创建的元素,那么追加节点处添加节点,代码如下所示:
var node = document.createElement ("h1-b");
node.textContent = "Hello";
document.body.appendChild (node);
<h1-b>Hello</h1-b>
你好
我失去了一些东西,或者说孩子不继承父的CSS样式?如果他们不这样做,那么使用Shadow DOM的最佳解决方案是什么?
Uhrm ... SEO的...雅,同意! =) –
@E Net Arch。如果这回答了你的问题,你能把它标记为你的答案吗?如果不是,你能让我们知道为什么吗? –
想到如何自定义Ht ML标签可能会干扰搜索引擎优化,我不得不不同意。不过,我在这里让你的案例让别人理解。 P标签可以帮助机器人了解TEXT所在的位置,而标签将数据嵌入到标签属性值中。而且,这与使用名称值对的XML不同,后者可以转换为HTML。所有这些拓宽了我的话题,也把它从主题中解放出来。 –