2009-03-19 5 views
0

사용자가 풍부한 편집 컨트롤 (Telerik의 RedEditor에 "메모"를 입력 할 수 있지만 여기에는 상관 없음)이있는 응용 프로그램이 있습니다.IE (7)의 공백 스타일 적용 범위 _past_ 범위 끝

<div> This is a note <span class="Apple-tab-span" style="white-space: pre; "> </span> and here's more of the note. </div> 

: 노트의 HTML이의 형태였다 우리는 사용자가 노트의 중간에 <span></span>했다 Safari에서/w에서 메모를 입력했고, 그 범위는 white-space:pre 지정에 대한 스타일을 가지고 있었다 간단하게 스타일 이 스팬에 적용되고 스팬에는 4 개의 공백이 있어야합니다. 결과 출력에는 4 개의 공백이 있어야합니다.

여기에 문제가 있습니다. IE는 white-space: pre; 스타일을 스팬뿐만 아니라 동봉하는 div에도 적용하고있는 것 같습니다! 따라서이 긴 줄은 줄 바꿈에 포함되지 않았기 때문에 줄 바꿈되어야합니다. 이제 줄이 페이지에 맞을 때까지 문서를 밀어냅니다.

실종 신고입니다. 나는 IE에 문제가 있다는 것을 알고 있지만, IE의 경우에도 이것이 옳지 않은 것 같습니다.

그래서, 질문 (들) :

1) 나는 white-space 속성은 스팬에 적용한 것을 수정하고 있는가?

2) 어떻게 든 해결 될 수 있습니까? 기억해야 할 것은 입력되는 내용을 제어 할 수 없다는 것입니다. Safari가 설치된 Mac 및 IE에서 볼 수 있습니다.

편집 : 해당 페이지의 문서 타입은 다음과 같습니다 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

답변

0

당신은 표준 모드 DOCTYPE을 사용하고 있습니까? Quirks 모드에서 IE는 블록 요소에만 '공백'을 잘못 적용합니다. (나는 공백에서 화이트 스페이스를 누설하지 못했지만, 단지 작동하지 않았다.)

나는 입력되는 컨텐츠를 제어하지 못한다.

원시 HTML 콘텐츠를 입력하는 것은 드문 경우입니다. 이 경우 브라우저의 이상 함을 실제로 고칠 수는 없습니다!

+0

원시 HTML 콘텐츠를 입력 할 수 없습니다. 글쎄, 그렇지 않을 수도 있습니다. Mac에서 다른 문서의 잘라 내기/붙여 넣기 가능성이 더 높습니다. 연구원이 사용하는 개인 사이트이므로 XSS 보호보다 기능에 더 관심이 있습니다. –

0

1) 네, 맞습니다.

2) Telerik 컨트롤에 대해 특히 RTE를 변경하는 원시 HTML을 입력하는 데 많은 문제가있었습니다. 데이터베이스를 확인하고 거기에 어떤 HTML이 저장되어 있는지 확인하는 것이 좋습니다.

다르 코

+0

이것은 정상적인 (HTML이 아닌)보기를 통해 입력 된 텍스트이지만, 내용을 변경하는 것에 대해 귀하가 말하는 내용을 듣습니다. 그러나 우리는이 HTML을 다른 페이지 (출력 된 것, 편집기가없는 페이지)에 출력하고 이것이 문제가 발생한 곳입니다. 에디터가 아닙니다. –

0

을하는 데 도움이

희망 난 당신의 스타일로 사전에 스팬에 공간 달성하려고하는지 모르겠어요. 문장에 단어 줄 바꿈이 아닌 공백이 있도록하려면 전체 줄에 줄 바꾸기 스타일을 지정하십시오. 원하는 모든 것이 공백 인 경우 html 엔티티 & nbsp를 두 단어 사이에 직접 넣으면 분리되지 않습니다. 또는 단일 공간보다 큰 임의의 공간을 만들려고하는 경우 사전을 잊어 버리고 해당 범위에 너비를 지정하십시오.