pre
as tags são super úteis para blocos de código em HTML e para depuração de saída durante a gravação de scripts, mas como faço para quebrar o texto em vez de imprimir uma linha longa?
720
A resposta desta página em CSS:
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+ */
}
white-space:pre-line;
(e todos os tipos de navegadores compatíveis) parece mais adequado em alguns casos (sem guias, por exemplo), pois ocupa o espaço no início da linha (se houver)pre-line
recolhe todos os espaços em branco (não apenas no início da linha). developer.mozilla.org/en-US/docs/Web/CSS/white-space possui uma tabela que resume o comportamento doswhite-space
valores.word-wrap: break-word
não faz o que a pergunta está pedindo, faz com que ocorram linhas entre as palavras. Você pode excluir essa linha. Nos navegadores modernos, você não precisa de nenhum-moz
ou de outro prefixo.Isso funciona muito bem para quebrar o texto e manter o espaço em branco dentro da
pre
-tag:fonte
Descobri que pular a tag pré e usar espaço em branco: pré-envolver em uma div é uma solução melhor.
fonte
style="white-space: pre-wrap; font-family:monospace;"
<pre>
de blocos de código.De maneira mais sucinta, isso força o conteúdo a quebrar dentro de uma tag "pre" sem quebrar as palavras. Felicidades!
Veja o exemplo ao vivo aqui .
fonte
Era disso que eu precisava. Impedia que as palavras se quebrassem, mas permitia uma largura dinâmica na área pré.
fonte
Sugiro esquecer o pré e colocá-lo em uma área de texto.
Seu recuo permanecerá e seu código não será digitado no meio de um caminho ou algo assim.
Também é mais fácil selecionar o intervalo de texto em uma área de texto se você deseja copiar para a área de transferência.
A seguir, um trecho do php; portanto, se você não estiver no php, a maneira como você compacta os caracteres especiais html varia.
Para obter informações sobre como copiar texto para a área de transferência em js, consulte: Como copiar para a área de transferência em JavaScript? .
Contudo...
Acabei de inspecionar os blocos de código stackoverflow e eles envolvem uma tag <code> envolvida na tag <pre> com css ...
Além disso, o conteúdo dos blocos de códigos stackoverflow é destacado em sintaxe usando (eu acho) http://code.google.com/p/google-code-prettify/ .
É uma boa configuração, mas estou indo com textareas por enquanto.
fonte
<pre>
tem nenhum significado semântico (ao contrário<code>
), significa simplesmente que novas linhas e vários espaços devem ser preservados.Combinei as respostas @richelectron e @ user1433454.
Funciona muito bem e preserva a formatação do texto.
fonte
Você também pode:
para manter a fonte monoespaçada, mas adicione quebra automática de linha ou:
o que permitirá um tamanho fixo com rolagem horizontal para linhas longas.
fonte
Tente usar
Ou melhor, jogue CSS.
fonte
Use
white-space: pre-wrap
e alguns prefixos para quebra automática de linha dentro depre
s.Não use,
word-wrap: break-word
porque isso simplesmente quebra uma palavra ao meio, o que provavelmente é algo que você não deseja.fonte
O Best Cross Browser Way trabalhou para mim para obter quebras de linha e mostra o código ou texto exato: (chrome, internet explorer, Firefox)
CSS:
HTML:
fonte
O seguinte me ajudou:
obrigado
fonte
white-space: pre-wrap;
porque respeita os espaços em brancoO
<pre>
-Element significa "texto pré-formatado" e se destina a manter a formatação do texto (ou qualquer outra coisa) entre suas tags. Portanto, na verdade, não se pretende ter quebra automática de linha ou quebra de linha dentro da<pre>
tagfonte: w3schools.com , ênfases feitas por mim.
fonte