Esta tag especial serve para definir um estilo em cascata, muito semelhante ao CSS no HTML. Um estilo em cascata é um bloco de códigos especiais que aplica valores à propriedades de 1 ou mais controles de uma vez só, em cascata.
É especialmente útil para evitar retrabalho e para separar o formato do conteúdo principal do Lua Form.
Importante: A sintaxe do estilo em cascata é muito semelhante ao do CSS, porém as propriedades disponíveis são diferentes..
A tag style não possui nenhum atributo/propriedade e seu corpo contém o código do estilo em cascata.
A tag style possui uma sintaxe muito parecida com o CSS e seu conteúdo consiste de uma lista de regras. Cada regra ou conjunto de regras consiste de um ou mais seletores e um bloco de declaração. Uma declaração de bloco é composta por uma lista de declarações entre chaves. Cada declaração em si é uma propriedade, dois pontos (:), um valor, então um ponto e vírgula (;).
Exemplo que resume as regras acima:
seletor1 [, seletor2, ...] { propriedade1: valor; [propriedade2: valor2; ...] } |
Um seletor é uma regra genérica que define à quais tags/componentes o estilo será aplicado, e ele pode as seguintes aparências:
Seletor |
Exemplo |
Descrição |
.class |
.TituloAtributo |
O estilo será aplicado a todas as tags que possuam atributo "class" equivalente a "TituloAtributo". Exemplo de tag que receberia o estilo em cascata:
|
#nome |
#edtNome |
O estilo será aplicado à tag cujo atributo "name" seja igual a "edtNome" Exemplo de tag que receberia o estilo em cascata: <edit name="edtNome" text="Campo de text"/> |
* |
* |
O estilo será aplicado a todas as tags. |
tagName |
label |
O estilo é aplicado a todas as tags "tagName", neste exemplo, todos os labels. Exemplo de tag que receberia este estilo em cascata: <label text="Olá mundo"/> |
tagName.class |
layout.PainelAtributo |
O estilo é aplicado a todas as tags "layou" cujo atributo "class" seja "PainelAtributo" |
Além disso, através da combinação dos seletores acima, é possível definir um seletor composto que analisa onde a tag está. Exemplos:
Seletor |
Exemplo |
Descrição |
.class tagName |
.PainelAtributo label |
O estilo será aplicado a todos as "label" que estão dentro de alguma tag que contenha o atributo "class" equivalente a "PainelAtributo" Exemplo: <layout class="PainelAtributo"> </layout>
<label text="Label de fora"/> Neste caso, o label de dentro receberá o estilo, porém o label de fora não. |
tagName tagName |
layout label |
O estilo será aplicada a todos "labels" que estão dentro de algum "layout" |
.class .class |
.PainelAtributo .TituloAtributo |
O estilo será aplicado a todas as tags que possuam atributo "class" igual a "TituloAtributo" que estão dentro de alguma tag que possuam "class" igual a "PainelAtributo"; |
tagName tagName tagName |
layout layout label |
O estilo será aplicado a todos "labels" que estão dentro de um "layout" que por sua vez estão dentro de outro "layout". |
etc.... |
|
|
É possível definir múltiplos seletores a um único bloco de estilo utilizando vírgula, exemplo:
.TituloAtributo, .TituloPericia, .TituloEquipamento { |
"fontSize: 18" e "width: 200" serão aplicados a todas as tags cuja propriedade "class" seja "TituloAtributo", "TituloPericia" e "TituloEquipamento".
As propriedades disponíveis são aquelas que a tag disponibiliza. Confira a documentação da TAG.
Importante: O conjunto de propriedades é diferente daquelas que você pode usar em CSS do HTML.
<?xml version="1.0" encoding="UTF-8"?> <style> <layout left="20" top="20" width="100" height="100"> |
<?xml version="1.0" encoding="UTF-8"?> <style> <layout left="20" top="20" width="100" height="100"> |
<?xml version="1.0" encoding="UTF-8"?> layout.LayoutCampo edit { layout.LayoutCampo label { } <layout left="10" top="10" width="200" height="64"> |
Neste exemplo, os atributos dos edits, labels e layouts foram definidos por Estilo em Cascata pela tag style.
Foram definidos 3 blocos de estilos em cascata:
Created with the Personal Edition of HelpNDoc: Ensure High-Quality Documentation with HelpNDoc's Hyperlink and Library Item Reports