SdevLab – Curso | Aprenda CSS 1 Online

Eae galera,

Aproveitando o post anterior, curso de HTML 4.1, vou postar hoje uma sequência de tutoriais que ensina o básico sobre a primeira versão do CSS que eu trabalhei, o CSS1. A história do post é a mesma, os posts são o resultado de um material didático que preparei para um curso que ministrei na época da faculdade. Então, vou postar mais alguns cursos aqui nos próximos dias!

OBS: O “curso” foi planejado para autodidatas, não é como na sala de aula que quando você não entende pode simplesmente levantar a mão e fazer uma pergunta. Aqui no nosso curso quem não entender algo, pode (e deve) usar o recurso do comentário!

Curso de CSS 1 Online

css

Aulas do Curso

Para quem estiver interessado, segue abaixo um roteiro de tutoriais que foi preparado para quem não entende nada do assunto e deseja saber o básico da linguagem (o curso é referente a versão 1 do CSS).

Continuar lendo

SdevLab – Exemplo de Código | Menu drop-down com CSS e Javascript

Aproveitando esta fornada de tutoriais css, segue abaixo o código de um menu Drop-down. O código não é meu, nem do cara que eu copiei, ou seja, alguem fez colocou na net e não reinvidicou, mas só pra não ficar chato, o site “origem” pelo menos pra mim do código é este -> http://www.yogodoshi.com/blog/web-developer.

Menu drop-down com CSS e Javascript


<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;
<html xmlns=”http://www.w3.org/1999/xhtml”&gt;
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<title>Testando o menu drop-down</title>
<style type=”text/css”>
body { font: normal 62.5% verdana; }

ul.menubar{
margin: 0px;
padding: 0px;
background-color: #FFFFFF; /* IE6 Bug */
font-size: 100%;
}

ul.menubar .submenu{
margin: 0px;
padding: 0px;
list-style: none;
background-color: #FFFFFF;
border: 1px solid #ccc;
float:left;
}

ul.menubar ul.menu{
display: none;
position: absolute;
margin: 0px;
}

ul.menubar a{
padding: 5px;
display:block;
text-decoration: none;
color: #777;
padding: 5px;
}

ul.menu, ul.menu ul{
margin: 0;
padding: 0;
border-bottom: 1px solid #ccc;
width: 150px; /* Width of Menu Items */
background-color: #FFFFFF; /* IE6 Bug */
}

ul.menu li{
position: relative;
list-style: none;
border: 0px;
}

ul.menu li a{
display: block;
text-decoration: none;
border: 1px solid #ccc;
border-bottom: 0px;
color: #777;
padding: 5px 10px 5px 5px;
}

ul.menu li sup{
font-weight:bold;
font-size:7px;
color: red;
}

/* Fix IE. Hide from IE Mac \*/
* html ul.menu li { float: left; height: 1%; }
* html ul.menu li a { height: 1%; }
/* End */

ul.menu ul{
position: absolute;
display: none;
left: 149px; /* Set 1px less than menu width */
top: 0px;
}

ul.menu li.submenu ul { display: none; } /* Hide sub-menus initially */

ul.menu li.submenu { background: transparent url(arrow.gif) right center no-repeat; }

