代码之家  ›  专栏  ›  技术社区  ›  Bahman Parsa Manesh

css选择器之间星号(*)的平均值[重复]

  •  0
  • Bahman Parsa Manesh  · 技术社区  · 8 年前

    我的问题是关于css选择器之间的星号。星号似乎可以通过两个元素之间的星号数来忽略选择器。

    示例1:

    ul * li {
      color:red;
    }
    <ul>
      <li>Item 1</li>
      <li>
        <ol>
          <li>Sub-item 2</li>
          <li>Sub-item 2</li>
          <li>
            <ul>
              <li>Sub-item 3</li>
              <li>
                <ol>
                  <li>Sub-item 4</li>
                  <li>Sub-item 4</li>
                </ol>
              </li>
            </ul>
          </li>
        </ol>
      </li>
    </ul>

    示例2:

    ul * * * li {
      color:red;
    }
    <ul>
    <li>项目1</li>
    <li>
    <ol>
    <li>分项2</li>
    <li>分项2</li>
    <li>
    <ul>
    <li>分项3</li>
    <li>
    <ol>
    <li>分项4</li>
    <li>分项4</li>
    </ol>
    </li>
    </ul>
    </li>
    </ol>
    </li>
    </ul>

    示例3:

    ul * * * * * * * li {
      color:red;
    }
    <ul>
    <li>项目1</li>
    <li>
    <ol>
    <li>分项2</li>
    <li>分项2</li>
    <li>
    <ul>
    <li>分项3</li>
    <li>
    <ol>
    <li>分项4</li>
    <li>分项4</li>
    </ol>
    </li>
    </ul>
    </li>
    </ol>
    </li>
    </ul>

    请考虑我的问题是关于两个元素之间的星号,当用作 selector * 。 有人能解释一下这是怎么发生的吗? 提前谢谢。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Quentin    8 年前

    这个 * 是 universal selector 。它匹配任何元素。

    它与 descendant combinator 。

    所以 ul * li 表示“a li 它是任何元素的后代,该元素是 ul ”或者,换言之,“a 李 那是一个 联邦制药 但不是一个 联邦制药 那个 联邦制药 部分选择器匹配”。