Cascading Style Sheets

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Cascading Style Sheets
Extensão do arquivo .css
Desenvolvido por World Wide Web Consortium
Tipo de formato Linguagem de folhas de estilo
padrão(ões)

Cascading Style Sheets (CSS) é um simples mecanismo para adicionar estilo (cores, fontes, espaçamento etc) a um documento web.[1]

Em vez de colocar a formatação dentro do documento, o CSS cria um link (ligação) para uma página que contém os estilos. Quando quiser alterar a aparência do portal basta portanto modificar apenas um arquivo.[2]

Com a variação de atualizações dos navegadores (browsers) como Internet Explorer que ficou sem nova versão de 2001 a 2006, o suporte ao CSS pode variar. O Internet Explorer 6, por exemplo, tem suporte total a CSS1 e praticamente nulo a CSS2. Navegadores mais modernos como Google Chrome e Mozilla Firefox tem suporte maior, inclusive até a CSS3, ainda em desenvolvimento.

A interpretação dos navegadores pode ser avaliada com o teste Acid2, que se tornou uma forma base de revelar quão eficiente é o suporte de CSS, fazendo com que a nova versão em desenvolvimento do Firefox seja totalmente compatível a ele assim como o Opera já é. O Doctype informado ou a ausência dele determina o quirks mode ou o strict mode modificando o modo como o CSS é interpretado e a página desenhada.

Sintaxe[editar | editar código-fonte]

Resultado obtido no Acid2 satisfatoriamente.

CSS tem uma sintaxe simples e utiliza uma série de palavras em inglês para especificar os nomes de diferentes estilos de propriedade de uma página.

Uma instrução CSS consiste em um seletor e um bloco de declaração. Cada declaração contém uma propriedade e um valor, separados por dois pontos (:). Cada declaração é separada por ponto e vírgula (;).[3][4]

Em CSS, seletores são usados para declarar a quais elementos de marcação um estilo se aplica, uma espécie de expressão correspondente. Os seletores podem ser aplicados a todos os elementos de um tipo específico, ou apenas aqueles elementos que correspondam a um determinado atributo; elementos podem ser combinados, dependendo de como eles são colocados em relação uns aos outros no código de marcação, ou como eles estão aninhados dentro do objeto de documento modelo.

Pseudo-classe é outra forma de especificação usada em CSS para identificar os elementos de marcação, e, em alguns casos, ações específicas de usuário para o qual um bloco de declaração especial se aplica. Um exemplo freqüentemente utilizada é o :hover pseudo-classe que se aplica um estilo apenas quando o usuário 'aponta para' o elemento visível, normalmente, mantendo o cursor do mouse sobre ele. Isto é anexado a um seletor como em a:hover ou #elementid:hover. Outras pseudo-classes e pseudo-elementos são, por exemplo, :first-line, :visited or :before. Uma pseudo-classe especial é :lang(c), "c".

Uma pseudo-classe seleciona elementos inteiros, tais como :link ou :visited, considerando que um pseudo-elemento faz uma seleção que pode ser constituída por elementos parciais, tais como :first-line ou :first-letter.

Seletores podem ser combinados de outras formas também, especialmente em CSS 2.1, para alcançar uma maior especificidade e flexibilidade. [5]

Aqui está um exemplo que resume as regras acima:

selector [, selector2, ...][:pseudo-class] {
  property: value;
 [property2: value2;
  ...]
}
/* comment */

Seletores[editar | editar código-fonte]

Definição de estilo é um conjunto de propriedades visuais para um elemento, o CSS define regras que fazem as definições de estilo casarem com um elemento ou grupo de elemento, o documento pode conter um bloco de css em um elemento style ou usando o element link apontando para um arquivo externo que contenha o bloco CSS.

Para uso com o CSS foi criado o atributo class que todo elemento pode conter.

As regras de casamento para o css são chamadas de seletores, uma definição de estilo pode ser casada com um seletor ou um grupo de seletores separados por vírgula, um seletor pode casar um elemento por:

  • elemento do tipo : element_name { style definition; }
  • elemento do tipo com a classe : element_name.class_name { style definition; }
  • todos os elementos com a classe : .class_name { style definition; }
  • o elemento com o id : #id_of_element { style definition; }
  • casamento de um grupo : element_name_01, element_name_02, .class_name { style definition; }
