Front-end
Hyper Text Markup Language
Hyper Text Markup Language
Hyper Text Markup Language
<tagname>content goes here...</tagname>Hyper Text Markup Language
Document Object Model
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>This is a Heading</h1>
<p>This is a paragraph.</p>
</body>
</html>href,
source,
nome
id,
class,
style,
with, ---> <div>
height,
title,
style
Uso correto de indentação
É recomendada a adição de comentários antes da abertura e pós o fechamento de tags estruturais (que conterão outras tags)
Evitar usar !important
Usar html semântico sempre possível
Folhas de estilo no <head> e scripts JS ao final do <body>
Estrutura lógica básica
css/
js/
intex.html
Boas práticas
CSS é uma linguagem que descreve o estilo de um documento HTML.
CSS descreve como elementos HTML deve ser exibido
Cascading Style Sheets
Quando tags como <font> e atributos de cor foram adicionados à especificação HTML 3.2, começou um pesadelo para os desenvolvedores web. Desenvolvimento de grandes sites, onde fontes e cores informações foram adicionadas para cada página, tornou-se um processo longo e caro.
Para resolver este problema, o World Wide Web Consortium (W3C) criou CSS.
CSS removeu o estilo de formatação da página feita no HTML!
Cascading Style Sheets
As definições de estilo são normalmente
guardados em arquivos .css externas.
Cascading Style Sheets
Cascading Style Sheets
Cascading Style Sheets
External CSS
Internal CSS
Inline CSS
body {
background-color: lightblue;
}
h1 {
color: white;
text-align: center;
}
p {
font-family: verdana;
font-size: 20px;
}Cascading Style Sheets
Cascading Style Sheets
Cascading Style Sheets
h1 {
font-family: serif;
}
h2 {
font-family: sans-serif;
}
p {
font-family: monospace;
text-transform: uppercase;
}
body {
font-family: "Arial", "Helvetica", sans-serif;
}Cascading Style Sheets
p {
line-height: 3px; /* tamanho da altura de cada linha */
letter-spacing: 3px; /* tamanho do espaço entre cada letra */
word-spacing: 5px; /* tamanho do espaço entre cada palavra */
text-indent: 30px; /* tamanho da margem da primeira linha do texto */
}Cascading Style Sheets
body {
border-color: red;
border-style: solid;
border-width: 1px;
}Cascading Style Sheets
h1 {
background-color: yellow;
}
h3 {
color: rgb(255, 200, 0);
}
h4 {
background-color: #F2EDED;
}Cascading Style Sheets
Cascading Style Sheets
p {
background-color: red;
height: 300px;
width: 300px;
}Cascading Style Sheets
p {
margin: 1px 2px 3px 4px;
margin-top: 3px;
margin-right: 3px;
margin-left: 3px;
margin-bottom: 3px;
}Cascading Style Sheets
p {
padding: 1px 2px 3px 4px;
padding-top: 3px;
padding-right: 3px;
padding-left: 3px;
padding-bottom: 3px;
}Cascading Style Sheets
#imagem {
margin-left: auto;
margin-right: auto;
width: 550px;
}
div {
float: left;
}Cascading Style Sheets
<div id="pai">
<h1>Sou um título</h1>
<h2>Sou um subtítulo</h2>
</div>
<style>
#pai {
color: blue;
}
</style>Cascading Style Sheets
.painel li {
display: inline-block;
vertical-align: top;
width: 140px;
margin: 2px;
padding-bottom: 10px;
}Cascading Style Sheets
input[type="text"] {
border-radius: 4px;
}
div[class|="menu"] {
border-radius: 4px;
}
input[value~="problema"] {
color: #CC0000;
}Cascading Style Sheets
/* busca por inputs com valor de "name" iniciando em "usuario" */
input[name^="usuario"] {
color: #99FFCC;
}
/* busca por inputs com valor de "name" terminando em "teste" */
input[name$="teste"] {
background-color: #CCFF00;
}
/* busca por inputs com valor do atributo "name".
contendo "tela" em qualquer posição */
input[name*="tela"] {
color: #666666;
}Cascading Style Sheets
organizando o caos com HTML5
<body>
<div id="cabeclaho">
<!-- Conteúdo do cabeçalho -->
</div>
<div id="side-bar">
<!-- Conteúdo do menu lateral -->
</div>
<div id="content">
<!-- Conteúdo conteudo principal -->
</div>
<div id="destaques">
<!-- Painéis com destaques -->
</div>
<div id="footer">
<!-- Conteúdo do rodapé -->.
</div>
</body>organizando o caos com HTML5
<body>
<header>
<!-- Conteúdo do cabeçalho -->
</header>
<nav>
<!-- Conteúdo do menu lateral -->
</nav>
<main>
<!-- Conteúdo conteudo principal -->
</main>
<aside>
<!-- Painéis com destaques -->
</aside>
<footer>
<!-- Conteúdo do rodapé -->.
</footer>
</body>organizando o caos com HTML5
organizando o caos com HTML5
<header>
<section>
<article>
<nav>
<aside>
<main>
<figure>
<footer>
<time>
Crie uma pagina de exposição de serviços oferecidos por um Petshop
É uma das 3 línguas que todos os desenvolvedores web devem aprender:
1. HTML para definir o conteúdo de páginas da web
2. CSS para especificar o layout de páginas da web
3. JavaScript para programar o comportamento de páginas da web
Páginas da web não são o único lugar onde o JavaScript é usado. Muitos programas de desktop e servidor usam JavaScript. Node.js é o mais conhecido.
Alguns bancos de dados, como MongoDB (JSON) e CouchDB, também usam JavaScript como sua linguagem de programação.
ECMAScript é uma especificação de linguagem de programação baseada em scripts, padronizada pela Ecma International na especificação ECMA-262 e ISO/IEC 16262
<!DOCTYPE html>
<html>
<body>
<h2>My First JavaScript</h2>
<button type="button" onclick="document.getElementById('demo').innerHTML = Date()">
Click me to display Date and Time.</button>
<p id="demo"></p>
</body>
</html><!DOCTYPE html>
<html>
<body>
<h2>What Can JavaScript Do?</h2>
<p>JavaScript can change HTML attribute values.</p>
<p>In this case JavaScript changes the value of the src (source) attribute of an image.</p>
<button
onclick="document.getElementById('myImage').src='https\:\/\/www.w3schools.com\/js\/pic_bulbon.gif'">
Turn on the light
</button>
<img id="myImage"
src="https://www.w3schools.com/js/pic_bulboff.gif" style="width:100px">
<button
onclick="document.getElementById('myImage').src='https\:\/\/www.w3schools.com\/js\/pic_bulboff.gif'">
Turn off the light
</button>
</body>
</html>É possível omitir o ponto e vírgula no final de cada declaração. A omissão de ponto e vírgula
funciona no JavaScript devido ao mecanismo chamado automatic semicolon insertion (ASI).
let x;
x = 5;
x = "John";
x = {firstName:"John", lastName:"Doe"};
typeof(x);
typeof("John");
typeof(3.14);
typeof(true);
typeof(false);
typeof(y);let cars = ["Saab", "Volvo", "BMW"];
let cars = new Array("Saab", "Volvo", "BMW");
cars.toString();
cars.pop();
cars.push("Ferrari");
cars.shift();
cars.unshift("Mercedes")
cars.sort();
cars.reverse(); document.getRootNode()
// CONSULTA DE ELEMENTO(S)
document.getElementById("id")
document.getElementsByClassName("")
document.getElementsByName("")
document.getElementsByTagName("")
// CONSULTA DE SELETORES
document.querySelector("h1")
document.querySelector(".class")
document.querySelector("#id")
document.querySelectorAll("div")function mostraAlerta() {
alert("Funciona!");
}
var botao = document.querySelector("#meuBotao");
botao.onclick = mostraAlerta;console.log("texto...", variavel, [], {});
var botao = document.querySelector("#meuBotao");
botao.onclick = function () {
alert("Funciona!");
};
botao.onclick = () => alert("Funciona!");Qual é a melhor opção?
Na pagina de exposição de serviços oferecidos por um Petshop, ao clicar em um produto ou serviço apresente o valor do produto para o usuário;
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<body>
<div class="jumbotron text-center">
<h1>My First Bootstrap Page</h1>
<p>Resize this responsive page to see the effect!</p>
</div>
<div class="container">
<div class="row">
<div class="col-sm-4">
<h3>Column 1</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit...</p>
<p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris...</p>
</div>
<div class="col-sm-4">
<h3>Column 2</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit...</p>
<p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris...</p>
</div>
<div class="col-sm-4">
<h3>Column 3</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit...</p>
<p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris...</p>
</div>
</div>
</div>
</body>
</html><!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
});
});
</script>
</head>
<body>
<p>If you click on me, I will disappear.</p>
<p>Click me away!</p>
<p>Click me too!</p>
</body>
</html>