ul.menu li a:hover { color: #E2144A; }

</style>

<script type=”text/javascript”>
function horizontal() {

var navItems = document.getElementById(“menu_dropdown”).getElementsByTagName(“li”);

for (var i=0; i< navItems.length; i++) {
if(navItems[i].className == “submenu”)
{
if(navItems[i].getElementsByTagName(‘ul’)[0] != null)
{
navItems[i].onmouseover=function() {this.getElementsByTagName(‘ul’)[0].style.display=”block”;this.style.backgroundColor = “#f9f9f9″;}
navItems[i].onmouseout=function() {this.getElementsByTagName(‘ul’)[0].style.display=”none”;this.style.backgroundColor = “#FFFFFF”;}
}
}
}

}

</script>

</head>

<body onload=”horizontal();”>

<ul id=”menu_dropdown” class=”menubar”>
<li class=”submenu”><a href=”#”>Not&iacute;cias</a></li>
<li class=”submenu”><a href=”#”>Institucional</a>

<ul class=”menu”>
<li><a href=”#”>Fotos da Frota</a></li>
<li><a href=”#”>História</a></li>
<li><a href=”#”>Missão</a></li>
<li><a href=”#”>Visão</a></li>
<li><a href=”#”>Instalações</a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Qualidade</a>

<ul class=”menu”>
<li><a href=”#”>Resultado dos indicadores</a></li>
<li><a href=”#”>Informativos da Qualidade</a></li>
<li><a href=”#”>Política de Qualidade</a></li>
<li><a href=”#”>Projetos Sociais</a></li>
<li><a href=”#”>Resultado da pesquisa de satisfação</a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Serviços</a>

<ul class=”menu”>
<li><a href=”#”>Links Úteis</a></li>
<li><a href=”#”>Itinerário</a></li>
<li><a href=”#”>Mapa das Rotas<sup>novo</sup></a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Contato</a>

<ul class=”menu”>
<li><a href=”#”>Colabore Conosco</a></li>
<li><a href=”#”>Enquetes finalizadas</a></li>
<li><a href=”#”>Fale Conosco</a></li>
<li><a href=”#”>Trabalhe Conosco</a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Localize seu ônibus</a></li>
</ul>

</body>
</html>


OBS: Se copiar e colar o código não funcionar, salve este arquivo (menu3) no seu computador. É um arquivo .doc, logo você vai precisar abrir ele e salvar o mesmo como menu3.htm (codificação UNICODE) para conseguir o resultado esperado que é um menu como a imagem abaixo.

Até a próxima!
xD

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;
<html xmlns=”http://www.w3.org/1999/xhtml”&gt;
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<title>Testando o menu drop-down</title>
<style type=”text/css”>
body { font: normal 62.5% verdana; }ul.menubar{
margin: 0px;
padding: 0px;
background-color: #FFFFFF; /* IE6 Bug */
font-size: 100%;
}ul.menubar .submenu{
margin: 0px;
padding: 0px;
list-style: none;
background-color: #FFFFFF;
border: 1px solid #ccc;
float:left;
}ul.menubar ul.menu{
display: none;
position: absolute;
margin: 0px;
}ul.menubar a{
padding: 5px;
display:block;
text-decoration: none;
color: #777;
padding: 5px;
}ul.menu, ul.menu ul{
margin: 0;
padding: 0;
border-bottom: 1px solid #ccc;
width: 150px; /* Width of Menu Items */
background-color: #FFFFFF; /* IE6 Bug */
}

ul.menu li{
position: relative;
list-style: none;
border: 0px;
}

ul.menu li a{
display: block;
text-decoration: none;
border: 1px solid #ccc;
border-bottom: 0px;
color: #777;
padding: 5px 10px 5px 5px;
}

ul.menu li sup{
font-weight:bold;
font-size:7px;
color: red;
}

/* Fix IE. Hide from IE Mac \*/
* html ul.menu li { float: left; height: 1%; }
* html ul.menu li a { height: 1%; }
/* End */

ul.menu ul{
position: absolute;
display: none;
left: 149px; /* Set 1px less than menu width */
top: 0px;
}

ul.menu li.submenu ul { display: none; } /* Hide sub-menus initially */

ul.menu li.submenu { background: transparent url(arrow.gif) right center no-repeat; }

ul.menu li a:hover { color: #E2144A; }

</style>

<script type=”text/javascript”>
function horizontal() {

var navItems = document.getElementById(“menu_dropdown”).getElementsByTagName(“li”);

for (var i=0; i< navItems.length; i++) {
if(navItems[i].className == “submenu”)
{
if(navItems[i].getElementsByTagName(‘ul’)[0] != null)
{
navItems[i].onmouseover=function() {this.getElementsByTagName(‘ul’)[0].style.display=”block”;this.style.backgroundColor = “#f9f9f9″;}
navItems[i].onmouseout=function() {this.getElementsByTagName(‘ul’)[0].style.display=”none”;this.style.backgroundColor = “#FFFFFF”;}
}
}
}

}

</script>

</head>

<body onload=”horizontal();”>

<ul id=”menu_dropdown” class=”menubar”>
<li class=”submenu”><a href=”#”>Not&iacute;cias</a></li>
<li class=”submenu”><a href=”#”>Institucional</a>

<ul class=”menu”>
<li><a href=”#”>Fotos da Frota</a></li>
<li><a href=”#”>História</a></li>
<li><a href=”#”>Missão</a></li>
<li><a href=”#”>Visão</a></li>
<li><a href=”#”>Instalações</a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Qualidade</a>

<ul class=”menu”>
<li><a href=”#”>Resultado dos indicadores</a></li>
<li><a href=”#”>Informativos da Qualidade</a></li>
<li><a href=”#”>Política de Qualidade</a></li>
<li><a href=”#”>Projetos Sociais</a></li>
<li><a href=”#”>Resultado da pesquisa de satisfação</a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Serviços</a>

<ul class=”menu”>
<li><a href=”#”>Links Úteis</a></li>
<li><a href=”#”>Itinerário</a></li>
<li><a href=”#”>Mapa das Rotas<sup>novo</sup></a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Contato</a>

<ul class=”menu”>
<li><a href=”#”>Colabore Conosco</a></li>
<li><a href=”#”>Enquetes finalizadas</a></li>
<li><a href=”#”>Fale Conosco</a></li>
<li><a href=”#”>Trabalhe Conosco</a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Localize seu ônibus</a></li>
</ul>

</body>
</html>

SdevLab – Tutorial | CSS Como desenvolver um Layout Tabless

O tutorial de hoje é a sequência do tutorial anterior, e é também o último da série de tutorias sobre CSS. Se você já tem uma noção básica não faz diferença a sequência, porém, se você deseja aprender na ordem correta, visite esta página!

Boa leitura!

ATUALIZAÇÃO (14/08/2015): Este post foi escrito com base nos tutoriais do W3C para CSS (se não me engano, esta versão é a primeira que tinha no W3C (CSS 1), ou seja, veio antes do CSS 2.1). O link de referência deste post, ou de posts seguintes desta mesma série, hoje aponta para o tutorial de CSS 2.1 ou CSS 3, logo não é mais válido. Vale lembrar que o conteúdo ainda é válido, só não é a versão mais nova!

CSS Como desenvolver um Layout Tabless

Conforme prometido, segue abaixo o código de um layout tabless. Este termo “Tabless” significa sem tabelas, ou seja, é um layout desenvolvido na semântica correta.

Os comentários sobre o layout estão na folha de estilos, que é o “esqueleto” do modelo.

Código html:

&lt;html&gt;

    &lt;head&gt;
        &lt;title&gt;
            Teste 11 - Exemplo de Layout Tabless
        &lt;/title&gt;
        &lt;link href="estilo_tabless.css" rel="stylesheet" type="text/css" /&gt;
    &lt;/head&gt;
    
    &lt;body&gt;
        &lt;div id="all"&gt;
            &lt;div id="topo"&gt;
                &lt;h1&gt;
                    Topo do Site
                &lt;/h1&gt;
            &lt;/div&gt;
            &lt;div id="nav"&gt;
                &lt;h2&gt;
                    Navegação
                &lt;/h2&gt;
                &lt;h3&gt;
                    Links
                &lt;/h3&gt;
                &lt;ul&gt;
                    &lt;li&gt;
                        &lt;a href="#"&gt;Maio 2006&lt;/a&gt;
                    &lt;/li&gt;
                    &lt;li&gt;
                        &lt;a href="#"&gt;Abril 2006&lt;/a&gt;
                    &lt;/li&gt;
                    &lt;li&gt;
                        &lt;a href="#"&gt;Março 2006&lt;/a&gt;
                    &lt;/li&gt;
                &lt;/ul&gt;
            &lt;/div&gt;
            &lt;div id="principal"&gt;
                &lt;h2&gt;
                    Principal
                &lt;/h2&gt;
                &lt;p&gt;
                    Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi eleifend,
                    purus quis laoreet faucibus, ante augue malesuada mi, id rhoncus augue
                    lorem eget elit. Ut sollicitudin sodales purus. Phasellus libero felis,
                    blandit nec, commodo ut, imperdiet ut, nibh. Suspendisse potenti. Donec
                    ullamcorper cursus dolor.
                &lt;/p&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/body&gt;
&lt;/html&gt;

NOTA: Ao copiar da página para um arquivo de texto, substitua os caracteres &lt; e &gt; por < e > respectivamente. Se fosse usar os caracteres originais (< e >) o código não seria exibido corretamente aqui no blog.

Folha de estilo (deve ser salva como estilo_tabless.css):

/* Folha de estilo do Layout */
body {
margin:0;
padding:0;
background:#ffffff;
text-align:center;
}
/* Esta regra all define o tamanho do site */
#all {
width:750px;
}
/* A regra topo define o topo do layout. A função dela no modelo é
somente definir o tamanho do topo
e colocar uma linha de divisão entre ele e o restante da página */
#topo {
height:50px;
border-width: 1 1 1 1px;
background: #000000;
}
/* Esta regra define as características da lista de links da coluna
esquerda do layout */
ul{
margin:0;
padding:0;
list-style: square;
}
/* A regra abaixo define as configurações gerais dos títulos */
h1, h2, h3 {
color:#ffffff;
font-size:1.4em;
}
/* Aqui sobrescrevemos as regras dos titulos 2 e 3 que devem ser
menores que o 1 */
h2 {
color:#000000;
font-size:1.2em;
}
h3 {
color:#000000;
font-size:1.0em;
}
#nav {
width:30%;
float:left;
border-right:dotted #000000;
border-width: 0 1 0 0px;
}
#principal {
border:dotted #000000;
border-width: 1 1 1 1px;
}

Nota: Veja que no modelo foi utilizada uma tag nova,  <div>,  que funciona de maneira similar à uma coluna de tabela.

Este modelo é o que existe de mais simples em termos de layouts css, mas serve de base para outros mais complexos. Para continuar os estudos eu indico o site do Maujor (que é minha fonte de consulta de CSS), o site do W3C e ainda o CSS ZenGarden (o melhor na minha opinião).

OBS: CSS não é igual HTML, apesar de não ser uma linguagem de programação é bastante complexa dada a quantidade de recursos à serem explorados.

Aqui terminamos a série de tutoriais css, se alguma dúvida bater (ou sujestão, crítica, etc) deixe um comentário!

Até a próxima!
xD

Os códigos deste post estão disponíveis em:
https://github.com/jonasvm/sdevlab-cursos/tree/master/sdevlab-css1
Contribua!

SdevLab – Tutorial | CSS List

Fala galera!

O tutorial de hoje é a sequência do tutorial anterior, que dava continuidade à uma série de tutorias sobre CSS. Se você já tem uma noção básica não faz diferença a sequência, porém, se você deseja aprender na ordem correta, visite esta página!

Boa leitura!

ATUALIZAÇÃO (14/08/2015): Este post foi escrito com base nos tutoriais do W3C para CSS (se não me engano, esta versão é a primeira que tinha no W3C (CSS 1), ou seja, veio antes do CSS 2.1). O link de referência deste post, ou de posts seguintes desta mesma série, hoje aponta para o tutorial de CSS 2.1 ou CSS 3, logo não é mais válido. Vale lembrar que o conteúdo ainda é válido, só não é a versão mais nova!

CSS List

A propriedade list define as regras para as listas. Abaixo segue a tabela com as propriedades:

Propriedade Descrição Opções
list-style-image imagem do marcador da lista
  1. none
  2. URL: url(“caminho/marcador.gif”)
list-style-position local onde o marcador da lista é posicionado
  1. outside: marcador fora do alinhamento do texto
  2. inside: marcador alinhado com text
list-style-type tipo do marcador da lista
  1. none: sem marcador
  2. disc: círculo (bolinha cheia)
  3. circle: circunferência (bolinha vazia)
  4. square: quadrado cheio
  5. decimal: números 1, 2, 3, 4, …
  6. decimal-leading-zero
  7. lower-roman: romano minúsculo i, ii, iii, iv, …
  8. upper-roman: romano maiúsculo I, II, III, IV, …
  9. lower-alpha: letra minúscula a, b, c, d, …
  10. upper-alpha: letra maiúscula A, B, C, D, …
  11. lower-greek
  12. lower-latin
  13. upper-latin
  14. hebrew
  15. armenian
  16. georgian
  17. cjk-ideographic
  18. hiragana
  19. katakana
  20. hiragana-iroha
  21. katakana-iroha

Siga o modelo abaixo para testar as propriedades (o mais interessante de se testar é o type, porque o resto é muito simples):

<html> 
<head> 
<style type="text/css"> 
<!-- ul { list-style-type: katakana; } --> 
</style> 
<title>Teste 10</title> 
</head> 
<body> 
<ul> 
<li>Item um</li> 
<li>Item dois</li> 
<li>Item tres</li> 
</ul> 
</body> 
</html>

A sintaxe geral para as listas segue abaixo:

list-style: position; imagem ou list-style: position; type

No próximo tutorial será apresentado um modelo de site desenvolvido com html + css.

Até lá!
xD

Fonte de pesquisa: maujor.com

Os códigos deste post estão disponíveis em:
https://github.com/jonasvm/sdevlab-cursos/tree/master/sdevlab-css1
Contribua!

SdevLab – Tutorial | CSS Background

Fala galera!

O tutorial de hoje é a sequência do tutorial anterior, que dava continuidade à uma série de tutorias sobre CSS. Se você já tem uma noção básica não faz diferença a sequência, porém, se você deseja aprender na ordem correta, visite esta página!

Boa leitura!

ATUALIZAÇÃO (14/08/2015): Este post foi escrito com base nos tutoriais do W3C para CSS (se não me engano, esta versão é a primeira que tinha no W3C (CSS 1), ou seja, veio antes do CSS 2.1). O link de referência deste post, ou de posts seguintes desta mesma série, hoje aponta para o tutorial de CSS 2.1 ou CSS 3, logo não é mais válido. Vale lembrar que o conteúdo ainda é válido, só não é a versão mais nova!

CSS Background

Background define as características do fundo dos elementos HTML. É mais comumente usada em fundos de página ou tabelas, mas pode ser aplicada em outros elementos. Segue a lista de propriedades:

Propriedade Descrição Opções
background-color cor do fundo
  1. código hexadecimal: #FFFFFF
  2. código rgb: rgb(255,235,0)
  3. nome da cor: red, blue, green…etc
  4. transparente: transparent
background-image imagem de fundo URL: url(“caminho/imagem.gif”)
background-repeat maneira como a imagem de fundo é posicionada
  1. não repete: no-repeat
  2. repete vertical e horizontal: repeat
  3. repete vertical: repeat-y
  4. repete horizontal: repeat-x
background-attachment se a imagem de fundo “rola” ou não com a tela
  1. imagem fixa na tela: fixed
  2. imagem “rola” com a tela: scroll
background-position como e onde a imagem de fundo é posicionada
  1. x-pos y-pos
  2. x-% y-%
  3. top left
  4. top center
  5. top right
  6. center left
  7. center center
  8. center right
  9. bottom left
  10. bottom center
  11. bottom right

Siga o modelo abaixo para testar as propriedades (desta vez não comentarei nenhuma em especial porque elas são auto-explicativas):

<html> 
<head> 
<style type="text/css"> 
<!-- body {background-color: #CCFFFF;} /*azul claro*/ --> 
</style> 
<title>Teste 9</title> 
</head> 
<body> 
<p>Perceba que mesmo sem alterar a cor do fundo na tag body, 
o nosso fundo mudou de cor porque assim definimos no estilo da página.
</p> 
</body> 
</html>

A sintaxe para declarar uma só regra com todos os atributos é mostrada abaixo:

background: color image repeat attachment position; 

Neste caso qualquer ordem pode ser utilizada, e um ou mais atributos pode ser omitido.

Até a próxima!
xD

Fonte de pesquisa: maujor.com

Os códigos deste post estão disponíveis em:
https://github.com/jonasvm/sdevlab-cursos/tree/master/sdevlab-css1
Contribua!