2016-08-18 5 views
1

W3C CSS Validation Service을 사용하여 CSS media queries의 유효성을 검사합니다.CSS 미디어 쿼리 : 미디어 유형 (버그 또는 사양의 일부)이없는 쿼리를 무효화 할 때 W3 유효성 검사기가 실패합니까?

은 다음 조회가 유효한 것으로 도시되어

@media (min-width: 1024px) and (orientation: landscape) and (min-resolution: 1dppx){} 

다음 부정 쿼리가 유효하지 않은 것으로 도시되어

@media not (min-width: 1024px) and (orientation: landscape) and (min-resolution: 1dppx){} 

과 미디어 타입은 이전에 첨가되어이 u, 무효화 된 쿼리는 유효한 것으로 표시됩니다.

@media not screen and (min-width: 1024px) and (orientation: landscape) and (min-resolution: 1dppx) {} 

따라서 유효성 검사 서비스에는 t hat "not"키워드를 수락하기 전에 미디어 유형 (이 예에서는 "screen")이 있어야합니다. 에있는 CSS3 사양에서이 동작에 대한 참조를 찾을 수 없습니다. 유효성 검사기의 버그입니까, CSS 사양의 일부입니까?

+0

내가 할 수있는 버그는 아니지만 그것이 왜 있는지. – BoltClock

+1

이것은 모든 키워드가 실제로 필요한 한 가지 경우입니다. [이 답변] (http://stackoverflow.com/questions/28692635/does-all-add-anything-to-a-media-query/28692726#28692726)을 참조하십시오. 또한 이것은 [왜 (일부 너비 : Xem)'미디어 쿼리가 실행되지 않습니다] 중복 될 수 있습니다?] (http://stackoverflow.com/questions/24455958/why-does-not-some-width-xem -media-query-never-fire) - 보통 Jigsaw 유효성 검사기는 무시 무시하고 버그가 있지만이 경우 유효성 검사 결과는 1) 브라우저 동작 및 2) 사양과 일치합니다. – BoltClock

답변

2

syntax defined in the CSS3 Media Queries specification 그것은 단지 (그리고 "전용") 만 미디어 타입 이전에 사용 할 수있다 "없습니다"허용 함을 나타냅니다

media_query 
: [ONLY | NOT]? S* media_type S* [ AND S* expression ]* 
| expression [ AND S* expression ]* 

+0

"not"(그리고 'only')를 사용할 때 미디어 유형을 지정해야합니다. " – BoltClock

0
(그것은 전체 쿼리에 적용되지만)

내 생각에 'not'키워드를 사용할 때는 recognized screentype을 사용해야합니다. 그렇지 않으면 브라우저가 스타일 시트를 'not'화면에 적용하려고 시도합니다.

+0

기본 미디어 유형은 화면이 아니라 모두입니다. 브라우저가 미디어 유형이 지정되지 않은 경우 미디어 키워드가 아닌 키워드없이 미디어 쿼리를 통해 미디어 쿼리가 "전체가 아닌 ..."에 적용되어야한다고 유추하는 것은 왜 그렇게 비합리적입니까? – BoltClock

+0

@ BoltClock, 내 논리는 'not'키워드를 사용할 때 media_type이 필요하다는 것입니다. 그렇지 않으면 유효성 검사에서 'not'가 잘못된 media_type으로 표시됩니다. 위의 dontcallmedom에는 확실한 대답이 있습니다. –

+0

아 ... 그 말이 사실입니다. – BoltClock