代码之家  ›  专栏  ›  技术社区  ›  Diego Lima

如何根据p中的br和span标记层次结构设置样式

  •  0
  • Diego Lima  · 技术社区  · 3 周前

    我有一个跨度,一个br在p的同一位置。我想如果br在跨度之前,那么跨度有不同的样式,但如果跨度在br之后,那么跨度就有另一个样式。

    p:first-child span {
      margin-top: 2px;
      color: green
    }
    
    
    p:first-child span + br {
      margin-top: 10px;
      color: red
    }
    
    p > br {
      display: none;
    }
    
    <div>
      <p>
        <br/>
        <span>Lorem</span>
      </p>
    </div>
    
    <div>
      <p>
        <span>Lorem</span>
        <br/>
      </p>
    </div>
    
    

    jsfiddle

    第一个洛雷姆是红色的,第二个洛雷米是绿色的

    这是一个包含不同数据的数组,有些数组有这样的标记。所以这不是我可以剽窃的东西

    1 回复  |  直到 3 周前
        1
  •  2
  •   Temani Afif    3 周前

    如果 br span 那么只有这些元素可以考虑吗 :last-child :first-child

    p span:first-child {
      margin-top: 2px;
      color: green
    }
    
    p span:last-child {
      margin-top: 10px;
      color: red
    }
    
    p > br {
      display: none;
    }
    <div>
      <p>
        <br>
        <span>Lorem</span>
      </p>
    </div>
    
    <div>
      <p>
        <span>Lorem</span>
        <br>
      </p>
    </div>