Resumo : neste tutorial, você aprenderá como usar a propriedade style para manipular o estilo inline dos elementos HTML.
Configurando estilos embutidos
Para definir o estilo embutido de um elemento, você usa a style
propriedade desse elemento:
element.style
Linguagem de código: CSS ( css )
A style
propriedade retorna o objeto somente leitura CSSStyleDeclaration
que contém uma lista de propriedades CSS. Por exemplo, para definir a cor de um elemento como red
, use o seguinte código:
element.style.color = 'red';
Linguagem de código: JavaScript ( javascript )
Se a propriedade CSS contém hífens ( -
), por exemplo, -webkit-text-stroke
você pode usar a notação semelhante a um array ( []
) para acessar a propriedade:
element.style.['-webkit-text-stock'] = 'unset';
Linguagem de código: JavaScript ( javascript )
A tabela a seguir mostra as propriedades CSS comuns:
CSS | JavaScript |
---|---|
fundo | fundo |
anexo de fundo | plano de fundoAnexo |
cor de fundo | cor de fundo |
imagem de fundo | imagem de fundo |
posição de fundo | posição de fundo |
fundo de repetição | fundo de repetição |
fronteira | fronteira |
borda inferior | borda inferior |
cor da borda inferior | bordaBottomColor |
estilo borda inferior | borderBottomStyle |
largura da borda inferior | borderBottomWidth |
Cor da borda | Cor da borda |
fronteira esquerda | borda esquerda |
cor da borda esquerda | bordaLeftColor |
estilo borda esquerda | borderLeftStyle |
largura da borda esquerda | bordaLeftWidth |
fronteira direita | fronteiraDireita |
cor da borda direita | borderRightColor |
estilo borda direita | borderRightStyle |
largura da borda à direita | borderRightWidth |
estilo de borda | estilo de borda |
borda superior | bordaTop |
cor da borda superior | borderTopColor |
estilo de borda superior | borderTopStyle |
largura da borda superior | borderTopWidth |
largura da borda | largura da borda |
claro | claro |
grampo | grampo |
cor | cor |
cursor | cursor |
mostrar | mostrar |
filtro | filtro |
flutuador | cssFloat |
Fonte | Fonte |
família de fontes | família de fontes |
tamanho da fonte | tamanho da fonte |
variante de fonte | fonteVariant |
espessura da fonte | espessura da fonte |
altura | altura |
esquerda | esquerda |
espaçamento entre letras | espaçamento entre letras |
altura da linha | altura da linha |
estilo de lista | estilo de lista |
imagem de estilo de lista | listStyleImage |
posição de estilo de lista | listStylePosition |
tipo de estilo de lista | listStyleType |
margem | margem |
margem inferior | margemInferior |
margem esquerda | margem esquerda |
margem direita | margemDireita |
margem superior | margemTop |
transbordar | transbordar |
preenchimento | preenchimento |
fundo de preenchimento | preenchimentoInferior |
preenchimento à esquerda | preenchimentoEsquerda |
preenchimento à direita | preenchimento à direita |
topo acolchoado | preenchimentoTopo |
quebra de página depois | pageBreakDepois |
quebra de página antes | pageBreakBefore |
posição | posição |
acidente vascular cerebral-dasharray | acidente vascular cerebralDasharray |
traço-dashoffset | acidente vascular cerebralDashoffset |
largura do traçado | largura do traçado |
alinhamento de texto | alinhamento de texto |
decoração de texto | textoDecoração |
recuo de texto | textoIndent |
transformação de texto | textoTransformar |
principal | principal |
alinhamento vertical | verticalAlign |
visibilidade | visibilidade |
largura | largura |
índice z | zIndex |
Para substituir completamente o estilo embutido existente, defina a cssText
propriedade do style
objeto. Por exemplo:
element.style.cssText = 'color:red;background-color:yellow';
Linguagem de código: JavaScript ( javascript )
Ou você pode usar o setAttribute()
método:
element.setAttribute('style','color:red;background-color:yellow');
Linguagem de código: JavaScript ( javascript )
Depois de definir o estilo embutido, você pode modificar uma ou mais propriedades CSS:
element.style.color = 'blue';
Linguagem de código: JavaScript ( javascript )
Se não quiser substituir completamente as propriedades CSS existentes, você pode concatenar a nova propriedade CSS da cssText
seguinte forma:
element.style.cssText += 'color:red;background-color:yellow';
Linguagem de código: JavaScript ( javascript )
Nesse caso, o +=
operador anexa a nova sequência de estilo à existente.
A seguinte css()
função auxiliar é usada para definir vários estilos para um elemento de um objeto de pares chave-valor:
function css(e, styles) {
for (const property in styles)
e.style[property] = styles[property];
}
Linguagem de código: JavaScript ( javascript )
Você pode usar esta css()
função para definir vários estilos para um elemento com o id #content
da seguinte forma:
let content = document.querySelector('#content');
css(content, { background: 'yellow', border: 'solid 1px red'});
Linguagem de código: JavaScript ( javascript )
O exemplo a seguir usa o style
objeto para definir as propriedades CSS de um parágrafo com o id content
:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Style Demo</title>
</head>
<body>
<p id="content">JavaScript Setting Style Demo!</p>
<script>
let p = document.querySelector('#content');
p.style.color = 'red';
p.style.fontWeight = 'bold';
</script>
</body>
</html>
Linguagem de código: HTML, XML ( xml )
Como funciona:
- Primeiro, selecione o elemento do parágrafo cujo id está
content
usando oquerySelector()
método. - Em seguida, defina as propriedades de cor e espessura da fonte do parágrafo definindo as propriedades
color
efontWeight
dostyle
objeto.
Obtendo estilos embutidos
A style
propriedade retorna os estilos embutidos de um elemento. Na prática não é muito útil porque a style
propriedade não retorna as regras que vêm de outro lugar, por exemplo, estilos de uma folha de estilos externa.
Para aplicar todos os estilos a um elemento, você deve usar o window.getComputedStyle()
método.
Resumo
- Use as propriedades do
element.style
objeto para definir as propriedades CSS embutidas para o elemento HTML.