Propriedades CSS para exibição de código e citações
Este artigo explica as propriedades CSS relacionadas à exibição de código e citações.
Você pode aprender sobre as propriedades CSS relacionadas à exibição de código e citações, como quotes
e user-select
, incluindo seus casos de uso e como escrevê-las.
YouTube Video
HTML para Visualização
css-code-quotation.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>CSS Properties Example</title>
7 <link rel="stylesheet" href="css-base.css">
8 <link rel="stylesheet" href="css-code-quotation.css">
9</head>
10<body>
11 <!-- Header -->
12 <header>
13 <h1>CSS Properties For Code Display And Quotations</h1>
14 </header>
15
16 <!-- Main content -->
17 <main>
18 <header>
19 <h2>Code Display And Quotations Related Properties</h2>
20 </header>
21 <article>
22 <h3>white-space</h3>
23 <section>
24 <header><h4>white-space: normal</h4></header>
25 <section class="sample-view">
26 <p class="white-space-normal">This is an example with multiple spaces. The spaces will be collapsed.</p>
27 </section>
28 <header><h4>white-space: nowrap</h4></header>
29 <section class="sample-view">
30 <p class="white-space-nowrap">This is an example with no line breaks. The text will not wrap.</p>
31 </section>
32 <header><h4>white-space: pre</h4></header>
33 <section class="sample-view">
34<p class="white-space-pre">This is an
35 example with multiple
36 spaces and
37 line breaks.</p>
38 </section>
39 <header><h4>white-space: pre-wrap</h4></header>
40 <section class="sample-view">
41<p class="white-space-pre-wrap">This is an
42 example with multiple
43 spaces and
44 line breaks. The text will wrap when it reaches the edge.</p>
45 </section>
46 </section>
47 </article>
48 <article>
49 <h3>overflow-wrap</h3>
50 <section>
51 <header><h4>overflow-wrap: normal</h4></header>
52 <section class="sample-view">
53 <section class="overflow-wrap-example">
54 <p class="overflow-wrap-normal">Thisisaverylongwordthatwillnotbreakwithword-breaknormal.</p>
55 </section>
56 </section>
57 <header><h4>overflow-wrap: break-word</h4></header>
58 <section class="sample-view">
59 <section class="overflow-wrap-example">
60 <p class="overflow-wrap-break-word">Thisisaverylongwordthatwillnotbreakwithword-breaknormal.</p>
61 </section>
62 </section>
63 </section>
64 </article>
65 <article>
66 <h3>quotes</h3>
67 <section>
68 <header><h4>quotes: "(" ")"</h4></header>
69 <section class="sample-view">
70 <p>Here's an example of a quote: <q>CSS makes the web beautiful.</q></p>
71 </section>
72 <header><h4>quotes: "(" ")" "[" "]"</h4></header>
73 <section class="sample-view">
74 <p>Here's a nested quote: <q>He said, <q>CSS is powerful.</q></q></p>
75 </section>
76 </section>
77 </article>
78 <article>
79 <h3>user-select</h3>
80 <section>
81 <header><h4>user-select: auto</h4></header>
82 <section class="sample-view">
83 <p class="select-auto">This text is selectable.</p>
84 </section>
85 <header><h4>user-select: none</h4></header>
86 <section class="sample-view">
87 <p class="select-none">This text cannot be selected.</p>
88 </section>
89 <header><h4>user-select: all</h4></header>
90 <section class="sample-view">
91 <p class="select-all">All text will be selected at once.</p>
92 </section>
93 </section>
94 </article>
95 <article>
96 <h3>tab-size</h3>
97 <section>
98 <header><h4>tab-size: initial</h4></header>
99 <section class="sample-view">
100<pre>
101function example() {
102 console.log("Initial Tab size is 8");
103}
104</pre>
105 </section>
106 <section>
107 <header><h4>tab-size: 2</h4></header>
108 <section class="sample-view">
109<pre class="tab-size-2">
110function example() {
111 console.log("Tab size is set to 2");
112}
113</pre>
114 </section>
115 <header><h4>tab-size: 4</h4></header>
116 <section class="sample-view">
117<pre class="tab-size-4">
118function example() {
119 console.log("Tab size is set to 4");
120}
121</pre>
122 </section>
123 <header><h4>tab-size: 20px</h4></header>
124 <section class="sample-view">
125<pre class="tab-size-20px">
126function example() {
127 console.log("Tab size is set to 20px");
128}
129</pre>
130 </section>
131 </section>
132 </article>
133 <article>
134 <h3>text-indent</h3>
135 <section>
136 <header><h4>text-indent: 0</h4></header>
137 <section class="sample-view">
138 <p class="text-indent-0">This text has no indentation. The first line starts flush with the left margin.</p>
139 </section>
140 <header><h4>text-indent: 20px</h4></header>
141 <section class="sample-view">
142 <p class="text-indent-20px">This paragraph has a 20px indentation on the first line.</p>
143 </section>
144 <header><h4>text-indent: -10px</h4></header>
145 <section class="sample-view">
146 <p class="text-indent--10px">This paragraph has a negative indentation, pulling the first line to the left.</p>
147 </section>
148 <header><h4>text-indent: 10%</h4></header>
149 <section class="sample-view">
150 <p class="text-indent-10percent">This paragraph has a first-line indentation of 10% of the containing block's width.</p>
151 </section>
152 <header><h4>text-indent: -20px; margin-left:40px;</h4></header>
153 <section class="sample-view">
154 <p class="text-indent-with-margin">This is an example paragraph using a hanging indent. The second and subsequent lines are indented, while the first line is outdented.</p>
155 </section>
156 </section>
157 </article>
158
159 </main>
160</body>
161</html>
Propriedades CSS para exibição de código e citações
Propriedade white-space
1.white-space-normal {
2 white-space: normal;
3 border: 1px solid black;
4 padding: 10px;
5 width: 300px;
6}
7
8.white-space-nowrap {
9 white-space: nowrap;
10 border: 1px solid black;
11 padding: 10px;
12 width: 300px;
13}
14
15.white-space-pre {
16 white-space: pre;
17 border: 1px solid black;
18 padding: 10px;
19 width: 300px;
20}
21
22.white-space-pre-wrap {
23 white-space: pre-wrap;
24 border: 1px solid black;
25 padding: 10px;
26 width: 300px;
27}
A propriedade white-space
é uma propriedade CSS que especifica como os espaços em branco e quebras de linha são tratados dentro de um elemento. Por padrão, o HTML trata vários espaços como um único espaço, mas a propriedade white-space
permite modificar esse comportamento.
Principais valores de white-space
- O valor padrão
normal
faz com que vários espaços sejam reduzidos a um e as linhas quebrem automaticamente. nowrap
reduz os espaços a um, mas impede quebras de linha. O conteúdo é exibido em uma única linha.pre
preserva os espaços em branco e as quebras de linha como estão. Quebras de linha não ocorrem.pre-wrap
preserva os espaços em branco e as quebras de linha, permitindo a quebra de linhas ao mesmo tempo.pre-line
reduz os espaços, mas preserva as quebras de linha e permite a quebra de linhas.break-spaces
preserva os espaços e as quebras de linha, enquanto permite quebras em palavras longas ou espaços vazios.
Propriedade overflow-wrap
1.overflow-wrap-example {
2 width: 200px;
3 border: 1px solid #000;
4}
5
6.overflow-wrap-normal {
7 overflow-wrap: normal;
8}
9
10.overflow-wrap-break-word {
11 overflow-wrap: break-word;
12}
A propriedade overflow-wrap
, anteriormente conhecida como word-wrap
, define como as palavras são tratadas quando excedem a largura do contêiner. Usando essa propriedade, você pode ajustar palavras corretamente para evitar que o texto ultrapasse os limites e quebre o layout.
Neste exemplo, com normal
, palavras longas podem ultrapassar o contêiner e causar rolagem horizontal, mas break-word
força a quebra de palavras longas.
Valores da propriedade
overflow-wrap
possui principalmente dois valores:.
-
normal
normal
é o valor padrão, onde o navegador segue as regras padrão de quebra de palavras. Normalmente, as palavras só quebram em pontos possíveis, como espaços ou hífens. Se uma palavra for extremamente longa, ela pode ultrapassar a largura do contêiner e quebrar o layout. -
break-word
break-word
força uma quebra de linha, se necessário, ajustando o texto para a próxima linha independentemente do comprimento da palavra. Isso ajuda a evitar que o layout do container seja quebrado devido a palavras longas.Quando
break-word
é especificado, as palavras são quebradas mesmo em lugares sem espaços ou hifens para se ajustar à largura da tela. Isso é especialmente útil para URLs ou palavras muito longas.
Diferenças entre overflow-wrap
e outras propriedades
Propriedades semelhantes a overflow-wrap
incluem word-break
e white-space
.
Diferença em relação a word-break
word-break
define como palavras inteiras são tratadas, enquanto overflow-wrap
apenas ativa a quebra quando uma palavra excede a largura do container. Por exemplo, word-break: break-all;
quebra palavras em qualquer posição, mesmo que não sejam longas, enquanto overflow-wrap
apenas quebra palavras quando elas excedem o container.
Diferença em relação a white-space
A propriedade white-space
controla como quebras de linha e espaços são tratados em todo o texto. Ao contrário de overflow-wrap
, white-space
define se quebras de linha e espaços são preservados, mas não afeta diretamente a quebra de palavras.
Por exemplo, white-space: nowrap;
garante que todo o texto permaneça em uma única linha, sem quebras. Por outro lado, overflow-wrap
controla a quebra de texto.
Casos de Uso Prático
overflow-wrap
é particularmente útil nas seguintes situações:.
- Exibir URLs: Evita problemas de layout ao exibir URLs longas.
- Termos Técnicos: Lida com casos em que palavras contínuas em inglês ou termos técnicos excedem a largura do container.
- Design Responsivo: Garante que textos longos não quebrem o layout, mesmo em telas pequenas.
Propriedade quotes
1q {
2 quotes: "(" ")" "[" "]";
3}
A propriedade quotes
é usada para personalizar aspas. Normalmente, aspas são inseridas automaticamente ao envolver o conteúdo de elementos <blockquote>
ou <q>
, mas ao usar a propriedade quotes
é possível especificar aspas personalizadas.
Neste exemplo, parênteses ((
, )
) são usados como aspas externas. Além disso, aspas aninhadas são representadas por colchetes ([
, ]
).
Sintaxe
1element {
2 quotes: [opening-quote closing-quote] [, opening-quote closing-quote] ...;
3}
A propriedade quotes
pode ser especificada com valores como os seguintes:.
none
: Nenhuma aspa será exibida.- Uma série de aspas: Especifique as aspas de abertura e fechamento. O primeiro conjunto representa as aspas externas, enquanto os conjuntos subsequentes são para citações aninhadas.
Pontos principais da propriedade quotes
A propriedade quotes
é útil para personalizar aspas usadas em citações de texto. Ao definir aspas apropriadas de acordo com o design e o idioma, você pode obter uma apresentação de página mais sofisticada. Usar a propriedade quotes
oferece benefícios como os seguintes:.
- Personalizar aspas: Você pode mudar o formato padrão das aspas ou definir aspas adaptadas a um design específico.
- Suporta citações aninhadas: Você pode aplicar diferentes conjuntos de aspas para citações aninhadas.
- Personalizável por país e idioma: Aplique facilmente diferentes estilos de aspas dependendo do idioma ou país, o que é útil para sites internacionais.
Propriedade user-select
1.select-auto {
2 user-select: auto;
3}
4
5.select-none {
6 user-select: none;
7}
8
9.select-all {
10 user-select: all;
11}
-
A propriedade
user-select
é uma propriedade CSS usada para controlar se os usuários podem selecionar texto. Ao usar essa propriedade, você pode impedir que o texto seja copiado em elementos específicos ou em toda a página, ou, inversamente, torná-lo selecionável. Se você especificarall
para a propriedadeuser-select
, o elemento inteiro será selecionado de uma vez. Por exemplo, quando um usuário clica em um campo de texto ou parágrafo, o elemento inteiro é selecionado de uma vez. -
Também pode ser usado para seleção em massa de código-fonte.
-
Neste exemplo, o texto do primeiro parágrafo é selecionável, mas o texto do segundo parágrafo não é. Na classe
select-all
, a propriedadeuser-select
é definida comoall
, permitindo que o elemento inteiro seja selecionado de uma vez.
Sintaxe
1element {
2 user-select: auto | none | text | all | contain;
3}
A propriedade user-select
pode ser especificada com os seguintes valores:.
auto
: Usa o comportamento padrão do navegador. A seleção de texto é permitida na maioria dos elementos, mas pode ser restrita em alguns elementos interativos, como botões e links.none
: A seleção de texto é completamente desativada. Os usuários não poderão selecionar texto dentro desse elemento.text
: Permite que apenas o texto dentro do elemento seja selecionado.all
: O elemento inteiro é selecionado de uma vez. Em vez de uma seleção parcial, o elemento inteiro é selecionado como um todo.contain
: Suportado apenas por alguns navegadores. Permite que apenas o elemento no local clicado seja selecionado.
Navegadores Compatíveis
A propriedade user-select
é suportada pela maioria dos navegadores modernos. No entanto, alguns navegadores podem exigir prefixos de fornecedor, como -webkit-user-select
.
- Chrome: Suportado
- Firefox: Suportado
- Safari: Suportado (requer o prefixo
-webkit-
). - Edge: Suportado
- Internet Explorer: Não Suportado
Principais Casos de Uso
A propriedade user-select
oferece as seguintes vantagens.
- Elementos da interface do usuário: Desative a seleção de texto para evitar interferências com operações de clique ou arrastar.
- Prevenir a cópia de texto: Impedir a seleção e a cópia de texto em certos elementos.
- Formulários e elementos interativos: Aplique em elementos interativos onde a seleção de texto seja desnecessária para melhorar a experiência do usuário.
Resumo
A propriedade user-select
é uma propriedade CSS útil que permite controle flexível sobre a seleção de texto em uma página da web. Ela pode evitar que os usuários selecionem acidentalmente texto desnecessário ou permitir que eles selecionem tudo de uma vez, acomodando várias interações.
A propriedade tab-size
1.tab-size-2 {
2 tab-size: 2;
3}
4
5.tab-size-4 {
6 tab-size: 4;
7}
8
9.tab-size-20px {
10 tab-size: 20px;
11}
- A propriedade
tab-size
é usada para personalizar o espaço para caracteres de tabulação. Por padrão, a largura da tabulação é geralmente ajustada para 8 espaços, mas pode ser modificada para qualquer valor usando a propriedadetab-size
.
Sintaxe
1element {
2 tab-size: length | number;
3}
A propriedade tab-size
pode aceitar os seguintes tipos de valores.
number
: Especifica a largura do caractere de tabulação em termos de número de caracteres. Você pode especificar tanto um número inteiro quanto um decimal.length
: Especifica a largura do caractere de tabulação usando unidades de comprimento (por exemplo, px, em).
Notas
-
A propriedade
tab-size
é tipicamente usada com fontes monoespaçadas. Ao ser usada com fontes proporcionais, a largura da tabulação pode se tornar irregular. -
Ao especificar o número de caracteres, esteja atento à escala em diferentes dispositivos.
Resumo
Usar a propriedade tab-size
melhora a flexibilidade ao exibir código ou caracteres de tabulação. Como desenvolvedor, ajustar corretamente a largura da tabulação garante a legibilidade do código e a consistência do design.
A propriedade text-indent
1p.text-indent-0 {
2 text-indent: 0;
3}
4
5p.text-indent-20px {
6 text-indent: 20px;
7}
8
9p.text-indent--10px {
10 text-indent: -10px;
11}
12
13p.text-indent-10percent {
14 text-indent: 10%;
15}
16
17p.text-indent-with-margin {
18 text-indent: -20px;
19 margin-left: 20px;
20}
- A propriedade
text-indent
é usada para aplicar um recuo na primeira linha de texto em um elemento de bloco por uma distância especificada. Esta propriedade permite estilizar apenas a primeira linha de um parágrafo.
Sintaxe
1element {
2 text-indent: length | percentage;
3}
A propriedade text-indent
pode aceitar os seguintes tipos de valores.
length
: Especifica o recuo usando unidades de comprimento (por exemplo, px, em).percentage
: Especifica o recuo como uma porcentagem com base na largura do elemento contêiner.
Notas
text-indent
se aplica apenas a elementos de bloco. Não tem efeito em elementos em linha.
Resumo
A propriedade text-indent
é uma ferramenta simples, mas poderosa, para criar designs de texto legíveis. Dominando o básico e entendendo casos de uso avançados e considerações, você pode estilizar de forma mais eficaz.
Você pode acompanhar o artigo acima usando o Visual Studio Code em nosso canal do YouTube. Por favor, confira também o canal do YouTube.