2017-02-09 1 views
-2

Je suis confronté à une très grande difficulté à comprendre ces deux attributs différents dans CSS [att|=val] and [att~=val]. Quelqu'un peut-il simplement me donner une explication pour elleQuelle est la différence entre [att | = val] et [att ~ = val] en css

grâce

+0

http://stackoverflow.com/questions/10442963/how-exactly-is-att-val-different -from-att-val-dans-css-attribut-sélecteurs –

+0

http://stackoverflow.com/questions/34530852/what-is-the-difference-between-pipe-and-caret-attribute-selectors –

+0

'[attr | = val]' dans cette condition sont vraiment disponibles? – prasanth

Répondre

3

[attr|=val] correspond à un mot val sous quelque forme, donc [class=div] correspondrait .my-div, .div, mais pas .mydiv.

[attr~=val] correspond à un mot complet en val, donc [class~=div] sélectionnne .div', but not .mydiv or .mon-div`.

Exemple:

HTML

<div id="myDiv"></div> 
<div id="myDiv2"></div> 
<div id="new-div"></div> 

CSS

div[id|=myDiv] { 
    /* Matches the first div */ 
} 
div[id|=my]{ 
    matches first two divs 
} 
div[id|=new]{ 
    /* Matches second div - the hyphen counts as a word separator */ 
} 
div[id~=Div]{ 
    /* Matches nothing - "Div" is not a separate word */ 
} 
+0

1) C'est [attr | = val] avec un tuyau, pas [attr = val] 2) " contient "est un peu vague, cela aide à être très spécifique ici car d'autres sélecteurs d'attributs existent qui correspondent à des valeurs contenant des sous-chaînes. – BoltClock

+0

N'a pas remarqué le tuyau, je vais modifier la réponse. – TricksfortheWeb

+0

Cette réponse est incorrecte selon [MDN] (https://developer.mozilla.org/nl/docs/Web/CSS/Attribute_selectors). Vous confondez '[attr ~ = val]' avec '[attr * = val]', je pense? –