CSS选择器不匹配

Kev*_*ith 2 html css css-selectors

对于以下HTML + CSS(http://jsfiddle.net/Gb3dh/1/):

<input class="a" placeholder="here"/>
<input class="b" role="x" placeholder="there"/>
Run Code Online (Sandbox Code Playgroud)

...

.a, .b {
    font-style: italic;
}

[placeholder] input[role="x"] {
    font-style=normal;
}
Run Code Online (Sandbox Code Playgroud)

为什么"class = b"的"font-style"输入斜体?我希望第二个CSS选择器(获取具有占位符标题的任何项目以及输入具有等于"x"的"title"属性的位置)才能生效.

Sim*_*n M 5

两个错误:

  • 这里有一个=font-style=normal;那里应该是一个:
  • [placeholder]不应该在之前input[role="x"],你完成它的方式匹配一个元素与placeholder包含一个input属性元素的属性role="x"

请参阅更新的JSFiddle(或以下代码):http://jsfiddle.net/Gb3dh/5/

.a, .b {
    font-style: italic;
}

input[role="x"][placeholder] {
    font-style:normal;
}
Run Code Online (Sandbox Code Playgroud)

  • 感谢您对我的错误的帮助.不是`!important`不赞成,因为它违反了CSS选择器规则吗? (3认同)
  • 这里不需要重要的.输入[attr] [attr]比单个类名(0,0,1,0)更具体(0,0,2,1).http://css-tricks.com/specifics-on-css-specificity/ (2认同)