How do I apply a style to all children of an element

后端 未结 2 1546
北恋
北恋 2020-12-04 15:06

I have an element with class=\'myTestClass\'. How do I apply a css style to all children of this elements? I only want to apply the style to the elements childr

相关标签:
2条回答
  • 2020-12-04 15:31

    Instead of the * selector you can use the :not(selector) with the > selector and set something that definitely wont be a child.

    Edit: I thought it would be faster but it turns out I was wrong. Disregard.

    Example:

    .container > :not(marquee){
            color:red;
        }
    
    
    <div class="container">
        <p></p>
        <span></span>
    <div>
    
    0 讨论(0)
  • 2020-12-04 15:35

    As commented by David Thomas, descendants of those child elements will (likely) inherit most of the styles assigned to those child elements.

    You need to wrap your .myTestClass inside an element and apply the styles to descendants by adding .wrapper * descendant selector. Then, add .myTestClass > * child selector to apply the style to the elements children, not its grand children. For example like this:

    JSFiddle - DEMO

    .wrapper * {
        color: blue;
        margin: 0 100px; /* Only for demo */
    }
    .myTestClass > * {
        color:red;
        margin: 0 20px;
    }
    <div class="wrapper">
        <div class="myTestClass">Text 0
            <div>Text 1</div>
            <span>Text 1</span>
            <div>Text 1
                <p>Text 2</p>
                <div>Text 2</div>
            </div>
            <p>Text 1</p>
        </div>
        <div>Text 0</div>
    </div>

    0 讨论(0)
提交回复
热议问题