CSS selector for targeting only immediate children and not other identical descendants

前端 未结 2 777
心在旅途
心在旅途 2020-11-29 10:12

I have a nested sortable list that can have items dynamically added or removed and can be nested n-levels deep. On nesting, a new ul element is injected into whatever li ele

2条回答
  •  清酒与你
    2020-11-29 10:44

    The original question was not answered. :only-child only works if the only-child has no descendant children. The original post suggested that the inclusion of descendant children was due to ul>li whereas it is in fact due to a bug in :only-child. Paradoxically :first-child selects the first child in a list with descendant children, as does last-child, but :only-child does not. I checked this in Firefox, Opera and Chrome. Here is an example:

    
    
    
    
    
    
    
    • Item one
      • Subitem one
      • Subitem two

    To activate :first-child and :last-child rules uncomment the last two items. The implementation of the Selectors Level 3 standard is thus inconsistent in major browsers. The :first-child rule should not be activated when there is an :only-child rule and a unique child has descendants. In the example the only-child should be red but it is green.

提交回复
热议问题