Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.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
用于具有相同父对象的某些子对象的CSS选择器_Css - Fatal编程技术网

用于具有相同父对象的某些子对象的CSS选择器

用于具有相同父对象的某些子对象的CSS选择器,css,Css,我正在用CSS为共享同一父元素的某些元素编写一些规则 #parent_id li #parent_id label, #parent_id input, #parent_id select { ... } 是否有其他语法可以避免重复父id?CSS native不支持此操作。但您可以使用SASS/LESS: #parent_id { label, input, select { ... } } CSS本机不支持这一点。但您可以使用SASS/LESS: #parent_id { la

我正在用CSS为共享同一父元素的某些元素编写一些规则

#parent_id li
#parent_id label, 
#parent_id input, 
#parent_id select { ... }

是否有其他语法可以避免重复父id?

CSS native不支持此操作。但您可以使用SASS/LESS:

#parent_id {
  label, input, select { ... }
}

CSS本机不支持这一点。但您可以使用SASS/LESS:

#parent_id {
  label, input, select { ... }
}

不,在纯CSS中没有,但您可以使用一些CSS预处理器,如:

  • 更少的CSS
  • 无礼
  • 切换CSS
  • …或其他

    • 不,在纯CSS中没有,但您可以使用一些CSS预处理器,如:

      • 更少的CSS
      • 无礼
      • 切换CSS
      • …或其他

        • 在简单css中,这是不可能的。尝试实现这一点。

          在简单的css中,这是不可能的。尝试实现这一点。

          如果您选择的元素都是父元素中的元素,则可以将样式应用于父元素:

          #parent_id {
               ....
          }
          
          其中的样式应该向下继承,以便其中的元素也可以获得这些样式

          另一个选项可能是使用通用
          *
          选择器:

          #parent_id * {
              ....
          }
          
          这将至少影响
          parent\u id
          元素下一级的所有元素,但不会影响
          parent\u id
          本身。如果您想不受影响地保留
          parent\u id
          中的纯文本,则可以使用此文本

          第三个选项是更改HTML标记,以便要影响的元素具有类。然后你的CSS可以直接引用这个类


          (顺便说一句-是的,我知道LESS/SASS/etc,但我不认为发布与其他人相同的答案有多大价值)

          如果您选择的元素都是父元素中的元素,您可以将样式应用于父元素:

          #parent_id {
               ....
          }
          
          其中的样式应该向下继承,以便其中的元素也可以获得这些样式

          另一个选项可能是使用通用
          *
          选择器:

          #parent_id * {
              ....
          }
          
          这将至少影响
          parent\u id
          元素下一级的所有元素,但不会影响
          parent\u id
          本身。如果您想不受影响地保留
          parent\u id
          中的纯文本,则可以使用此文本

          第三个选项是更改HTML标记,以便要影响的元素具有类。然后你的CSS可以直接引用这个类


          (顺便说一句,是的,我知道少了/SASS/etc,但我不认为发布与其他人相同的答案有多大价值)

          [[1]:这个问题可能重复
          parent\u id
          除了
          li
          标签
          输入
          选择
          元素之外,还有什么吗?[ [1]:此问题的可能重复项是否
          parent\u id
          包含除
          li
          label
          input
          select
          元素以外的任何内容?这不是级联。这是继承。并非所有样式都是继承的,因此在父元素上简单地指定它们几乎总是不能保证工作的@BoltClock-你抓住了我;纠正了术语。你是对的,不是所有的样式都会被继承,但对于那些没有继承的样式,这就是为什么我也给出了第二个选项。(他没有指定他使用的样式,所以我认为最好两者都提供)
          #parent_id*
          不会将所有元素都定位在父元素下一个级别,它会将所有元素定位在父元素下任何级别。如果只定位元素的直接子元素是目标,则应使用
          #parent_id>*
          。@Elise-当然。我试图匹配问题中原始选择器的语义;他使用d一个空格;这就是我使用的。主要的一点是,
          \parent\u id
          本身并没有得到样式。一个
          选择器可能更合适,但如果不知道更多关于标记和他使用的样式的信息,就很难确定。@Spudley这是真的,我只是在挑剔你原来的措辞:)那不是cascading。这是继承。不是所有的样式都是继承的,所以简单地在父元素上指定它们几乎总是不能保证有效。@BoltClock-你抓住了我;更正了术语。你是对的,不是所有的样式都会被继承,但对于那些不是继承的样式,这就是为什么我还提供了第二个选项。(他没有具体说明他使用的是什么样式,所以我认为最好同时提供这两种样式)
          #parent_id*
          不会将所有元素都定位在父元素下一个级别,它会将所有元素定位在父元素下任何级别。如果只定位元素的直接子元素是目标,则应使用
          #parent_id>*
          。@Elise-当然。我试图匹配问题中原始选择器的语义;他使用d一个空格;这就是我所用的。主要的一点是,
          \parent\u id
          本身不能获得样式。一个
          选择器可能更合适,但如果不知道更多关于标记和他使用的样式的信息,就很难确定。@Spudley这是真的,我只是在挑剔你最初的措辞:)谢谢你的回答。谢谢你的回答。