代码之家  ›  专栏  ›  技术社区  ›  Stefan

选择所有自定义HTML元素,开始“app-”[复制]

  •  0
  • Stefan  · 技术社区  · 6 年前

    有没有办法在CSS中使用通配符按名称选择元素?

    <my-element-one></my-element-one>
    <my-element-two></my-element-two>
    <div></div>
    

    我只能选择以“我的元素”开头的每个元素吗?例如:

    my-element-* {color: red;}
    
    0 回复  |  直到 10 年前
        1
  •  6
  •   Quentin    10 年前

    不。只有属性选择器在CSS中有任何通配符语法。

        2
  •  4
  •   connexo    10 年前

    正如昆廷已经说过的,这样的选择器是不可用的。一个简单的解决方案是将元素的名称也作为类名:

    <my-element-one class="my-element-one"></my-element-one>
    <my-element-two class="my-element-two"></my-element-two>
    <div></div>
    

    这样就可以使用属性通配符语法,例如

     [class^="my-element-"]
    

    my-element- .

    $= (以结尾), *= (包含)和更多,检查

    https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors

        3
  •  -2
  •   dhruvpatel    8 年前

    您始终可以向元素添加一个公共类和一个或多个附加类的集合。

    您可以将对所有元素都通用的样式放在公共类的css中,然后根据需要使用其他css类覆盖它。

    例如:

    <div class="my-element my-element-one"></div>
    <div class="my-element my-element-two"></div>
    <div></div>
    

    div.my-element
    {
         height: 100px;
         width : 100px;
    }
    
    div.my-element-one
    {
         color: red;
    }
    
    div.my-element-two
    {
         color: blue;
    }