뭐죠

2013-02-22 4 views
-1
a[attribute~=val]{ 
} 


a[attribute|=val]{ 
} 


a[attribute*=val]{ 
} 

보통 전 마지막 하나를 사용하여 다음 CSS 선택기 차이 ..하지만뭐죠

+4

[사양보기] (http://www.w3.org/TR/selectors/#attribute-selectors)가 더 쉽지 않을까요? –

+0

나는 그것들을 읽었다. 그러나 그것들의 사용법에는 중복이있다. 이 [attribute * = val] 대신에 [attribute * = val]을 고수 할 수 있습니다. 예를 들어, – BlackFire27

+1

예. 그렇지만 원하는 구체적인 방법에 달려 있습니다. '[attribute * = val]'은 "somethingval"과 일치하지만'[attribute ~ = val]'은 일치하지 않습니다. –

답변

1

특성이 포함 된 단어 선택기 ~=은 공백으로 구분 된 단어를 찾습니다. 예를 들어 "Jon""Jon Peters"이지만 "Jonathan Peters"은 아닙니다.

특성 포함 접두사 선택기 |=에는 대시로 구분 된 접두사가 있습니다. 예를 들어 "en-GB"에서 "en"을 찾을 수 있지만 "english" 또는 "kal-en"은 찾을 수 없습니다.

속성 포함 선택자 *=은 속성 값 내부의 아무 곳에 나 텍스트를 찾습니다.

+0

첫 번째 것은 매우 이상한 것입니다. 마지막으로 하나만 사용할 수있는 이유는 모르겠다. [attribute = = 'Jon'] 대신 [attribute * = 'Jon'] – BlackFire27

+0

@ BlackFire27 : 전체 단어를 일치시키고 싶을 때 유용하다. , 부분 단어를 찾지 못한다. '악어'에서''대구 (cod) ''를 발견했기 때문에 동물성 아이템을 물고기로 지정하지 않았습니다. – Guffa

1
a[attribute~=val] 

모두의 차이 값이 단어를 포함하는 attribute 속성과 함께 a 소자 일치 뭐죠 "val"은 공백으로 구분됩니다.

a[attribute|=val] 

값은 정확하게 "발"을 attribute 인 특성을 갖는 소자 a 일치 또는 "val-"로 시작한다.

a[attribute*=val] 

값 문자열 "발"를 포함하는 특성을 갖는 attributea 소자 일치.


당신은 매우 쉽게 reading the CSS selectors specification을 발견 할 수있었습니다.

+0

그래서 [attribute | = val]과 [attribute^= val] 사이의 diffrence는 무엇이고 첫 번째 구문에 대해서는 space가 val의 구분자 여야합니다 – BlackFire27

+0

@ BlackFire27 -'[attribute^= val]'은 value *는 * "val"로 시작합니다. '[attribute | = val]'은 * 값이 * "val"이거나 "val-"(하이픈 문자가 있음)로 시작하면 일치합니다. 첫 번째 경우 값은 정확히 "val"이거나 단어 "val"을 포함 할 수 있습니다. 하지만 다시 한 번 스펙을 읽으십시오. 이 모든 것을 잘 설명합니다. –