문제

White-Space CSS 속성을 사용하려면 일반 XML 문서가있는 CSS에 대해 Internet Explorer 표준을 준수하는 DocType 태그를 한동안 검색했습니다. 이 페이지 "DocType 'XML'"을 사용하면 Internet Explorer 6+가 통과하기에 충분해야한다고 말하지만, 예상 결과를 얻지 않고 예제에서 생각할 수있는 모든 DocType 태그를 시도했습니다. 어쩌면 나는 여기에 다른 것을 놓치고 있을지 모르지만 기본적으로 올바른 문서 태그 (코드의 올바른 위치)가 그렇게해야한다고 생각합니다.

다음은 테스트하는 코드입니다.

test.css :

Message {
   white-space: pre-wrap;
}

test.xml :

<?xml version="1.0"?>
<?xml-stylesheet href="Test.css" type="text/css"?>
<Message><![CDATA[
Some data

which is   pre   

formatted
]]></Message>

위의 예는 FF & Safari에서 잘 작동합니다.

도움이 되었습니까?

해결책

XML로 HTML을 제공하기 위해 IE가 아직 올바른 MIME 유형 인 Application/XML+XHTML을 지원하지 않기 때문에 그러한 것은 없습니다. 그러나 IE는 XML을 직접 지원하므로 HTML 인 척하지 않고 직접 이메일을 작성한 다음 스타일 시트를 사용하여 페이지를 HTML로 표시 할 수 있습니다. 이 방법은 XML 요소의 문법을 아무도 이해하지 못하기 때문에 접근성과 의미 론적 위반을 초래합니다.

이것이 바로 웹에서 XML이 제대로 채택되지 않은 이유 일 것입니다.

다른 팁

내가 찾은 한, 하나는 없습니다. 문서는 거짓말을합니다. 스타일 시트 렌더링 된 RAW-XML 문서는 항상 기발한 모드에있는 것으로 보이며, 이론적으로 이론적으로 DocTypes에 관계없이 항상 표준 모드에 있어야합니다.

위의 예는 실제로 다음과 같은 것을 테스트했습니다.

<?xml-stylesheet href="test.css" type="text/css"?>
<potato>
    <custard>X</custard>
</potato>

custard { width: 150px; padding: 50px; background: yellow; }

이렇게하면 올바른 250px 대신 총 폭+패딩을 150px로 렌더링합니다. 하나의 추가 :

<!DOCTYPE potato>
<!DOCTYPE potato SYSTEM "blankfile.dtd">
<!DOCTYPE potato PUBLIC "-//W3C//DTD XHTML 1.0//EN" "blankfile.dtd">

또는 루트 요소를 'html'로 변경하고 실제 XHTML DTD URI를 참조하면 차이가 없습니다. RAW XML 렌더링은 퀴크스 모드로 유지됩니다. 이것은 MIME Application/XHTML+XML 미디어 유형의 인식과 관련이 없습니다.

IE의 RAW-XML 렌더링은 IE5 이후 업데이트를 실제로 보지 못한 기능이라고 생각합니다. 그것은 계속 느리고 기발하고 쓸모가 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top