답변:
pre {
white-space: pre-wrap; /* Since CSS 2.1 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}
pre-line
줄의 시작 부분뿐만 아니라 모든 공백을 축소합니다. developer.mozilla.org/en-US/docs/Web/CSS/white-space 에는 white-space
값 의 동작을 요약 한 표가 있습니다.
word-wrap: break-word
질문이 요구하는 것을하지 않으면 단어 사이에서도 줄 바꿈이 발생합니다. 해당 줄을 삭제할 수 있습니다. 최신 브라우저에서는 -moz
접두사 가 필요하지 않습니다 .
이것은 텍스트를 감싸고 pre
-tag 내에서 공백을 유지하는 데 효과적입니다 .
pre {
white-space: pre-wrap;
}
프리 태그를 건너 뛰고 공백을 사용하는 경우 div의 프리 랩이 더 나은 솔루션이라는 것을 알았습니다.
<div style="white-space: pre-wrap;">content</div>
style="white-space: pre-wrap; font-family:monospace;"
<pre>
코드 블록 에 사용하면 의미가 더 클 수 있습니다 .
이것이 내가 필요한 것입니다. 그것은 단어가 깨지지 않도록하지만 사전 영역에서 동적 너비를 허용했습니다.
word-break: keep-all;
나는 사전을 잊어 버리고 텍스트 영역에 넣는 것이 좋습니다.
들여 쓰기가 유지되고 경로 중간에 단어가 줄 바꿈되지 않습니다.
클립 보드에 복사하려는 경우 텍스트 영역에서도 텍스트 범위를 쉽게 선택할 수 있습니다.
다음은 PHP 발췌 부분이므로 PHP가 아닌 경우 HTML 특수 문자를 포장하는 방법은 다양합니다.
<textarea style="font-family:monospace;" onfocus="copyClipboard(this);"><?=htmlspecialchars($codeBlock);?></textarea>
js에서 클립 보드에 텍스트를 복사하는 방법에 대한 자세한 내용 은 JavaScript로 클립 보드에 복사하는 방법을 참조하십시오. .
하나...
방금 stackoverflow 코드 블록을 검사하고 CSS로 <pre> 태그로 싸인 <code> 태그로 래핑합니다 ...
code {
background-color: #EEEEEE;
font-family: Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;
}
pre {
background-color: #EEEEEE;
font-family: Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;
margin-bottom: 10px;
max-height: 600px;
overflow: auto;
padding: 5px;
width: auto;
}
또한 stackoverflow 코드 블록의 내용은 http://code.google.com/p/google-code-prettify/ 사용하여 구문 강조 표시됩니다 .
좋은 설정이지만 지금은 텍스트 영역을 사용하고 있습니다.
<pre>
의미 론적 의미 가 없다고 생각 합니다 ()와 달리 <code>
단순히 개행과 여러 공백이 보존되어야 함을 의미합니다.
사용해보십시오
<pre style="white-space:normal;">.
또는 CSS를 더 잘 던지십시오.
Best Cross Browser Way는 줄 바꿈을 얻고 정확한 코드 또는 텍스트를 표시하기 위해 일했습니다 (chrome, internet explorer, Firefox)
CSS :
xmp{ white-space:pre-wrap; word-wrap:break-word; }
HTML :
<xmp> your text or code </xmp>
다음이 도움이되었습니다.
pre {
white-space: normal;
word-wrap: break-word;
}
감사
white-space: pre-wrap;
공백을 존중하기 때문에 사용하는 것이 더 좋다고 생각 한다
<pre>
- 요소는 "사전 형식의 텍스트"를 의미하고, 그 태그 사이에있는 텍스트 (또는 무엇이든)의 형식을 유지하기위한 것입니다. 따라서 실제로 <pre>
-Tag 내에 자동 단어 줄 바꿈 또는 줄 바꿈이있는 것은 아닙니다.
요소의 텍스트는 고정 폭 글꼴 (일반적으로 Courier)로 표시되며 공백 과 줄 바꿈을 모두 유지합니다 .
출처 : w3schools.com 은 본인이 강조합니다.
white-space:pre-line;
(그리고 모든 브라우저 호환 버전) 줄의 시작 부분에서 공간을 빼앗기 때문에 (예를 들어 탭없이) 어떤 경우에는 더 적합 해 보입니다