How to select classes with spaces

前端 未结 5 1393
星月不相逢
星月不相逢 2020-12-03 01:09

How do I select a class like class=\"boolean optional\" ?

I have tried this:

.boolean optional {CSS}

.boolean_optional {CSS}


        
相关标签:
5条回答
  • 2020-12-03 01:26

    Classes will never actually have spaces in their name. In your example, that is actually two classes; boolean and optional.

    to apply style to an element that has both of those classes, the construct is

    .boolean.optional {
     /* CSS */
    }
    

    However, IE6 is known to have some issues with this. See this link for more details on known quirks.

    0 讨论(0)
  • 2020-12-03 01:32

    As Zepplock says, that's actually two classes in a single attribute: boolean and optional. The space is not part of a class name; it acts as the separator.

    These three selectors will all match it:

    .boolean
    .optional
    .boolean.optional
    

    The last selector only picks up this element as it has both classes.

    You never include a space when chaining class selectors, not even like this:

    .boolean .optional
    

    As that selects .optional elements that are contained within separate .boolean elements.

    0 讨论(0)
  • 2020-12-03 01:37

    Spaces are not valid in class name. class="boolean optional" means the element has the classes boolean and optional, so you can match it with either .boolean, .optional, or if you want to match only objects that are both optional and boolean, with .boolean.optional.

    0 讨论(0)
  • 2020-12-03 01:40

    I appreciate this was a while ago, but in case anyone's interested, something I've found handy also is, how to target/select an element within an element which has both classes... EXAMPLE

    .boolean.optional > p {
        color: red;
    }
    

    Perhaps requires no explanation, but: turns 'paragraph text red' ONLY for paragraph's inside of elements where both classes exist i.e.both .boolean AND .optional

    0 讨论(0)
  • 2020-12-03 01:41

    Those are not classes with spaces :) They are called multiple class selectors.

    You basically just need to make sure all the class names are connected (no spaces between them) and separated with a dot.

    .boolean.optional {
    
    }
    
    0 讨论(0)
提交回复
热议问题