HTML5自定义元素与类相比有什么缺点吗?

HTML5自定义元素与类相比有什么缺点吗?,html,Html,我不喜欢div汤。您不容易看到哪个结束标记属于哪个开始标记(我知道正确的缩进有帮助),yadda yadda。HTML5引入了自定义元素。由于旧的Edge和IE不支持它们,使用它们代替类(除了浏览器支持)有什么缺点吗? 我认为这个HTML代码: <blog-posts> <blog-post> <blog-title>Do HTML5 custom elements have any drawbacks compared to classes?&l

我不喜欢div汤。您不容易看到哪个结束标记属于哪个开始标记(我知道正确的缩进有帮助),yadda yadda。HTML5引入了自定义元素。由于旧的Edge和IE不支持它们,使用它们代替类(除了浏览器支持)有什么缺点吗? 我认为这个HTML代码:

<blog-posts>
  <blog-post>
    <blog-title>Do HTML5 custom elements have any drawbacks compared to classes?</blog-title>
    <blog-content>I don't like div soups</blog-content>
  </blog-post>
</blog-posts>

HTML5自定义元素与类相比有什么缺点吗?
我不喜欢div汤
读起来比读起来好得多

<div class="blog-posts">
  <div class="blog-posts">
    <div class="blog-title">Do HTML5 custom elements have any drawbacks compared to classes?</div>
    <div>I don't like div soups</div>
  </div>
</div>

HTML5自定义元素与类相比有什么缺点吗?
我不喜欢div汤

如果我理解正确,即使我没有为我的自定义元素调用
document.registerement
,这也可以正常工作,因为默认情况下这些元素将继承自
HTMLElement
,这使我的行为或多或少与
htmldevelment

的行为相同,始终不信任告诉您应该做什么或不应该做什么的开发人员

这是你的代码,如果它对你有效,它就有效

您使用的是W3C标准技术,因此只要浏览器运行JavaScript,它就可以正常工作

是的,网络组件V0(谷歌把东西扔到墙上)名声不好
但从2018年开始,我们现在使用V1,而谷歌、苹果、Mozilla和微软现在正更紧密地合作。
(WTF..Facebook在哪里?)

就我个人而言,我更喜欢:


我不喜欢DIV汤
我也不喜欢**JSX**汤
因为
将是从这个lightDOM在shadowDOM中创建内容的工作马

良好地使用属性可以实现出色的CSS

博客帖子:不是([title*=“React”]){
背景颜色:浅绿色;
}
博客文章[标题*=“反应”]{
背景颜色:浅珊瑚;
}
你甚至可以用最少的JS添加搜索,动态创建样式

添加像降价解析器这样的功能是轻而易举的事

不要仅仅因为可以创建HTML标记就创建HTML标记


但请记住我说过的关于开发人员建议的话。

这个问题似乎没有定论,这实际上取决于您的用例。您可能会看到的最大缺点是,它使某些应用程序更难预测您的意图。一个很好的例子是浏览器的阅读模式,如果页面使用非标准标记,它可能在解析页面时遇到问题。除此之外,还支持自定义元素并完全有效。另外要记住的是,CSS可能变得更为复杂,因为将样式应用到所有div更容易,而不是拥有一个巨大的逗号分隔选择器。如果您使用自定义元素的唯一原因是因为它更容易找到起始和结束标记,请考虑使用具有代码折叠的IDE,并且始终记住正确缩进代码。“更易于阅读”仅为本机Web组件(自定义元素API、模板和shadowDOM)的1%are@Danny’365CSI’Engelman:我知道这个数字只有1%,这也是我提出这个问题的一个原因:使用这个强大的工具几乎纯粹是为了表面的目的,可以吗?我想是的,但显然这样做并不常见。