a[attribute~=val]{
}
a[attribute|=val]{
}
a[attribute*=val]{
}
обычно я использую последний .. но чем разница между всеми нимиЧто разница между следующими селекторами CSS
a[attribute~=val]{
}
a[attribute|=val]{
}
a[attribute*=val]{
}
обычно я использую последний .. но чем разница между всеми нимиЧто разница между следующими селекторами CSS
Атрибут содержит селектор слов ~=
найдет слово, разделенное пробелами. Например, он найдет "Jon"
в "Jon Peters"
, но не в "Jonathan Peters"
.
Атрибут содержит селектор префикса |=
найдет префикс, разделенный тире. Он, например, найдет "en"
в "en-GB"
, но не в "english"
или "kal-en"
.
Атрибут содержит селектор *=
найдет текст в любом месте внутри значения атрибута.
первый очень странный. Я не знаю, зачем мне это нужно, если я могу использовать только последний: a [attribute * = 'Jon'] вместо [attribute ~ = 'Jon'] – BlackFire27
@ BlackFire27: Это полезно, когда вы хотите совместить целые слова , а не найти частичные слова, например не укладывая животное как рыбу, потому что вы находите '' треску'' в ''крокодиле' '. – Guffa
a[attribute~=val]
Соответствует a
элемент с attribute
атрибутом, значение которого содержит слово «val», ограниченное пробелами.
a[attribute|=val]
Соответствует a
элемент с атрибутом attribute
, значение которого в точности «VAL», или начинается с «Val-».
a[attribute*=val]
Соответствует a
элемент с атрибутом attribute
, значение которого содержит строку «VAL».
Вы бы, возможно, нашли это очень легко: reading the CSS selectors specification.
Итак, каково различие между [атрибутом | = val] и [attribute^= val] и примерно первым синтаксисом, то пространство должно быть разделителем val – BlackFire27
@ BlackFire27 - '[attribute^= val]' соответствует, если значение * начинается с * "val". '[attribute | = val]' соответствует, если значение * равно * "val" или начинается с "val-" (обратите внимание на символ дефиса). Для первого значение может быть точно «val» или содержать слово «val». Но опять же, прочитайте спецификацию. Это хорошо объясняет это. –
Не было бы проще просто [посмотреть на спецификацию] (http://www.w3.org/TR/selectors/#attribute-selectors)? –
Я прочитал их ... но есть перекрытие в их использовании. Я могу просто придерживаться этого атрибута [attribute * = val] вместо того, чтобы использовать этот атрибут [attribute ~ = val], например – BlackFire27
Да, вы могли бы, но это зависит от того, насколько вы конкретно хотите быть. '[attribute * = val]' будет соответствовать "somethingval", но '[attribute ~ = val]' не будет. –