Propriedades de CSS Relacionadas à Interface do Usuário
Este artigo explica as propriedades de CSS relacionadas à interface do usuário.
Você pode aprender sobre as propriedades content
, cursor
, pointer-events
e resize
, incluindo seus casos de uso e como escrevê-las.
YouTube Video
HTML para Visualização
css-ui.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-ui.css">
9</head>
10<body>
11 <!-- Header -->
12 <header>
13 <h1>CSS Properties For Animation</h1>
14 </header>
15
16 <!-- Main content -->
17 <main>
18 <header>
19 <h2>User Inferface Related Properties</h2>
20 </header>
21 <article>
22 <h3>content</h3>
23 <section>
24 <h4>Content Examples</h4>
25 <header><h4>content: "Note: ";</h4></header>
26 <section class="sample-view">
27 <div class="content-note">Solid Red Outline</div>
28 </section>
29 <header><h4>content: " (End)";</h4></header>
30 <section class="sample-view">
31 <div class="content-end">Dashed Blue Outline</div>
32 </section>
33 </section>
34 </article>
35 <article>
36 <h3>cursor</h3>
37 <section>
38 <h4>Cursor Examples</h4>
39 <header><h4>cursor: default</h4></header>
40 <section class="sample-view">
41 <div class="default-cursor">This is the default cursor.</div>
42 </section>
43 <header><h4>cursor: pointer</h4></header>
44 <section class="sample-view">
45 <div class="pointer-cursor">This is the pointer cursor (hand).</div>
46 </section>
47 <header><h4>cursor: text</h4></header>
48 <section class="sample-view">
49 <div class="text-cursor">This is the text cursor (I-bar).</div>
50 </section>
51 <header><h4>cursor: wait</h4></header>
52 <section class="sample-view">
53 <div class="wait-cursor">This is the wait cursor (hourglass).</div>
54 </section>
55 <header><h4>cursor: not-allowed</h4></header>
56 <section class="sample-view">
57 <div class="not-allowed-cursor">This is the not-allowed cursor (prohibited).</div>
58 </section>
59 </section>
60 </article>
61 <article>
62 <h3>pointer-events</h3>
63 <section>
64 <h4>Pointer Events Examples</h4>
65 <header><h4>pointer-events: auto</h4></header>
66 <section class="sample-view">
67 <div class="pointer-events-auto" onclick="document.getElementById('message').innerHTML = 'Auto: This box is clickable!'">
68 Auto (Clickable)
69 </div>
70 </section>
71 <header><h4>pointer-events: none</h4></header>
72 <section class="sample-view">
73 <div class="pointer-events-none" onclick="document.getElementById('message').innerHTML = 'None: This box is not clickable!'">
74 None (Not Clickable)
75 </div>
76 </section>
77 <div id="message">Message Box</div>
78 </section>
79 </article>
80 <article>
81 <h3>resize</h3>
82 <section>
83 <header><h4>resize: both</h4></header>
84 <section class="sample-view">
85 <textarea class="resizable-both">Resizes both horizontally and vertically</textarea>
86 </section>
87 <header><h4>resize: horizontal</h4></header>
88 <section class="sample-view">
89 <textarea class="resizable-horizontal">Resizes horizontally</textarea>
90 </section>
91 <header><h4>resize: vertical</h4></header>
92 <section class="sample-view">
93 <textarea class="resizable-vertical">Resizes vertically</textarea>
94 </section>
95 <header><h4>resize: none</h4></header>
96 <section class="sample-view">
97 <textarea class="non-resizable">Cannot resize</textarea>
98 </section>
99 </section>
100 </article>
101 </main>
102</body>
103</html>
Relacionado à Interface do Usuário
Propriedade content
1.content-note::before {
2 content: "Note: ";
3 color: red;
4 background-color: steelblue;
5 }
6
7.content-end::after {
8 content: " (End)";
9 color: blue;
10 background-color: lightsteelblue;
11}
A propriedade content
é usada para adicionar conteúdo a pseudo-elementos, principalmente ::before
ou ::after
. Essa propriedade é usada para definir texto, imagens, contadores, etc., que não são exibidos diretamente dentro do elemento. Seu principal objetivo é permitir o controle de conteúdo decorativo ou informações complementares que não estão escritas diretamente no HTML por meio de folhas de estilo.
Neste exemplo, "Nota: " é adicionado antes do elemento e "(Fim)" é adicionado depois. Estes usam os pseudo-elementos ::before
e ::after
, respectivamente.
Valores da propriedade content
1/* Text */
2content: "Hello, world!";
3
4/* Image */
5content: url(image.png);
6
7/* Counter */
8content: counter(item);
9
10/* Attribute */
11content: attr(title);
12
13/* None */
14content: none;
A propriedade content
pode assumir os seguintes valores:.
- Texto: Especificar diretamente, envolvendo a string em
""
. Adiciona texto. - Imagem: Use a função
url()
para inserir imagens. - Contador: Use a função
counter()
para exibir contadores. - Atributo: Use a função
attr()
para exibir valores de atributos de elementos HTML. Por exemplo, você pode exibir o atributotitle
. - none: Especifica que nenhum conteúdo será exibido. Este é o estado padrão.
Notas de Uso
- A propriedade
content
se aplica apenas a pseudo-elementos, não a elementos regulares. - Como não é adicionada ao DOM, ela não pode ser manipulada diretamente com JavaScript.
- Pode afetar o layout, portanto, é comumente usada para exibir informações decorativas ou complementares.
Exemplo
1p::before {
2 content: url(icon.png);
3 margin-right: 5px;
4}
Este é um exemplo de adição de um ícone antes de uma tag <p>
.
Dessa forma, você pode complementar visualmente o conteúdo por meio de folhas de estilo.
Propriedade cursor
1.default-cursor {
2 cursor: default;
3}
4
5.pointer-cursor {
6 cursor: pointer;
7}
8
9.text-cursor {
10 cursor: text;
11}
12
13.wait-cursor {
14 cursor: wait;
15}
16
17.not-allowed-cursor {
18 cursor: not-allowed;
19}
A propriedade cursor
é usada para especificar o tipo de cursor a ser exibido quando o ponteiro do mouse é colocado sobre um elemento. Você pode especificar vários estilos de cursor, e frequentemente é aplicado a elementos interativos para melhorar a experiência do usuário.
Principais Tipos de Cursor
Os seguintes valores podem ser especificados como tipos de cursor:.
default
- `default` é o cursor de seta normal (o cursor padrão do navegador).
pointer
- `pointer` é um cursor em forma de mão exibido quando colocado sobre um link.
text
- `text` é um cursor em forma de I exibido em áreas onde o texto pode ser selecionado.
move
- `move` é um cursor em forma de cruz usado quando um elemento pode ser arrastado.
crosshair
- `crosshair` é um cursor em forma de mira para seleção precisa.
not-allowed
- `not-allowed` é um cursor para regiões ou ações que não são permitidas.
help
- `help` é um cursor com um ponto de interrogação exibido quando colocado sobre elementos que podem fornecer informações de ajuda.
wait
- `wait` é um cursor em forma de ampulheta ou circular que representa um estado de processamento.
progress
- `progress` é um cursor que representa uma operação em andamento. No entanto, indica que o usuário pode realizar outras operações.
grab
- `grab` é um cursor para agarrar elementos que podem ser arrastados.
grabbing
- `grabbing` é um cursor que indica que um elemento está sendo arrastado.
resize
- `resize` é um cursor usado quando uma janela ou elemento pode ser redimensionado. Existem diferentes tipos dependendo da direção.
- **`n-resize`**: redimensionar para cima.
- **`s-resize`**: Redimensionar para baixo.
- **`e-resize`**: Redimensionar para a direita.
- **`w-resize`**: Redimensionar para a esquerda.
- **`ne-resize`**: Redimensionar para o canto superior direito.
- **`nw-resize`**: Redimensionar para o canto superior esquerdo.
- **`se-resize`**: Redimensionar para o canto inferior direito.
- **`sw-resize`**: Redimensionar para o canto inferior esquerdo.
Cursor personalizado
1element {
2 cursor: url('custom-cursor.png'), auto;
3}
Também é possível especificar um cursor personalizado usando url()
.
- Neste exemplo,
custom-cursor.png
é o arquivo de imagem para o cursor. Se essa imagem não estiver disponível, o navegador exibirá o cursor padrão comauto
.
Resumo
- A propriedade
cursor
especifica qual cursor deve ser exibido quando o usuário está sobre um elemento. - Existem vários estilos de cursor disponíveis dependendo do uso, e também é possível definir cursores personalizados.
- Ao selecionar estilos de cursor apropriados de acordo com elementos interativos e operações restritas, é possível oferecer uma interface mais amigável ao usuário.
Propriedade pointer-events
1.pointer-events-auto {
2 pointer-events: auto;
3 background-color: lightblue;
4 cursor: pointer;
5}
6
7.pointer-events-none {
8 pointer-events: none;
9 background-color: lightcoral;
10 cursor: pointer;
11}
A propriedade pointer-events
é usada para controlar como um elemento lida com eventos de dispositivos de ponteiro, como mouse, toque e caneta. Normalmente, quando um elemento é clicado ou sobrevoado por um usuário, ele recebe eventos de ponteiro, mas esse comportamento pode ser alterado usando esta propriedade.
- Na classe
pointer-events-auto
, a propriedadepointer-events
é configurada comoauto
, permitindo processar eventos normais de clique e sobrevoo. O elemento é clicável, então uma mensagem é exibida quando ele é clicado. - Na classe
pointer-events-auto
, a propriedadepointer-events
é configurada comonone
, então o elemento não recebe eventos de ponteiro. Mesmo que a propriedadecursor
seja configurada comopointer
, o cursor do mouse não muda, e outros elementos abaixo se tornam clicáveis.
Tipos de valores
- A propriedade
pointer-events
especifica se e como um elemento recebe eventos de ponteiro. Você pode especificar os seguintes valores.
auto
auto
é o valor padrão, onde o elemento recebe eventos de ponteiro normalmente.
none
- Quando
none
é especificado, o elemento não recebe eventos de ponteiro. O elemento desabilita interações como cliques e passagens do cursor, mas outros elementos abaixo podem receber eventos de ponteiro.
visiblePainted
, visibleFill
, visibleStroke
, visible
, painted
, fill
, stroke
, all
, inherit
1pointer-events: visiblePainted;
2pointer-events: visibleFill;
3pointer-events: visibleStroke;
4pointer-events: visible;
5pointer-events: painted;
6pointer-events: fill;
7pointer-events: stroke;
8pointer-events: all;
9pointer-events: inherit;
- Esses valores são usados principalmente para elementos SVG. Cada valor controla se partes específicas de um elemento (como preenchimento, traçado, etc.) respondem a eventos de ponteiro. Não é comumente usado com elementos HTML regulares.
Pontos-chave para Uso
Aqui estão alguns exemplos de como usar a propriedade pointer-events
.
-
Selecionando os elementos que você deseja desativar.
- O valor
none
é útil para desativar temporariamente elementos como botões ou links.
- O valor
-
Uso com elementos sobrepostos.
- Quando a propriedade
position
é definida comoabsolute
ou os elementos são empilhados usando a propriedadez-index
, definirpointer-events
comonone
no elemento superior permite que eventos de ponteiro sejam enviados para o elemento abaixo.
- Quando a propriedade
Propriedade resize
.
1.resizable-both {
2 resize: both;
3 overflow: auto;
4 width: 200px;
5 height: 100px;
6 border: 1px solid black;
7}
8
9.resizable-horizontal {
10 resize: horizontal;
11 overflow: auto;
12 width: 200px;
13 height: 100px;
14 border: 1px solid black;
15}
16
17.resizable-vertical {
18 resize: vertical;
19 overflow: auto;
20 width: 200px;
21 height: 100px;
22 border: 1px solid black;
23}
24
25.non-resizable {
26 resize: none;
27 overflow: auto;
28 width: 200px;
29 height: 100px;
30 border: 1px solid black;
31}
A propriedade resize
é uma propriedade CSS que especifica em que direção um elemento pode ser redimensionado pelo usuário. Usando essa propriedade, você pode permitir que os elementos sejam redimensionados vertical ou horizontalmente arrastando, ou desativar completamente o redimensionamento.
Neste exemplo, a direção em que uma área de texto pode ser redimensionada é especificada usando a propriedade resize
.
- Com
resize: both;
, um elemento pode ser redimensionado tanto horizontal quanto verticalmente. - Com
resize: horizontal;
, um elemento pode ser redimensionado apenas horizontalmente. - Com
resize: vertical;
, um elemento pode ser redimensionado apenas verticalmente. - Com
resize: none;
, um elemento não pode ser redimensionado.
Tipos de valores
- A propriedade
resize
recebe um valor que especifica a direção em que um elemento pode ser redimensionado. Você pode especificar os seguintes valores.
none
- Especificar
none
desativa o redimensionamento do elemento. Este é o valor padrão.
both
- Especificar
both
permite que o elemento seja redimensionado em ambas as direções vertical e horizontal.
horizontal
- Especificar
horizontal
permite que o elemento seja redimensionado apenas na direção horizontal (largura).
vertical
- Especificar
vertical
permite que o elemento seja redimensionado apenas na direção vertical (altura).
inherit
- Especificar
inherit
faz com que o elemento herde o valor da propriedaderesize
de seu elemento pai.
Notas
- Para tornar um elemento redimensionável, é necessário definir a propriedade
overflow
juntamente com a propriedaderesize
. Elementos redimensionáveis podem exigir barras de rolagem, e normalmente é definidooverflow: auto
. - O redimensionamento é geralmente usado com elementos de bloco, como
div
etextarea
.
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.