2013-03-18 2 views
9
#something { 
    background: url(data:image/png;base64,ABCDEF); 
} 

이 스 니펫 은 데이터 URI (분명히 ABCDEF가 아닌 다른 문자)를 지원하는 모든 브라우저에서으로 작동합니다.인용 부호가없는 데이터 URI는 CSS에서 유효합니까?

또한, the CSS 2.1 spec에 따라 유효입니다 :

... 옵션 작은 따옴표 (') 또는 URI 자체 뒤에 큰 따옴표 (") 문자 ...

그러나 validator은 따옴표없이 허용하지 않습니다.

값 오류 : background url (data : image/png; base64, ABCDEF) 잘못된 URL입니다.

URI를 작은 따옴표 나 큰 따옴표로 묶으면 유효성을 검사합니다.

내가 누락 된 항목이 있습니까? 유효성 검사기의 버그입니까? EDIT : it was!

+1

질문을 업데이트해야합니다. 유효성 검사기의 버그로, 이제 패치되었습니다. Cf. 토론 : https://github.com/w3c/css-validator/issues/42 –

답변

11

만큼 URI 자체가 (예를 들어 () 중 하나를 이스케이프해야하거나 조기에 또한 사양에 언급 된 기능 토큰을 종료하지 않도록 URI 인코딩)하는 방식으로 url() 구문을 중단하지 않는 한, 따옴표로 묶지 않아도 유효해야합니다.

아마도 유효성 검사기 버그 일 것입니다. 구체적으로는 단순히 (그것은 분명히 일반적인 HTTP 주소 유사하지 않더라도) httpdata을 변경할 때 때문에, 어떠한 형태로도 인용되지 않은 데이터 URI를 처리 할 나타나지 않습니다

#something { 
    background: url(http:image/png;base64,ABCDEF); 
} 

을 ... 그것을 그러면 마 법적으로 유효성 검사를 통과합니다.

+2

동의. 스펙에서이를 옵션으로 정의한 경우 데이터 스키마에 다른 내용이 필요하다는 것을 제외하고는 누락에 대한 마크 업에 실패 할 경우 유효성 검사기로 문제가 발생합니다. – PhonicUK

+1

[github] (https://github.com/w3c/css-validator/issues/42#issuecomment-155572400)에서 문제가 발생했습니다. –

관련 문제