HTML5 CSS3
HTML5 CSS3
HTML5 CSS3
Index
Captulo 1: Web
1.1
Histria
1.2
Timeline
1.3
Google em 1997
1.4
Camadas
1.5
Front-end
1.6
Back-end
1.7
Requsies
1.8
Integraes
EP: Integraes
1.8
Domnio
1.9
Hospedagem
1.10 Pgina HTML
1.11 Verses HTML
1.12 Verses CSS
1.13 Linguagens de Progamao
1.14 Padres HTML
1.15 Navegadores
EP: Navegadores
1.16 Engines
1.17 Engines Timeline
1.18 Browsers Timeline
1.19 Cross-browser
Capitulo 2:
Introduo Linguagem
2.1
Editores de Texto e IDE
2.2
Sublime Text
EP: Sublime Text
2.3
HTML
2.4
XHTML
2.5
XML
2.6
Tags
2.7
Estrutura Bsica HTML
2.9
Indentao
2.9.1 Cdigo sem Indentao
2.9.2 Cdigo com Indentao
1
EP: Tags
2.10 Comentrios
EP: Comentrios
2.11 Documentao Online
Captulo 3:
Elementos e Atributos
3.1
Conceito
3.2
Elementos
EP: Elementos
3.3
Atributos
3.4
Atributos Globais
3.5
Elementos e Atributos
EP: Elementos e Atributos
3.6
Estrutura HTML
3.7
DOCTYPE
EP: Estrutura HTML
3.8
Estrutura Bsica HTML
3.9
Interpretao do Navegador
Captulo 4:
Tags de Cabealho
4.1
<head>
4.1.1
<title>
4.1.2
<meta>
4.1.2.1
Atributo name <meta>
EP: <meta>
4.1.2.2
Demais Atributos de <meta>
4.1.2.3
Atributo http-equiv <meta>
EP: http-equiv
4.1.2.4
Atributo charset <meta>
4.1.2.5
Encoding
4.1.2.6
ISO e UTF
EP: Econding
4.1.2.7
Entidades de Encoding
EP: Entidades de Encoding
4.1.3
<style>
EP: <style>
4.1.4
<link>
EP: <link>
4.1.5
<script>
EP: <script>
2
4.1.6
<noscript>
EP: <noscript>
Captulo 5:
Tags de Exibio
5.1
Sobre
5.2
Block & Inline
5.2.1
Block
5.2.2
Inline
5.3
<body>
5.4
<h1>...<h6>
EP: <h1>...<h6>
5.5
<p>
EP: <p>
5.6
<span>
5.7
<s>
5.8
<sub>
5.9
<sup>
5.10 <pre>
EP: Textos
5.11 <img>
EP: <img>
5.12 <button>
EP: <button>
5.13 Listas
5.13.1
<ol>
5.13.2
<ul>
5.13.3
<li>
EP: Listas
5.14 <div>
EP: <div>
5.15 <a>
5.15.1
Navegao
5.15.2
ncora
5.15.3 target
EP: <a>
Captulo 6: Tags Semnticas
6.1
Sobre
6.2
Tags
6.2.1 <header>
3
6.2.2
<article>
6.2.3
<footer>
6.2.4
<section>
EP: Tags Semnticas
Captulo 7:
Tags de Formulrio
7.1
Formulrios
7.2
<form>
EP: <form>
7.3
Principais Elementos
7.4
<input>
EP: <input>
7.5
<label>
EP: <label>
7.6
<select>
EP: <select>
7.7
<textarea>
EP: <textarea>
7.8
<fieldset>
EP: <fieldset>
Captulo 8:
Novos Tipos de Formulrio
8.1
Novos Tipos
8.2
Suporte dos Navegadores
8.3
Vantagens do Uso
EP: Novos Tipos
Captulo 9:
Conceitos de Requisies HTTP
9.1
Front-end & Back-end
9.2
Requisio
9.3
Header
9.4
URL Encoding
EP: URL Encoding
9.5
Servios
9.6
Caixa Preta
9.7
REST
9.8
Mtodos
9.9
GET
EP: GET
9.10 POST
9.11 Segurana
4
9.12 Ferramentas
Captulo 10:
Formulrios HTML
10.1 Mtodos vs Formulrios
10.2 Objeto do Formulrio
10.3 <form>
10.4 method
10.5 name
EP: Objeto do Formulrio
Captulo 11:
Validao
11.1 Papel do Front-end
11.3 Validao
11.3.1
Validaes mais Comuns
11.3.2
Validao HTML5
11.3.2.1
Atributos de Validao
11.3.2.2
Tipos que Validam
EP: Validao
11.3.2.3
Customizao
Captulo 12:
Recursos Externos
12.1 <object>
EP: <object>
12.2 <embed>
EP: <embed>
12.3 <iframe>
EP: <iframe>
12.4 Consideraes
EP: Consideraes
Captulo 13:
Mdias HTML5
13.1 udio
13.1.1
Suporte dos Navegadores
13.1.2
Arquivos de udio
13.1.3
<audio>
EP: <audio>
13.1.4
<source>
EP: <source>
13.2 Vdeo
13.2.1
Suporte dos Navegadores
13.2.2
Arquivos de Vdeo
13.2.3
<video>
5
EP: <video>
Captulo 14:
SVG
14.1 Viso Geral
14.2 Formato XML
14.2.1
Desmenbrando SVG
14.3 Usando SVG
EP: SVG
Captulo 15:
Tabela
15.1 <table>
15.2 Criando Tabelas
EP: <table>
15.3 Email Marketing
15.3.1
Regras Essenciais
EP: Email Marketing
Captulo 16: Fundamentos CSS
16.1 CSS
16.2 Reutilizao de Estilos
16.3 Sintaxe
16.4 Cometrios
Captulo 17:
Seletores
17.1 Element Selector
EP: Element Selector
17.2 id Selector
EP: id Selector
17.3 Class Selector
EP: Class Selector
17.4 Universal Selector
EP: Universal Selector
17.5 Declarao de Seletores
17.6 Combinando Seletores
EP: Combinando Seletores
Captulo 18:
Precedncia CSS
18.1 Nomenclatura de Vnculo
18.2 Precedncia CSS
EP: Precedncia CSS
18.3 Execuo de Precedncia
EP: Execuo de Precedncia
Captulo 19: Seletores Avanados
6
EP: font-family
21.4 Web Safe Fonts
21.5 Sans-serif vs Serif
21.6 Proportional vs Monospace
21.7 Fontes Carregadas
21.8 @font-face
EP: @font-face
Captulo 22:
Propriedades CSS
22.1 Unidades de Medida CSS
22.2 Propriedades CSS
22.3 Valor das Propriedades
22.4 Shorthand
EP: Propriedades CSS
22.5 overflow
22.6 background
22.6.1
background-color
EP: background-color
22.6.2
background-clip
EP: background-clip
22.6.3
background-image
EP: background-image
22.6.4
background-repeat
EP: background-repeat
22.6.5
background-position
EP: background-position
22.6.6
background-size
EP: background-size
22.6.7
background-attachment
EP: background-attachment
22.6.8
background-origin
22.7 border
22.7.1
Shorthand Border
22.7.2
border-style
22.7.3
CSS3 Border
EP: border
22.8 padding
EP: padding
22.9 margin
8
EP: margin
22.10 Texto
22.10.1 CSS3 Text
EP: Texto
22.11
list-style
22.11.1 list-style-type
22.11.2 list-style-position
22.11.3 list-style-image
EP: list-style
22.12
Colunas
EP: Colunas
Captulo 23:
At Rules
23.1 Sobre
23.2 Principais
23.3 @charset
23.4 @import
EP: @import
23.5 @font-face
23.5.1
Suporte de Fontes
EP: @font-face
23.6 @media
EP: @media
Captulo 24: Box Model
24.1 Sobre
24.2 reas
24.3 Espaamento do Contedo
24.4 Largura e Altura
EP: Tamanho do Elemento
24.5 CSS Reset
EP: CSS Reset
Captulo 25:
Posicionamento
25.1 Dimenses
25.1.1
Valores das Dimenses
25.1.2
Propriedades de Dimenses
25.2 display
25.2.1
inline vs block
EP: inline vs block
25.2.2
Modificando a Exibio
9
26.4 Responsivo
EP: Responsivo
Captulo 27: Layout Responsivo
27.1 Sobre
27.2 Media Query
27.2.3
Media Type
27.2.4
Media Features
EP: Media Query
27.3 Operadores Lgicos
27.3.1
and
27.3.2
not
27.3.3
only
27.4 Instruo Completa
EP: Operadores Lgicos
11
12
Captulo 1: Web
1.1
Histria
1.2
Timeline
13
1.3
Google em 1997
1.4
Camadas
14
1.5
Front-end
+CSS
+JavaScript
1.6
Baixa segurana
Necessita de um servidor
Hospeda o site
Back-end
Disponibiliza os servios web
15
1.7
Linguagem
Servidor
PHP
Apache
Java
.NET / ASP
Windows Server
CFML
ColdFusion
Ruby
JavaScript
NodeJS
Requsies
HTTP - Hypertext Transfer Protocol
16
Dados criptografados
1.8
Integraes
Web Services
"Stateless"
17
EP:
Integraes
1.
2.
3.
4.
5.
Atualize a tela
6.
7.
8.
9.
10.
1.8
Domnio
1.9
Hospedagem
19
20
1.15 Navegadores
IE (Internet Explorer)
Firefox
Opera
Safari
Chrome
EP:
1.
Navegadores
Navegue para os endereos abaixo e verifique as estatsticas:
a. Navegadores
b.
http://www.w3schools.com/browsers/browsers_stats.asp
Telas
c.
http://www.w3schools.com/browsers/browsers_display.asp
Sistema Operacional
http://www.w3schools.com/browsers/browsers_os.asp
1.16 Engines
21
Engine
Browser
Blink
Chrome e Opera
Webkit
Safari
Gecko
Firefox
Trident
Internet Explorer
22
1.19 Cross-browser
Necessrio
23
24
Capitulo 2:
2.1
Introduo Linguagem
25
2.2
Sublime Text
Um dos editores mais utilizados pela comunidade de desenvolvedores
Multi plataforma
EP:
1.
Sublime Text
Baixe e instale o Sublime Text 3
a.
2.
3.
b.
c.
b.
c.
4.
5.
6.
7.
26
a.
8.
9.
b.
c.
10.
Digite "install"
11.
12.
Uma lista com todos os pacotes disponveis para o Sublime ser exibida
b.
c.
13.
Clique com o boto direito do mouse sobre a pasta do projeto na barra lateral e
veja quantas opes existem
14.
b.
27
2.3
HTML
Texto marcado poder ser manipulado por JavaScript e ou estilizado por CSS
2.4
2.5
XHTML
EXtensible Hypertext Markup Language
Definido a partir da verso 4.01 em 2000
Baseada na linguagem XML
Estrutura hierrquica
Mesmas regras de aninhamento
rvore de elementos
Declarados como "tags"
Um elemento pode ou no ter subelementos aninhados
"Branches and leafs"
XML
28
2.6
Tags
XML
IDML
CFML
2.7
"Case insensitive"
Descrio
<!doctype html>
<html></html>
<head></head>
<body></body>
29
2.8
2.9
Indentao
A identificao de qual "tag" "pai" ou "filho" essencial para entendimento do
cdigo
30
EP:
Tags
1.
2.
<!doctype html>
3.
4.
<!doctype html>
<html>
<head></head>
<body></body>
5.
</html>
Escreva um texto dentro de <body>
31
<!doctype html>
<html>
<head></head>
<body>My first page !</body>
6.
</html>
Salve e teste no navegador
7.
<head>
<title>Oh yeah!!!</title>
</head>
8.
9.
10.
</body>
Salve e teste, verificando se as quebras de linha foram respeitadas
11.
Altere o cdigo colocando tudo em uma nica linha, porm marcando com a
"tag" <br>
<body>My<br> first<br> page !</body>
12.
2.10 Comentrios
navegador
EP:
1.
2.
Comentrios
Abra o arquivo "basic.html" do EP anterior
Adicione um comentrio mencionando que o HTML respeita o cdigo de
marcao e no a forma como as informaes so dispostas
a. Avalie e identifique o melhor local para colocar seu comentrio
33
34
35
Captulo 3:
3.1
Elementos e Atributos
Conceito
Um elemento por sua vez pode ser configurado por seus atributos
<element attribute="value">Text</element>
3.2
Elementos
Como exemplo, a "tag" <h1> marca o texto com o formato para cabealho
<h1>My Header</h1>
36
EP:
Elementos
1.
2.
3.
</html>
Dentro da "tag"<body> adicione o seguinte cdigo:
<body>
<h1>My Header</h1>
This is my content
</body>
4.
5.
6.
7.
</body>
Salve, teste e perceba que todo o texto recebeu o formato de cabealho
Desfaa o passo anterior e mantenha a "tag" de fechamento:
<body>
<h1>My Header</h1>
This is my content
</body>
37
3.3
Atributos
Atributos configuram um elemento
No exemplo abaixo a "tag" <h1> possui o atributo "align" que configura o estilo
do alinhamento do texto:
<h1 align="center">My Header</h1>
Nota: o atributo "align" est depreciado no HTML5 e deve ser evitado mesmo em verses
anteriores do HTML, uma vez que todo o estilo deve ser aplicado atravs de CSS.
3.4
Atributos Globais
HTML:
acesskey
class
dir
id
lang
style
tabindex
title
38
3.5
HTML 5:
contenteditable
data-*
draggable
Elementos e Atributos
Item
Exemplo
Elemento
Tag
Atributo
Contedo
39
EP:
1.
Elementos e Atributos
Navegue para o endereo abaixo e verifique os elementos HTML:
http://www.w3schools.com/tags/ref_byfunc.asp
https://developer.mozilla.org/en-US/docs/Web/HTML/Element
2.
3.
3.6
Estrutura HTML
Um documento HTML segue um padro estrutural definido pelo W3C, chamado
de DOM - Document Object Model
Ns de elementos
40
Regras hierrquicas
Child Tags:
<html> tem como filho <body>
<body> tem como filho <h1>
Parent Tags:
<h1> tem como pai <body>
<body> tem como pai <html>
Um documento HTML deve ter uma estrutura de ns vlidos para que possa ser
exibido corretamente
Sendo que o contedo que ser exibido pela pgina sempre fica aninhado
dentro de <body>
<html>
<body>
</body>
</html>
41
<html>
<head>
<title>My Page Title</title>
</head>
<body>
My page content...
</body>
</html>
3.7
DOCTYPE
<!doctype html>
<html>
<head>
<title>My Page Title</title>
</head>
<body>My page content...</body>
</html>
42
EP:
Estrutura HTML
1.
2.
3.
4.
</html>
Salve e teste no navegador
Adicione a instruo "doctype":
<!doctype html>
5.
6.
<html>...
Salve e teste novamente
a. Perceba que nada ocorreu
b. Identifique o ttulo que est sendo exibido na aba do navegador (o nome
do arquivo)
Adicione <head> e <title> dentro de <html>
<!doctype html>
<html>
<head>
<title>My Title</title>
</head>...
7.
8.
</html>
Salve e teste, identificado o ttulo na aba do navegador
Volte ao cdigo dentro de <body> e adicione quebras de linha entre as palavras:
<body>
My
page
content...
9.
</body>
Salve e teste
a.
10.
11.
</body>
Salve e teste
3.8
Tag
Descrio
Contedo do Elemento
<html>
<head>
Inclui o "cabealho" do
documento como ttulo,
metadados, estilos e "scripts"
<body>
Contedo do documento
<title>
<style>
<base>
<link>
<meta>
<script>
<noscript>
44
3.9
Interpretao do Navegador
O navegador interpreta o cdigo existente no documento HTML de cima para
baixo
Renderizao do contedo
Nota: sequncia real dos processos diferente da apresentada aqui, a qual tem apelo
apenas didtico.
45
46
Captulo 4:
4.1
Tags de Cabealho
<head>
Ttulo
Metadados
"Encoding"
Estilo
Script
<!doctype html>
<html>
<head>
</head>
</html>
4.1.1 <title>
<!doctype html>
<html>
<head>
<title>My Title</title>
</head>
</html>
47
4.1.2 <meta>
Servios na web
<head>
<meta charset="UTF-8">
<meta name="description" content="Personal Info Page">
<meta name="keywords" content="John, Wayne, movies,
hollywood">
<meta name="author" content="Richard">
</head>
Quando usada para metadados descritivos, possui duas propriedades, "name" e
"content"
48
<meta name="meta-apple-mobile-web-app-status-bar-style"
content="black">
4.1.2.1
Valor
author
description
keywords
Descrio
Nome do autor
<meta name="author" content="My Name">
49
EP:
1.
2.
<meta>
Crie um arquivo de nome "meta.html"
Adicione a estrutura bsica HTML, com ttulo:
<!doctype html>
<html>
<head>
<title>Pgina de So Paulo</title>
</head>
3.
</html>
Adicione ainda o texto em <body>:
<body>
So Paulo ganhar uma nova cano...
</body>
4.
Salve e teste
a.
5.
6.
7.
8.
Salve e teste
a.
9.
Descrio
b.
Palavras chaves
50
4.1.2.2
Atributo
Valor
Descrio
charset
utf-8
content
Texto
http-equiv
content-type
default-style
refresh
name
application-name
author
description
generator
keywords
51
4.1.2.3
Valor
Descrio
refresh
EP:
http-equiv
1.
2.
3.
4.
Salve e teste
a.
52
4.1.2.4
Ex: a A
4.1.2.5
Encoding
Conjunto de caracteres
Latinos
Japoneses
rabes
Cirlicos
Evoluo:
ASCII ANSI ISO-8859-1 UTF-8
4.1.2.6
ISO e UTF
ISO
53
EP:
1.
UTF
Econding
Navegue para o endereo abaixo e verifique os caracteres disponveis para
ASCII
a.
http://www.w3schools.com/charsets/ref_html_ascii.asp
2.
Verifique o valor "Entity Name" do sinal de maior > e menor < para ANSI e para
ISO-8859-1/UTF-8:
http://www.w3schools.com/charsets/ref_html_ansi.asp
http://www.w3schools.com/charsets/ref_html_entities_4.asp
4.1.2.7
Entidades de Encoding
Ex: o sinal de maior pode ser escrito atravs do nome da entidade > ou
seu nmero >
54
Seu uso essencial dentro do cdigo HTML quando necessrio usar o sinal de
maior ou de menor
Evita o interpretador confundir com abertura e fechamento de "tags"
<body> <h1></body>
Idealmente deve-se utilizar o nome da entidade ao invs do nmero para facilitar
a leitura do cdigo
<body> <h1></body>
EP:
Entidades de Encoding
1.
2.
3.
4.
5.
6.
7.
8.
9.
espadas
b.
paus
c.
copas
d.
ouros
55
4.1.3 <style>
<style>
h1 {
color: blue;
}
</style>
EP:
<style>
1.
2.
3.
4.
Salve e teste
a.
56
5.
6.
</style>
Salve e teste
7.
8.
</style>
Salve e teste
a. Imprima a pgina e verifique a cor do texto
4.1.4 <link>
<head>
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="stylesheet" type="text/css" href="default.css">
</head>
57
Atributo
Valor
Descrio
href
URL
media
all
print
rel
icon
stylesheet
type
text/css
EP: <link>
1.
http://www.favicon.cc/?action=icon&file_id=686403
2.
3.
Salve e teste
a.
5.
58
6.
7.
8.
9.
10.
Salve e teste
11.
12.
4.1.5 <script>
<script>
alert('Hello HTML5');
</script>
<script type="text/javascript" src="code.js"></script>
Atributo
Valor
Descrio
charset
pt-br
src
URL
type
text/javascript
60
EP:
<script>
1.
2.
3.
Salve e teste
4.
Crie um novo arquivo de nome "script.js" dentro da mesma pasta que contm o
arquivo "script.html"
5.
7.
8.
Salve e teste
a.
61
4.1.6 <noscript>
EP:
<noscript>
1.
2.
3.
4.
b.
c.
d.
62
63
Captulo 5:
5.1
Sobre
So as "tags" que marcam algum contedo
Tags de Exibio
5.2
5.2.1 Block
5.2.2 Inline
64
5.3
<body>
5.4
<h1>...<h6>
EP:
Exibio block
<h1>...<h6>
1.
2.
65
3.
5.5
<p>
nfase pode ser dada combinado outras "tags" com exibio inline:
<strong> negrito
<em> itlico
Exibio block
<p>
This is a
<strong><em>bold and italic</em></strong> text
</p>
EP:
1.
<p>
No arquivo de nome "paragraph.html" e adicione o seguinte cdigo
<p>My first paragraph.</p>
2.
3.
4.
Salve e teste
5.
Adicione as demais "tags" de nfase no texto "first", testando uma por vez:
a.
<em>
b.
<small>
66
5.6
<span>
Marca algum contedo
Pode substituir as tags de nfase, por permitir estilo com maior flexibilidade
5.7
Exibio inline
<s>
Exibio inline
<s>This text are going to be striked</s>
5.8
<sub>
Exibio inline
<p>This paragraph has <sub>subscripted</sub> text</p>
5.9
<sup>
Marca o elemento que ser elevado
Exibio inline
<p>
This paragraph has
<sup>superscripted</sup> text
</p>
67
5.10 <pre>
Exibio inline
<pre> This
text
is
pre
formated
</pre>
EP:
Textos
1.
2.
3.
Salve e teste
5.
<pre> This
text
is
pre
formated
</pre>
5.11 <img>
Exibio inline
69
Atributo
Valor
alt
My text
height
10
src
URL
usemap
#myMapTagId
width
10
EP:
Descrio
<img>
1.
2.
3.
4.
<img
src="http://lorempixel.com/900/900/food"
alt="Random Food Image"
5.
width="500" height="50">
Remova o atributo "height", salve e teste
a.
6.
5.12 <button>
Exibio inline
Apesar de existir o atributo "align", alinhamento deve ser feito via CSS
<button>Save</button>
<button>
<img src="delete_icon.png">
Delete
</button>
71
EP:
<button>
1.
2.
3.
Salve e teste
4.
5.
6.
7.
Salve e teste
8.
9.
10.
Salve e teste
Utilize o atributo "autofocus" do boto:
a.
<button autofocus>
72
11.
12.
Salve e teste
a.
b.
5.13 Listas
Elementos de lista so bastante teis para criar desde lista simples at menus
Podem ter outras "tags" aninhadas para criar uma lista de produtos com
imagens e descrio, tanto na horizontal como vertical, conforme o cdigo
de estilo
O tipo do marcador por sua vez pode ser definido por estilo
73
5.13.1
<ol>
"Ordered List"
Decimais - 1,2,3(padro)
5.13.2
<ul>
"Unordered List"
Disco (padro)
Quadrados
Crculo
5.13.3
<li>
Tanto <ol> quanto <ul> devem possuir <li> como "child element"
74
EP:
Listas
1.
2.
3.
</ol>
Salve e teste
4.
5.
</ol>
Salve e teste
a.
6.
7.
Salve e teste
75
5.14 <div>
EP:
1.
2.
Exibio block
<div>
Abra o arquivo "list.html"
Envolva <ul> com <div>:
a. Mantenha todo o cdigo anterior de <ul>
<div>
<ul> </ul>
3.
</div>
Salve, teste e verifique se houve alguma mudana visual
76
5.15 <a>
Seu atributo "target" configura se uma nova pgina (ou aba do navegador) ser
aberta ou no
Azul no visitado
Violeta visitado
Exibio inline
Atributo
Valor
Descrio
href
URL
#elementId
target
_self
_blank
77
5.15.1
Navegao
<a href="index.html">Home</a>
<a href="http://www.google.com">Google</a>
5.15.2
ncora
Ex: href="#elementId"
5.15.3
target
"nome do iframe"
78
EP:
<a>
1.
2.
3.
<a href="http://www.google.com">Google</a>
Salve e teste
Adicione o atributo "target" com o valor "_self"
<a href="http://www.google.com"
4.
target="_self">Google</a>
Nenhuma mudana ocorreu pois usamos o padro
5.
6.
Salve e teste
7.
Insira lorem ipsum, aps o cdigo atual, o suficiente para que as barras de
rolagem apaream
8.
9.
10.
11.
79
80
6.1
Sobre
Criadas para uso no HTML5
6.2
Tags
Tag
Agrupa Informaes
<header>
Cabealho
<nav>
Navegao
81
<section>
Contedos em geral
<article>
<aside>
<hgroup>
<details>
<figure>
<figurecaption>
<footer>
<summary>
Rodap
82
<mark>
<time>
6.2.1 <header>
<header>
<h1>My Company</h1>
<nav>...</nav>
</header>
6.2.2 <article>
<article>
<h2>Latest News</h2>
<p>...</p>
</article>
83
6.2.3 <footer>
<footer>
<p>2014 - All rights are reserved</p>
</footer>
6.2.4 <section>
<section>
<aside>...</aside>
<article>...</article>
<figure>...</figure>
</section>
2.
3.
84
4.
b.
c.
5.
6.
7.
</footer>
Envolva o contedo de <h3> com <mark> conforme a seguir:
<h3>This is my <mark>section</mark></h3>
8.
Salve e teste
9.
10.
Salve e teste
85
86
Captulo 7:
7.1
Tags de Formulrio
Formulrios
So contineres que possuem algumas funcionalidades embutidas
7.2
<form>
<form>
First name: <input type="text"><br>
Last name: <input type="text"><br>
<input type="reset" value="Reset">
</form>
87
EP: <form>
1.
2.
3.
7.3
</form>
Salve e teste
a.
b.
Principais Elementos
<input>
<textarea>
<button>
<select>
<option>
<optgroup>
<fieldset>
<label>
7.4
<input>
Exibio pode variar conforme o atributo "type"
88
button
checkbox
file
hidden
image
password
radio
reset
submit
text
89
Atributo
Valor
Tipo
Define
accept
video/*
image/*
file
autocomplete
on
off
Habilita/desabilita a funcionalidade de
autocompletar
autofocus
---
checked
---
disabled
---
list
datalist_id
text
number
maxlength
text
number
multiple
---
file
name
text
placeholder
text
text
number
checkbox
Se o elemento estar pr selecionado
radio
90
readonly
---
size
text
number
value
text
type
button
checkbox
color
date
datetime
datetime-local
email
file
hidden
type
image
month
number
password
radio
range
reset
search
submit
tel
text
time
url
week
EP:
<input>
1.
2.
3.
Salve e teste
a.
4.
5.
Salve e teste
6.
7.
Salve e teste
a.
8.
9.
Salve e teste
a.
b.
c.
(Opcional) Crie uma nova tag com filtro para arquivo pdf
10.
11.
12.
13.
Send me spam<br>
Salve e teste
14.
15.
Salve e teste
a.
16.
Adicione o atributo name com o mesmo valor para os <input> do tipo radio:
92
Salve e teste
a. Tente novamente selecionar ambos os <input>
Adicione o atributo placeholder no <input>:
First name:
<input type="text" placeholder="first name">
19.
Salve e teste
20.
Salve e teste
a.
22.
23.
Salve e teste
a.
b.
93
24.
25.
Salve e teste
a.
26.
27.
Salve e teste
a.
b.
28.
29.
30.
b.
31.
Salve e teste
a.
32.
33.
Salve e teste
a.
94
7.5
<label>
EP: <label>
1.
2.
3.
Atributo "for" deve ter o mesmo valor do atributo "id" da "tag" <input>
Salve e teste
a.
95
7.6
<select>
<select>
<option>Item 1</option>
<option>Item 2</option>
<option>Item 3</option>
</select>
EP:
1.
<select>
Abra o arquivo form.html e adicione:
<label for="options">Options:</label>
<select id="options">
<option>Item 1</option>
<option>Item 2</option>
<option>Item 3</option>
2.
3.
</select>
Salve e teste
Adicione o atributo multiple:
<select id="options" multiple>
4.
Salve e teste
a.
96
7.7
<textarea>
cols largura
row altura
EP:
1.
<textarea>
Abra o arquivo form.html e adicione:
<label for="description">Description:</label>
<textarea id="description"
rows="2" cols="10">
Default value
</textarea>
2.
Salve e teste
97
7.8
<fieldset>
EP:
1.
<fieldset>
No arquivo "form.html" adicione logo aps <form> a "tag" <fieldset> com
fechamento antes de </form>
<form>
<fieldset>
</fieldset>
2.
</form>
Salve e teste
3.
4.
</fieldset>
Salve e teste novamente
98
99
Captulo 8:
8.1
Novos Tipos
Tipo
Suporte
Define
color
date
datetime
datetime-local
month
100
number
range
search
tel
---
time
url
week
8.2
Tipos que no tem grande interferncia visual no elemento podem ser usados
sem maiores problemas
Mesmo que for exibido como tipo texto, no impedir (ou atrapalhar) o
usurio de interagir com o elemento
101
8.3
Vantagens do Uso
O uso dos novos tipos auxilia na interao do usurio com o elemento
Ex: tipo "email" abre o teclado com teclas que facilitam a insero do
email (ponto, arroba, etc)
EP:
Novos Tipos
1.
2.
3.
4.
</fieldset>
Abaixo de <legend> adicione os tipos de datas:
<label for="date">Date:</label>
<input type="date" id="date"><br>
<label for="datetime">Date Time:</label>
<input type="datetime" id="datetime"><br>
<label for="datetimelocal">Date Time Local:</label>
<input type="datetime-local" id="datetimelocal"><br>
<label for="time">Time:</label>
<input type="time" id="time"><br>
102
<label for="week">Week:</label>
<input type="week" id="week"><br>
<label for="month">Month:</label>
5.
6.
7.
</fieldset>
Dentro de <fieldset> adicione:
<label for="number">Number:</label>
<input type="number" id="number"><br>
<label for="range">Range:</label>
<input type="range" id="range"><br>
<label for="tel">Telephone:</label>
8.
9.
103
10.
<label for="url">URL:</label>
<input type="url" id="url"><br>
11.
<label for="color">Color:</label>
<input type="color" id="color"><br>
12.
Salve e teste
104
105
Captulo 9:
9.1
Pgina HTML faz uma requisio para um endereo vlido no qual o servidor
responde
9.2
Requisio
106
9.3
Header
9.4
URL Encoding
107
EP:
1.
URL Encoding
Abra o endereo abaixo:
http://www.url-encode-decode.com/
2.
9.5
Observe o resultado
Servios
108
9.6
Caixa Preta
9.7
Endereo
Mtodo
Quantidade de mquinas
Camadas
Linguagem de programao
Sistema operacional
REST
Estilo de arquitetura
109
9.8
Mtodos
So verbos de aes para uma requisio HTTP
Create
Read
Update
Delete
Mtodo
GET
Obtm valor(es)
HEAD
POST
Adiciona valor(es)
PUT
Atualiza valor(es)
PATCH
Atualiza valor(es)
DELETE
Apaga valor(es)
OPTIONS
Utilizao
Tecnicamente qualquer mtodo pode ser usado para transmitir ou receber dados
110
9.9
GET
Efetua a requisio transmitindo dados pela URL
Caracteriza-se por:
Exemplo
Descrio
server_pag.ext
search.php
list.jsp?category=dvd
Separador do endereo da
pgina do servidor e o(s)
parmetro(s) enviado(s)
name1=value1
item=dvd
&
product.asp?category=dvd&id=123
Separador de parmetros
(quando existir mais de um)
Endereo da pgina do
servidor
111
EP:
GET
1.
2.
3.
4.
5.
b.
6.
b.
9.10 POST
Caracteriza-se por:
112
9.11 Segurana
9.12 Ferramentas
113
114
Captulo 10:
Formulrios HTML
O atributo name ser usado como nome do parmetro e seu valor ser
o dado inserido pelo usurio no formulrio
115
url/form.jsp?firstName=John&lastName=Wayne
10.3 <form>
Atributo
Valor
action
URL
autocomplete
on
off
method
get
post
name
myFormName
Descrio
Nome do formulrio
116
novalidate
---
target
_blank
_self
10.4 method
GET
POST
10.5 name
117
EP:
Objeto do Formulrio
1.
2.
3.
4.
Salve e teste
5.
6.
7.
8.
action="http://httpbin.org/get"
Seu cdigo deve estar similar :
<form action="http://httpbin.org/get">
First name: <input type="text" name="firstName"><br>
Last name: <input type="text" name="lastName"><br>
<input type="submit" value="Send">
9.
</form>
Abra o Chrome Developer Tools e verifique os dados enviados
a.
b.
c.
118
d.
e.
10.
11.
Salve e teste
a.
119
120
Captulo 11:
Validao
Deve possuir cdigo que gerencie apenas a visualizao dos dados e nunca
regras de negcio ou inteligncia do sistema
121
11.3 Validao
11.3.1
Tipo
Campo
obrigatrio
Validao
Se o campo foi preenchido pelo usurio
Nmero
Nmeros
especficos
Seleo
Nota: usando como exemplo o tipo email, perceba que no feita a verificao real se o
email existe ou no, isso inteligncia do sistema e deve ser feita pelo servidor, porm
verificado se o valor digitado um email, ou seja, possui o caractere @ e .com no texto
inserido pelo usurio.
122
11.3.2
Validao HTML5
<form>
<input type="email">
<input type="number" min="1" max="5">
<input type="date">
<input type="text" required>
<input type="text" pattern="[A-Za-z]{2}>
<input type="submit">
</form>
123
11.3.2.1
Atributos de Validao
Atributo
Valor
Tipo
formnovalid
ate
---
submit
pattern
[0-9]{2}
text
number
required
---
max/min
number
date
11.3.2.2
Define
tel
date
search
EP:
Validao
1.
2.
3.
4.
Salve e teste
a.
b.
c.
i.
d.
5.
6.
Salve e teste
a.
7.
8.
Salve e teste
a.
9.
10.
11.
Salve e teste
a.
b.
Salve e teste
a.
13.
14.
Salve e teste
a.
11.3.2.3
Customizao
Modificao dos textos das mensagens pode ocorrer com o uso de JavaScript
126
127
Captulo 12:
Recursos Externos
12.1 <object>
udio
Vdeo
Flash
HTML
<!doctype html>
<html>
<body>
<object width="400" height="400" data="banner.swf">
Your browser does not support embed objects.
</object>
</body>
</html>
128
Atributo
Valor
data
URL
height
200
type
text/html
width
150
EP:
Descrio
<object>
1.
2.
3.
12.2 <embed>
Atributo
Valor
Descrio
height
200
source
URL
type
text/html
width
150
130
EP:
<embed>
1.
2.
3.
width="100%" height="800">
Salve e teste
12.3 <iframe>
<!doctype html>
<html>
<body>
<iframe src="http://www.google.com.br">
<p>Your browser does not support iframes.</p>
</iframe>
</body>
</html>
131
Atributo
Valor
height
200
width
150
name
myName
seamless
---
src
URL
EP:
1.
Descrio
Nome do elemento
<iframe>
Abra o arquivo "embeds.html", adicione:
<h1><iframe></h1>
<iframe src="html40.pdf" type="application/pdf"
width="100%" height="800">
Your browser does not support embeded objects.
</iframe>
2.
Salve e teste
132
12.4 Consideraes
133
EP:
Consideraes
1.
2.
3.
4.
5.
6.
7.
8.
Salve e teste
9.
about.html
b.
contact.html
10.
11.
Salve e teste
12.
13.
134
135
Captulo 13:
Mdias HTML5
13.1 udio
13.1.1
Navegador
MP3
Wav
Ogg
Internet Explorer
SIM
NO
NO
Chrome
SIM
SIM
SIM
Firefox
parcialmente
SIM
SIM
Safari
SIM
SIM
NO
Opera
NO
SIM
SIM
136
Nota: Mozilla Firefox suporta MP3 dependendo da sua verso, ou seja, h suporte no
Firefox 21 apenas quando estiver rodando nos sistemas operacionais Windows 7, Windows
8, Windows Vista e Android.
13.1.2
Arquivos de udio
137
13.1.3
Formato
MIME-type
MP3
audio/mpeg
Ogg
audio/ogg
Wav
audio/wav
<audio>
"Streaming" do contedo
Se a "tag" no for suportada pelo navegador o texto que for definido como
contedo do elemento ser exibido
Atributo
Valor
Descrio
autoplay
---
controls
---
Exibe os controles
loop
---
138
muted
---
preload
auto
metadata
none
src
URL
Mudo
EP:
<audio>
1.
2.
<audio autoplay
src="http://www.music.helsinki.fi/tmt/opetus/uusmedia/esim/a2002
011001-e02-128k.ogg">
Your browser does not support audio tag.
</audio>
3.
4.
5.
6.
Salve e teste
7.
13.1.4
<source>
Arquitetura "failover"
Atributo
Valor
media
src
URL
type
video/ogg
Descrio
Especifica o tipo de mdia (ainda
no suportado por nenhum
navegador)
Endereo do arquivo de udio
Especifique o MIME-type do
arquivo
<audio controls>
<source src="saound.mp3" type="audio/mpeg">
<source src="saound.ogg" type="audio/ogg">
Your browser does not support the audio tag.
</audio>
140
EP:
<source>
1.
2.
3.
4.
13.2 Vdeo
141
13.2.1
Navegador
MP4
WebM
Ogg
Internet Explorer
SIM
NO
NO
Chrome
SIM
SIM
SIM
Firefox
parcialmente
SIM
SIM
Safari
SIM
NO
NO
Opera
NO
SIM
SIM
Nota: Mozilla Firefox suporta MP4 de forma similar ao MP3, ou seja, h suporte no Firefox
21 apenas quando estiver rodando nos sistemas operacionais Windows 7, Windows 8,
Windows Vista e Android.
142
13.2.2
Arquivos de Vdeo
13.2.3
Formato
MIME-type
MP4
video/mp4
WebM
video/webm
Ogg
video/ogg
<video>
height
width
poster
Atributo
Valor
height
10
poster
URL
width
10
Descrio
Valor em "pixels" da altura
Endereo com a imagem do vdeo que ser usado
enquanto o arquivo carregado ou at que o
usurio clique em "play"
Valor em "pixels" da largura
143
EP:
<video>
1.
2.
Adicione em <body>:
Salve e teste
4.
5.
Salve e teste
6.
144
145
Captulo 14:
SVG
Independente do tamanho
http://inkscape.org/
146
14.2.1
Desmenbrando SVG
<svg
xmlns="http://www.w3.org/2000/svg"
version="1.1"
width="200px" height="200px">
147
Declarao
Descrio
<svg>
xmlns
version
width/height
Verso do SVG
Largura/altura
<rect
width='100' height='50'
fill='#ccc'
x='35' y='35'
strokewidth='3'
stroke='#444' />
Declarao
Descrio
<rect>
fill
strokewidth
stroke
Largura do contorno
Valor hexadecimal da cor do contorno
148
EP:
SVG
1.
2.
3.
4.
5.
Crie uma forma, salve e gere um arquivo SVG com o nome de "shape.svg"
6.
7.
Copie o cdigo que estiver a partir da "tag" <svg> do arquivo para a pgina
HTML em <body>
8.
149
150
Captulo 15:
Tabela
15.1 <table>
Descrio
<table>
Root tag
<tr>
Linha (row)
<th>
Cabealho (heading)
<td>
Dados (clula)
151
<table>
<tr>
<th>Name</th>
<th>Email</th>
</tr>
<tr>
<td>Peter Wasty</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Alex Afford</td>
<td>[email protected]</td>
</tr>
</table>
EP:
<table>
1.
2.
3.
4.
5.
Salve e teste
Adicione mais registros na tabela:
a.
b.
c.
6.
Salve e teste
7.
Phone
b.
<tr>
<th>Name</th>
<th>Email</th>
<th>Phone</th>
<th>Picture</th>
</tr>
<tr>
<td>Peter Wasty</td>
<td>[email protected]</td>
<td>1122334455</td>
<td>
<img
src='http://lorempixel.com/200/200/people/3/'>
</td>
</tr>
153
No use HTML5 !
15.3.1
Regras Essenciais
Estilos inline
Carregamento de imagem
154
Estilos
Espaos em branco
EP:
Email Marketing
1.
Voc necessitar criar uma conta ao final do processo para ter acesso ao
cdigo
http://www.campaignmonitor.com/templates/
2.
3.
4.
5.
155
156
http://www.w3schools.com/css/demo_default.htm
<style type="text/css">
/*CSS style goes here*/
</style>
<link rel="stylesheet" type="text/css" href="myStyle.css">
Quando um estilo definido em uma pgina e redefinido em outra, tornase problema se for alterado
157
16.3 Sintaxe
Seletor
Declarao
Valor
h1 {
color: blue;
font-size: 12px;
}
158
16.4 Cometrios
159
160
Captulo 17:
Seletores
EP:
Element Selector
1.
2.
4.
}
Adicione a tag <h1> no arquivo HTML:
<h1>First Header (element selector)</h1>
5.
6.
Salve e teste
161
17.2 id Selector
Arquivo HTML
<h1 id="header">My Title</h1>
Arquivo CSS
#header {
color: blue;
}
EP:
1.
id Selector
No arquivo "selectors.html" adicione o elemento <h1>:
<h1 id="header">Second Header (id selector)</h1>
2.
3.
Salve e teste
a.
162
Arquivo HTML
<h1 class="myClassStyle">My Big Title</h1>
<h6 class="myClassStyle">My Small Title</h6>
Arquivo CSS
.myClassStyle {
EP:
1.
color: yellow; }
Class Selector
No arquivo "selectors.html" crie uma terceira "tag" <h1> com a seguinte
configurao:
<h1 class="myClass">Third Header (class selector)</h1>
2.
3.
Salve e teste
163
EP:
1.
Universal Selector
No arquivo selectors.html adicione o cdigo:
<h2>Fourth Header (universal selector)</h2>
2.
3.
Salve e teste
a.
4.
5.
Salve e teste
164
Tipo de Seletor
Declarao CSS
Seleo
Element
elementName
id
#elementId
Class
.className
Universal
165
CSS:
.title{
color: darkcyan;
}
h1.title{
color: brown;
}
EP:
Combinando Seletores
1.
2.
3.
4.
Salve e teste
a.
5.
166
6.
Salve e teste
a.
167
168
Captulo 18:
Precedncia CSS
inline
#id selector
.class selector
element selector
padro do navegador
169
EP:
Precedncia CSS
1.
2.
3.
4.
Salve e teste
a.
5.
6.
7.
Salve e teste
a.
8.
9.
170
EP:
1.
Execuo de Precedncia
No arquivo "precedence.html" adicione o cdigo CSS no final da instruo
existente, salve e teste:
a.
h1 { color: salmon; }
2.
171
172
Apesar de ser bastante usual, sua utilizao pode deixar o cdigo frgil,
pois se a estrutura HTML mudar o estilo no mais ser aplicado
19.1.1
Descendant Selector
SELETOR SELETOR
CSS:
div h1 {
color: lime;
}
HTML:
<div>
<h1>First header</h1>
</div>
CSS:
173
HTML:
<div>
<h1>First header</h1>
<ul>
<li><h1>Second Header</h1></li>
</ul>
</div>
EP:
Descendant Selector
1.
2.
3.
4.
<h1>Another header</h1>
Salve e teste
a. Perceba que <h1> fora da <div> no recebe o estilo
174
5.
6.
7.
</ul>
Salve e teste
a. Perceba que qualquer <h1> descendente de <div> recebe o estilo
Adicione o atributo class com valor myClass nos elementos <h1> com os
seguintes contedos:
8.
a.
First Header
b.
Third Header
c.
Another Header
9.
Salve e teste
a.
175
19.1.2
Child Selector
CSS:
div>h1 { color: lime; }
HTML:
<div>
<h1>First header</h1>
<ul>
<li><h1>Second Header</h1></li>
</ul>
</div>
EP:
1.
2.
3.
Child Selector
Duplique os arquivos HTML e CSS selectors_descedant para selectors_child
a. No esquea de corrigir o vnculo da tag <link>
Altere a instruo CSS para:
div>h1.myClass { color: lime; }
Salve e teste
a. Perceba que apenas <h1> descendente direto de <div> recebeu o estilo
176
19.1.3
SELETOR + SELETOR
CSS:
h1 + h1 {
color: lime;
}
HTML:
<h1>First header</h1>
<h1>Second header</h1>
-------------------------------------------CSS:
h1 + h1 + h1 { color: lime; }
HTML:
<h1>First header</h1>
<h1>Second header</h1>
<h1>Third header</h1>
<h1>Fourth header</h1>
177
-------------------------------------------CSS:
h1 + h1.myClass { color: skyblue; }
HTML:
<h1>First header</h1>
<h1 class="myClass">Second header</h1>
<h1>Third header</h1>
<h1>Fourth header</h1>
EP:
1.
2.
3.
4.
}
Salve e teste
a.
178
5.
6.
Salve e teste
7.
8.
Salve e teste
9.
10.
<h1>Fourth header</h1>
Salve e teste
a.
11.
12.
179
19.1.4
SELETOR ~ SELETOR
CSS:
h2 ~ h1 { color: salmon; }
HTML:
<h1>First header</h1>
<h2>Second header</h2>
<h1>Third header</h1>
<h3>Fourth header</h3>
<h1>Fifth header</h1>
EP:
1.
2.
180
3.
4.
Salve e teste
a.
5.
6.
</div>
Salve e teste
a. Perceba que o <h1> aninhado em <div> no recebe o estilo
181
19.1.5
Combinao
CSS
Multiples
selector, selector
Descendants
selector selector
Child
Adjacent Sibling
selector + selector
selector ~ selector
General Sibling
Seleo
Existncia de um atributo
19.2.1
Attribute Selector
SELETOR[...]
CSS:
h1[title] { color: firebrick; }
HTML:
<h1 title="First title attribute">First Header</h1>
<h1>Second Header</h1>
<h1 title="Third title attribute">Third Header</h1>
<h1>Fourth Header</h1>
2.
3.
<h1>Fourth Header</h1>
Adicione o seguinte CSS:
h1[title] { color: firebrick; }
4.
Salve e teste
a.
5.
6.
7.
<h4>Seventh Header</h4>
Salve e teste
a.
Seletor
CSS
Seleo
[attr=value]
[target=_blank]
[attr~=value]
[title~=required]
[attr|=value]
[lang|=en]
[attr^=value]
[src^=icon]
[attr$=value]
[src$=.pdf]
184
[attr*=value]
[src*=othersite]
2.
3.
Salve e teste
a.
4.
5.
Salve e teste
6.
7.
Salve e teste
a.
8.
185
9.
Salve e teste
a.
10.
11.
}
Salve e teste
a.
12.
13.
Salve e teste
a.
186
19.3 Pseudo-class
/* selector:pseudo-class {
property: value;
}*/
h1:hover{
background-color: yellow;
}
Seletor
CSS
Seleo
active
a:active
hover
a:hover
link
a:link
visited
a:visited
target
a:target
187
EP:
Pseudo-class (link)
1.
2.
3.
Adicione o cdigo HTML com a tag <a> configurada para os arquivos dos EPs
anteriores:
4.
a.
selectors_descedant.html
b.
selectors_adjacent_sibling.html
c.
selector_attribute.html
5.
Salve e teste
6.
7.
Adicione o CSS:
8.
188
CSS
disabled
enabled
input:disabled
input:enabled
focus
input:focus
invalid
valid
input:invalid
input:valid
required
input:required
EP:
Seleo
Pseudo-class (form)
1.
2.
189
3.
4.
}
Salve e teste
a.
5.
6.
7.
Salve e teste
a.
b.
8.
Salve e teste
a.
b.
190
CSS
empty
p:empty
lang
span:lang(fr)
not
:not(h1)
EP:
Seleo
Elemento estiver sem contedo
Pseudo-class (others)
1.
2.
3.
4.
5.
Salve e teste
a. Perceba que se no for definida a altura o estilo no ser visvel
Adicione o cdigo CSS (abaixo do anterior):
span:lang(fr){
font-style: italic;
letter-spacing: 2px;
color: red;
6.
7.
}
Salve e teste
a. Perceba que apenas o texto em francs recebeu o estilo
Adicione o cdigo CSS (abaixo do anterior):
:not(span){
color: blue;
}
8.
Salve e teste
a.
192
Seletor
CSS
Seleo
first-child
last-child
p:first-child
p:last-child
first-of-type
last-of-type
p:first-of-type
p:last-of-type
nth-child(n)
p:nth-child(3)
nth-last-child(n)
p:nth-last-child(4)
nth-of-type(n)
nth-of-type(3)
nth-last-of-type(n)
p:nth-last-of-type(2)
only-of-type
p:only-of-type
only-child
p:only-child
193
EP:
1.
Pseudo-class Avanado
Crie novos arquivos HTML e CSS de nome selector_pseudo_class_advanced
e os vincule
2.
3.
Adicione o CSS:
p:first-child{
background-color: lime;
}
4.
Salve e teste
a.
5.
6.
Salve e teste
7.
8.
Salve e teste
a.
Perceba que somente o <p> que for ltimo filho receber estilo
194
9.
10.
Salve e teste
a.
11.
Perceba que somente o <p> que for o primeiro filho receber estilo
12.
Salve e teste
a.
Perceba que os <p> que forem primeiros filhos deste tipo recebem estio
b.
13.
Acrescente um novo <p> com o texto lorem ipsum, como ltima tag de <body>
a.
b.
c.
14.
15.
16.
Salve e teste
17.
18.
Salve e teste
a.
19.
20.
Salve e teste
a.
21.
22.
Salve e teste
23.
196
24.
25.
Salve e teste
26.
27.
Salve e teste
a.
28.
29.
Salve e teste
19.5 Peseudo-elements
Similares pseudo-classes
Primeira linha
Primeira letra
Seleo do mouse
197
EP:
Pseudo-elements
1.
2.
3.
Adicione o CSS:
p::first-letter{
font-size: 30px;
}
4.
Salve e teste
5.
6.
Salve e teste
198
7.
::selection{
background-color: gold;
}
::-moz-selection{
background-color: gold;
}
8.
Salve e teste
a.
9.
}
10.
11.
Salve e teste
a.
b.
199
http://peter.sh/experiments/vendor-prefixed-css-property-overview/
Usado quando um navegador no entende um propriedade CSS
200
201
Captulo 20:
Cores CSS
20.1 Cores
RGB
RGBA
HSL
HSLA
20.2 Hexadecimal
Combinao RGB
Ex: #FFFFFF
202
20.4 RGB
rgb(0,0,255)
rgb(0%,0%,100%)
203
20.5 RGBA
20.6 HSL
204
Valores
Vermelho 0 ou 360
Verde 120
Azul 240
0% preto
100% branco
/ * green */
#p1 {background-color:hsl(120,100%,50%);}
/ * light green */
#p2 {background-color:hsl(120,100%,75%);}
/ * dark green */
#p3 {background-color:hsl(120,100%,25%);}
/ * pastel green */
#p4 {background-color:hsl(120,60%,70%);}
205
20.7 HSLA
206
207
21.2 font-family
Propriedade CSS que permite definir uma ou mais fontes a serem utilizadas na
pgina HTML
p {
font-family: "Times New Roman", Times, serif;
}
208
EP:
font-family
1.
2.
4.
b.
c.
Salve e teste
a.
5.
b.
c.
http://www.dafont.com/sf-quartzite.font
209
Serif Fonts
Sans-serif Fonts
Monospace Fonts
Fonte
font-family
Monospace
Monospace
Serif
Georgia, serif
Serif
"Palatino Linotype", "Book Antiqua", Palatino, serif
210
Serif
"Times New Roman", Times, serif
Sans-serif
Sans-serif
"Arial Black", Gadget, sans-serif
Sans-serif
"Comic Sans MS", cursive, sans-serif
Sans-serif
Impact, Charcoal, sans-serif
Sans-serif
"Lucida Sans Unicode", "Lucida Grande", sans-serif
Sans-serif
Tahoma, Geneva, sans-serif
Sans-serif
"Trebuchet MS", Helvetica, sans-serif
Sans-serif
Verdana, Geneva, sans-serif
211
212
213
21.8 @font-face
@font-face {
font-family: myCustomFontName;
src: url(satisfy.woff);
}
EP:
@font-face
1.
2.
3.
4.
5.
Salve e teste
214
215
Captulo 22:
Propriedades CSS
Descrio
percentual
in
"inch"
cm
centmetro
mm
milmetro
em
ex
pt
pc
px
http://www.w3schools.com/cssref/
216
22.4 Shorthand
div {
border: 5px solid red;
}
Da mesma forma algumas propriedades podem definir seus valores por
mltiplas declaraes
div {
border-style:solid;
border-width:5px;
border-color: red green blue yellow;
}
217
EP:
Propriedades CSS
1.
2.
3.
4.
Salve e teste
5.
6.
Salve e teste
a.
7.
8.
Salve e teste
a.
9.
10.
Salve e teste
a.
218
11.
12.
13.
Salve e teste
a.
22.5 overflow
Por padro o contedo no cortado e pode sair dos limites de seu parent
container, sem nenhuma barra de rolagem
Valor
Exibe Barras
Descrio
visible
No
hidden
No
auto
Quando
necessrio
scroll
Sim
219
22.6 background
Shorthand:
background: color position size repeat origin clip attachment image|initial|inherit;
Propriedade
background-color
background-clip
background-image
background-position
Descrio
Cor de fundo
Imagem de fundo
background-size
background-repeat
background-attachment
background-origin
220
22.6.1
background-color
Cor de fundo
Padro transparente
EP:
background-color
1.
2.
Adicione uma <div> com a classe alpha, o elemento <h1> como elemento
filho, com o texto background-color
a.
3.
line-height: 155px;
221
4.
5.
Salve e teste
a.
22.6.2
Corte/limites do fundo
border-box
padding-box
content-box
background-clip: content-box;
EP:
background-clip
1.
2.
Adicione mais uma <div> com a classe clip, o elemento <h1> com o texto
background-clip
3.
4.
Salve e teste
a.
5.
6.
Salve e teste
222
22.6.3
background-image
background-image: url('image.jpg');
EP:
background-image
1.
2.
Adicione mais uma <div> com a classe image, o elemento <h1> com o texto
background-image
3.
22.6.4
background-repeat
repeat-x
repeat-y
repeat
no-repeat
223
EP:
1.
2.
background-repeat
Abra o arquivo background.html
a.
b.
3.
Salve e teste
4.
Altere a classe:
a.
b.
22.6.5
background-position
top
bottom
left
right
center
xpos
ypos
x%
y%
224
225
EP:
1.
2.
background-position
Abra o arquivo background.html
a.
b.
3.
4.
a.
top
b.
bottom
c.
right
d.
left
e.
center
0 50%
b.
50% 50%
c.
100% 100%
d.
350px 60px
e.
-20px 50px
226
5.
6.
Salve e teste
22.6.6
background-size
Pixels
Percentual
cover e contain
auto: padro
227
background-size: cover;
EP:
1.
2.
background-size
Abra o arquivo background.html
a.
b.
3.
4.
Salve e teste
a.
b.
cover
b.
contain
228
22.6.7
background-attachment
background-attachment: fixed;
EP:
1.
background-attachment
Abra o arquivo background.html
a.
b.
c.
2.
3.
Salve e teste
a.
b.
4.
5.
a.
6.
7.
Salve e teste
a.
b.
c.
22.6.8
background-origin
padding-box
border-box
content-box
22.7 border
Shorthand:
border: width style color;
border-width
border-style
border-color
230
border-top-width
border-left-style
border-bottom-color
22.7.1
Shorthand Border
No caso de estilos quadrados (border, padding, etc) existe uma lgica de uso
Exemplo
border-style: solid;
Lados
solid TOP + RIGHT+ BOTTOM + LEFT
red TOP + BOTTOM
blue LEFT + RIGHT
2px TOP
blue RIGHT
green BOTTOM
yellow LEFT
231
22.7.2
border-style
dashed
solid
double
groove
ridge
inset
outset
22.7.3
CSS3 Border
border-shadow: sombra
232
EP:
border
1.
2.
3.
a.
dotted
b.
dashed
c.
solid
d.
double
e.
groove
f.
ridge
g.
inset
h.
outset
4.
6.
7.
5px
border-left:
3px
dashed
border-bottom:
1px
border-right:
dotted
8px
blue;
solid
double
red;
green;
purple;
}
8.
9.
.sense {
border-width: 5px
border-style:
10px;
solid
border-color: deeppink
dashed
double;
22.8 padding
234
EP:
padding
1.
2.
3.
4.
22.9 margin
235
EP:
margin
1.
2.
Perceba que foram criadas duas classes, uma para cada <div>
b.
div.div$*2>h2{Div$}+p>lorem*5
3.
4.
Salve e teste
a.
5.
Adicione o CSS:
.div1 h2 {
margin-top: 50px;
}
6.
Salve e teste
a.
236
7.
Altere o CSS:
.div1 h2 {
padding-top: 50px;
}
8.
Salve e teste
a.
b.
9.
22.10 Texto
Propriedade
Valores
color
#F00
red
rgba(255,0,0,.5)
text-align
center
justify
right
left
Descrio
Alinha o texto
237
text-decoration
none
overline
line-through
underline
text-transform
uppercase
lowercase
capitalize
text-indent
10px
text-shadow
direction
ltr
rtl
letter-spacing
2px
word-spacing
5px
word-wrap
break-word
vertical-align
baseline
middle
10px
sub
super
50%
top
font-size
18px
2em
font-family
times, sans-serif
serif
font-weight
bold
bolder
lighter
600
Quebra de linha
Tamanho da fonte
Famlia da fonte
238
22.10.1
CSS3 Text
hanging-punctuation
punctuation-trim
text-align-last
text-emphasis
text-justify
EP:
Texto
1.
2.
h1.title{Title}+a.link[href="#"]{Link $}*5+(p.paragraph$>lorem*3)*3
3.
4.
Salve e teste
a.
b.
5.
6.
Salve e teste
239
7.
8.
Salve e teste
9.
10.
Salve e teste
11.
12.
Salve e teste
13.
14.
Salve e teste
15.
16.
Salve e teste
240
22.11
list-style
Shorthand:
list-style: list-style-type list-style-position list-style-image;
22.11.1
list-style-type
Para <ul>:
disc
circle
square
none
armenian
cjk-ideographic
decimal
decimal-leading-zero
georgian
hebrew
hiragana
hiragana-iroha
katakana
katakana-iroha
lower-alpha
lower-greek
lower-latin
lower-roman
241
upper-alpha
upper-latin
upper-roman
none
ol {
list-style-type: decimal;
}
ul {
list-style-type: square;
}
22.11.2
list-style-position
inside
outside
ul {
list-style-position: outside;
}
242
22.11.3
list-style-image
EP:
list-style
1.
2.
3.
Salve e teste
a.
4.
5.
Salve e teste
6.
7.
Salve e teste
243
8.
9.
22.12
Colunas
Existem algumas propriedade CSS3 que permite definir colunas
Por ser relativamente nova, seu uso deve ocorrer apenas com
navegadores modernos
-moz-
-webkit-
Propriedade
Valor
column-count
column-gap
20px
column-rule
column-width
100px
Descrio
Nmero de colunas
Espaamento entre colunas
Shorthand para exibir o separador
de colunas
Largura da coluna
244
EP:
Colunas
1.
2.
3.
Salve e teste
a.
4.
5.
8;
-moz-column-count:
8;
-webkit-column-count:
8;
}
6.
Salve e teste
245
7.
30px;
-moz-column-gap:
30px;
-webkit-column-gap: 30px;
8.
Salve e teste
9.
-moz-column-rule:
-webkit-column-rule:
10.
Salve e teste
11.
246
247
Captulo 23:
At Rules
23.1 Sobre
23.2 Principais
At rule
Exemplo
Descrio
@charset
@charset "UTF-8"
@import
@media
@media print {
body { font-size: 10pt }
}
@font-face
@font-face {
font-family:
myFirstFont;
src:
url('Sansation_Light.ttf'
),
}
248
23.3 @charset
@charset "UTF-8"
23.4 @import
249
/*fine.css*/
h1{ color: blue; }
-------------------/*default.css*/
@import url('fine.css')
h1{ color: red; }
EP:
@import
1.
2.
3.
4.
a.
No arquivo HTML adicione uma "tag" <h1> com valor "CSS Import"
b.
No arquivo CSS adicione o estilo "color" com valor "red" para <h1>
b.
5.
Salve e teste
a.
b.
6.
7.
Salve e teste
a.
23.5 @font-face
No caso de uso das variaes de fonte (negrito, itlico, etc) estas tambm
devem ser carregadas para uso
No caso de uso das variaes de fonte (negrito, itlico, etc) estas tambm
devem ser carregadas para uso
Similar a uma imagem, quanto mais pesado (kb) o arquivo maior ser o
tempo de carregamento
@font-face {
font-family: myCustomFont;
src: url(sansation.woff);
}
body { font-family: myCustomFont; }
/* Adding font italic and bold */
251
@font-face {
font-family: myCustomFont;
src: url(sansation_italic.woff);
font-style: italic;
}
@font-face {
font-family: myCustomFont;
src: url(sansation_bold.woff);
font-weight: bold;
}
23.5.1
Suporte de Fontes
WOFF
OTF
TTF
SVG
EOT
IE
---
Firefox
3.6
3.5
3.5
---
---
Opera
11.1
10
10
10
---
Safari
5.1
3.1
3.1
3.1
---
Chrome
0.3
---
252
EP:
@font-face
1.
2.
3.
a.
b.
c.
4.
5.
Salve e teste
6.
b.
c.
d.
@font-face {
font-family: myCustomFont;
src: url(xxxxxxx_italic.xxx);
font-style: italic;
}
253
23.6 @media
Aninha instrues CSS com uma condio definida pela "media query"
Seu valor um "media type" e define a condio para que o bloco CSS
aninhado seja aplicado
Media Type
Descrio
all
Todos os "devices"
braille
Braille "devices"
embossed
Impressoras braille
handheld
Impressoras
projection
Projetores
screen
Telas de computadores
speech
Sintetizadores de voz
tty
Terminais, tele-texto
tv
254
@media print {
body { font-size: 10pt }
}
@media screen {
body { font-size: 13px }
}
@media screen, print {
body { line-height: 1.2 }
}
EP:
@media
1.
2.
3.
Adicione o CSS:
@media print {
body { font-size: 5pt; }
}
@media screen {
body { font-size: 30px; }
}
4.
255
256
24.2 reas
4 reas retangulares
"margin"
"border"
Fundo
"padding"
Transparente
"content"
Fundo
257
Margem
Borda
Prprio contedo
258
"width"
"height"
Clculo da largura:
Largura total do elemento =
width
+ left padding + right padding
+ left border + right border
+ left margin + right margin
Clculo da altura:
Altura total do elemento =
height
+ top padding + bottom padding
+ top border + bottom border
+ top margin + bottom margin
259
EP:
1.
Tamanho do Elemento
Calcule o tamanho do elemento conforme o CSS:
width: 250px;
padding: 10px;
border: 5px solid gray;
margin: 10px;
2.
3.
300px
Assumindo que voc tenha apenas 250 "pixels" de largura na tela, qual seriam
os valores corretos da instruo CSS inicial ?
4.
Resposta:
a.
width: 220px;
padding: 10px;
border: 5px solid gray;
margin: 0px;
260
EP:
1.
CSS Reset
Baixe o arquivo CSS Reset do Eric Meyer
a.
2.
3.
4.
5.
Salve e teste
a.
261
262
Captulo 25:
Posicionamento
25.1 Dimenses
25.1.1
Propriedade
Descrio
auto
none
Nenhum valor
length
inherit
263
25.1.2
Propriedades de Dimenses
Propriedade
Caracterstica
auto
length
inherit
none
max-height
Altura mxima
---
max-width
Largura mxima
---
min-height
Altura mnima
---
---
min-width
Largura mnima
---
---
height
Altura
---
width
Largura
---
25.2 display
264
25.2.1
EP:
inline vs block
inline
block
inline vs block
1.
2.
h1{Title}+p>(span>lorem1000)+img[src=http://lorempixel.com/100/100/cats]+(span>lorem10
00)
3.
Salve, teste
a.
b.
4.
5.
Utilize CSS e aplique fundos com cores diferentes para cada tipo de elemento
6.
Salve e teste
a.
265
25.2.2
Modificando a Exibio
"inline"
"block"
"none"
li {
display:inline;
}
EP:
Modificando a Exibio
1.
2.
3.
Salve e teste
a.
4.
5.
Salve e teste
266
6.
7.
Salve e teste
a.
8.
9.
Salve e teste
25.2.3
Removendo da Exibio
display: none;
267
25.2.4
Visibilidade
visibility: hidden;
EP:
1.
Exibio vs Visibilidade
Abra o endereo abaixo no navegador:
http://codepen.io/pen/
2.
3.
4.
268
5.
6.
7.
h1 ~ h1 {
background-color: #f00;
/*display:none;*/
visibility: hidden;
8.
}
Perceba que o espao ocupado por <h1> foi mantido
9.
b.
c.
25.3 position
static (padro)
relative
absolute
fixed
269
Animaes
Popups
Posicionamento dos elementos ocorre com base nos valores das propriedades:
top
bottom
left
right
div {
position: relative;
top: 20px;
left: 50px;
}
25.3.1
static
Padro do navegador
270
EP:
1.
static
Abra o endereo abaixo:
http://jsfiddle.net/
2.
3.
4.
}
Clique no boto Run localizado na barra superior do lado direito
5.
271
6.
7.
8.
Rode novamente
a.
9.
10.
b.
c.
Clique em CTRL + S
d.
e.
25.3.2
relative
top
bottom
left
right
272
EP:
1.
relative
Volte ao JSFiddle
a.
2.
3.
b.
c.
4.
5.
Rode o cdigo
a.
b.
25.3.3
absolute
273
EP:
absolute
1.
2.
4.
Rode o cdigo
a.
b.
c.
5.
6.
7.
274
8.
9.
Rode
a.
b.
10.
11.
Rode
a.
b.
12.
13.
275
25.3.4
fixed
Mantm uma posio fixa na tela mesmo quando for utilizada a barra de rolagem
EP:
fixed
1.
2.
3.
4.
5.
left: 20px;
Rode
a.
6.
276
25.3.5
z-index
div {
position: absolute;
top: 10px;
left: 10px;
z-index: -1;
}
EP:
z-index
1.
2.
3.
b.
4.
277
5.
Salve e teste
a.
Perceba que div3 ficou sobre div2 por ter sido a ltima <div> com
posicionamento relativo adicionada na tela
6.
7.
Salve e teste
a.
8.
9.
Salve e teste
a.
10.
11.
Salve e teste
a.
25.3.6
Ancorando Elementos
278
EP:
Ancorando Elementos
1.
2.
3.
4.
5.
b.
6.
7.
Salve e teste
a.
b.
8.
Salve e teste
a.
9.
10.
11.
b.
Todos os elementos aps o elemento "flutuado" tero seu fluxo em volta deste
25.4.1
float
right
left
none
inherit
280
EP:
float
1.
2.
3.
4.
5.
Salve e teste
6.
Flutue a imagem:
img {
float: right;
}
7.
Salve e teste
a.
281
25.4.2
clear
EP:
Valores so:
clear
1.
2.
3.
}
Salve e teste
25.4.3
Flutuao vs Proximidade
282
EP:
Flutuao vs Proximidade
1.
2.
3.
Salve e teste
a.
4.
5.
Salve e teste
a.
6.
7.
8.
9.
<img src="http://lorempixel.com/100/90/cats/6"
class="gallery">
Salve e teste
a.
b.
Possvel soluo:
h3:nth-of-type(2){
clear: left;
10.
}
Salve e teste
a.
11.
12.
Salve e teste
a.
25.4.4
Clearfix
284
EP:
Clearfix
1.
2.
(div.container>(span>lorem1000)+img[src=http://lorempixel.com/80
0/900]+(span>lorem100))+div.footer>h3>lorem
3.
Salve e teste
4.
No CSS:
a.
b.
c.
5.
6.
a.
last-child
b.
last-of-type
c.
nth-of-type(2)
d.
nth-last-of-type(1)
e.
nth-last-child(1)
Salve e teste
a.
7.
8.
Salve e teste
a.
9.
285
10.
http://cssmatter.com/blog/css-clearfix/
11.
12.
13.
Salve e teste
a.
b.
25.5 Alinhamento
Centralizar
Esquerda e direita
25.6 Centralizando
286
A margem deve ser definida para a esquerda e direita como "auto" para
centralizar o elemento em bloco
.center {
margin: 0 auto;
width:70%;
}
EP:
Centralizando
1.
2.
3.
4.
5.
Salve e teste
a.
6.
287
7.
Salve e teste
a.
8.
9.
10.
11.
Salve e teste
a.
12.
13.
Salve e teste
EP:
1.
Outras Tcnicas
Crie diferentes layouts
a.
2.
Redimensione a tela
a.
b.
c.
d.
288
3.
Layouts:
4.
Soluo:
http://www.primarycss.com/
289
290
width: 1280px;
height: 768px;
EP:
Fixo
1.
2.
(div.head>h1{Head})+(div.leftBar>h1{Left})+(div.content>h1{Conte
nt})+(div.rightBar>h1{Right})+(div.footer>h1{Footer})
3.
No CSS:
a.
b.
c.
d.
e.
f.
4.
Salve e teste
5.
b.
c.
291
6.
Salve e teste
7.
8.
a.
b.
Salve e teste
a.
b.
26.2 Lquido
html, body {
width: 100%;
height: 100%;
}
div {
left: 30px;
right: 10%;
}
292
EP:
Lquido
1.
2.
3.
Salve e teste
4.
5.
a.
b.
Salve e teste
a.
b.
6.
7.
b.
c.
Salve e teste
a.
b.
8.
9.
}
Salve e teste
a.
293
26.3 Hbrido
EP:
Hbrido
1.
2.
3.
Salve e teste
a.
26.4 Responsivo
Reconfigurao pode ser apenas dos valores, como pode mudar o layout
completamente
EP:
1.
Responsivo
Abra o endereo abaixo:
http://stephencaver.com/
2.
3.
Posicionamento
b.
Layout
c.
Tamanhos
295
296
Cria uma condio que deve ser satisfeita para o estilo ser aplicado
@media
@import
"at rule"
"media type"
"media feature"
"logical operator"
}
Tambm possvel usar a "tag" <link> com o atributo "media"
297
27.2.3
Media Type
Caso nenhum valor seja especificado, ser aplicado a todos os tipos de mdia
@media {
body { font-size: 20px; }
}
all
braille
embossed
handheld
projection
screen
speech
tty
tv
@media screen {
body { font-size: 20px; }
}
@media tv {
body { font-size: 30px; }
}
298
Media Features
Maioria das caractersticas da mdia podem ser prefixadas com os valores "min-"
ou "max-"
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries#Media_features
<link
rel="stylesheet"
media="(max-width: 800px)"
href="example.css"
/>
---------------------------------------<style>
@media (max-width: 800px) {
.hideSideBar {
display: none;
}
}
</style>
299
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries#Media_features
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries#Media_features
width
min-width
max-width
Altura
height
min-height
max-height
Resoluo
resolution
min-resolution
max-resolution
Aspect Ratio
aspect-ratio
min-aspect-ratio
max-aspect-ratio
300
EP:
1.
Media Query
Baixe as imagens:
http://pastebin.com/UwQ3CLY9
2.
3.
4.
5.
6.
Salve e teste
7.
8.
301
"and"
"not"
"only"
27.3.1
and
302
27.3.2
not
only
Evita que navegadores antigos apliquem o estilo sem respeitar a "media query"
<link rel="stylesheet"
media="only screen and (color)"
href="example.css" />
303
EP:
1.
Operadores Lgicos
No mesmo arquivo do EP anterior
a.
2.
3.
}
Salve e teste
a.
b.
c.
4.
5.
6.
304