Exemplos
p {text-align: right; color: #BA2;}
p.minhaclasse01 { color:#ABC; }
.minhaclasse02 { color:#CAD; }
# iddomeuelemento { color:#ACD; }
p.minhaclasse03 .minhaclasse04 { color:#ACD; }

Exemplos[editar | editar código-fonte]

/* comentário em css, semelhante aos da linguagem c */
body
{
   font-family: Arial, Verdana, sans-serif;
   background-color: #FFF;
   margin: 5px 10px;
}

O código acima define fonte padrão Arial, caso não exista substitui por Verdana, caso não exista define qualquer fonte sans-serif. Define também a cor de fundo do corpo da página.

Sua necessidade adveio do fato de o HTML (Hyper Text Markup Language) aos poucos ter deixado de ser usado apenas para criação de conteúdo na web, e portanto havia uma mistura de formatação e conteúdo textual dentro do código de uma mesma página. Contudo, na criação de um grande portal, fica quase impossível manter uma identidade visual, bem como a produtividade do desenvolvedor. É nesse ponto que entra o CSS.

As especificações do CSS podem ser obtidas no site da W3C "World Wide Web Consortium", um consórcio de diversas empresas que buscam estabelecer padrões para a Internet.

É importante notar que nenhum navegador suporta igualmente as definições do CSS. Desta forma, o web designer deve sempre testar suas folhas de estilo em navegadores de vários fabricantes, e preferencialmente em mais de uma versão, para se certificar de que o que foi codificado realmente seja apresentado da forma desejada.

Exemplo de CSS aplicado em XML[editar | editar código-fonte]

O arquivo de exemplo XML renderizado no Mozilla Firefox.

Arquivo *.XML com ligação para uma folha de estilos em cascata:

 <?xml version="1.0" encoding="UTF-8"?>
 <?xml-stylesheet type="text/css" href="css.css"?>
 <schedule>
   <date>Tuesday 20 June</date>
   <programme>
     <starts>6:00</starts>
     <title>News</title>
     With Michael Smith and Fiona Tolstoy.
     Followed by Weather with Malcolm Stott.
   </programme>
   <programme>
     <starts>6:30</starts>
     <title>Regional news update</title>
     Local news for your area.
   </programme>
   <programme>
     <starts>7:00</starts>
     <title>Unlikely suspect</title>
     Whimsical romantic crime drama starring Janet
     Hawthorne and Percy Trumpp.
   </programme>
 </schedule>

O arquivo *.CSS que formata o XML anterior:

  @media screen {
    schedule {
      display: block;
      margin: 10px;
      width: 300px;
    }
    date {
      display: block;
      padding: 0.3em;
      font: bold x-large sans-serif;
      color: white;
      background-color: #C6C;
    }
    programme {
      display: block;
      font: normal medium sans-serif;
    }
    programme > * { /* All children of programme elements */
      font-weight: bold;
      font-size: large;
    }
    title {
      font-style: italic;
    }
  }

CSS e JavaScript[editar | editar código-fonte]

Pop-up não-bloqueável[editar | editar código-fonte]

<html>
  <head>

    <style type="text/css">
# popup {
        position: absolute;
        top: 30%;
        left: 30%;
        width: 300px;
        height: 150px;
        padding: 20px 20px 20px 20px;
        border-width: 2px;
        border-style: solid;
        background: #ffffa0;
        display: none;
      }
    </style>

    <script type="text/javascript">
      function abrir() {
        document.getElementById('popup').style.display = 'block';
        setTimeout ("fechar()", 3000);
      }

      function fechar() {
        document.getElementById('popup').style.display = 'none';
      }
    </script>
  </head>
  <body onload="abrir()" >
    <div id="popup" class="popup">
      Esse é um exemplo de popup utilizando o elemento <code>div</code>. Dessa maneira esse
      pop-up não será bloqueado.

      <small><a href="javascript: fechar();">[X]</a></small>
    </div>

<a href="javascript: abrir();">Abrir pop-up</a>

<a href="javascript: fechar();">Fechar pop-up</a>
  </body>
</html>

Ver também[editar | editar código-fonte]

Referências

  1. «Cascading Style Sheets». www.w3.org (em inglês). Consultado em 25 de março de 2017 
  2. «Como Inserir CSS». www.escolaw3.com. Consultado em 25 de março de 2017 
  3. «W3C CSS2.1 specification for rule sets, declaration blocks, and selectors». W3.org. Consultado em 20 de junho de 2009 
  4. «Sintaxe e Seletores CSS». www.escolaw3.com. Consultado em 25 de março de 2017 
  5. see the complete definition of selectors at the W3C Web site.

Ligações externas[editar | editar código-fonte]

Outros projetos Wikimedia também contêm material sobre este tema:
Wikilivros Livros e manuais no Wikilivros