Rafael Pereira Alonso
Computer Science student at the Federal University of São Carlos - Sorocaba and Ruby On Rails Teacher
HTML, CSS e JS
<!-- Tudo deve estar envolto pela tag 'html' -->
<html>
<!-- A tag 'head' guarda coisas mais lógicas (veremos mais depois) -->
<head>
<!-- A tag 'title' define o que aparecerá na aba da página -->
<title>Título da página (na aba)</title>
</head>
<!-- A tag 'body' guarda tudo o que aparecerá DENTRO da página -->
<body>
<!-- A tag 'h1' é o maior header que HTML possui -->
<h1>Título da página (na página)</h1>
</body>
</html>
<!-- Tudo deve estar envolto pela tag 'html' -->
<html>
<!-- ... -->
<body>
<!-- A tag 'h1' é o maior header que HTML possui -->
<h1>Título da página (na página)</h1>
<img src="iamges/poney.jpg" alt="Ponei rosa">
</body>
</html>
<!-- Tudo deve estar envolto pela tag 'html' -->
<html>
<!-- ... -->
<body>
<!-- 'form' envolve todos os inputs de um formulário -->
<form>
<label for="input_nome">Qual seu nome?</label>
<input type="text" placeholder="João das Neves" id="input_nome">
<label for="input_email">Qual seu email?</label>
<input type="text" placeholder="joao_neves@got.com" id="input_email">
<label for="input_senha">Qual sua senha?</label>
<input type="password" id="input_senha">
<input type="submit" value="Enviar informações">
</form>
</body>
</html>
Use o <meta>, oras pois!
<meta name="" content=""><html>
<head>
<title>Whatever</title>
<!-- Descrição no google -->
<meta name="description" content="Melhor página da internet!">
<!-- Aparência no Facebook -->
<meta property="og:title" content="Exemplo - A melhor página da internet">
<meta property="og:image" content="ponei.jpg">
<meta property="og:description" content="A melhor página da internet">
<meta property="og:site_name" content="Título da página"/>
<!-- Aparência no Twitter -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@MelhorPagina">
<meta name="twitter:title" content="Exemplo - A melhor página da internet">
<meta name="twitter:description" content="A melhor página da internet">
<meta name="twitter:creator" content="@MelhorPagina">
<meta name="twitter:image:src" content="ponei.jpg">
</head>
<!-- ... -->
</html>Veja quais são elas aqui
Para nos ajudar a identificar um elemento específico ou um conjunto de elementos, tanto HTML quanto CSS e JS nos oferecem o conceito de classes e IDs
HTML
<h1>Header qualquer</h1>
<h1 class="red">Header de cor vermelha</h1>
<h1 class="red">Outro header de cor vermelha</h1>
<h1 id="super-h1" class="red">Header maior que todos, mesmo sendo h1</h1>
<h1 class="red green">Header green, mesmo com classe red</h1>
<h1 id="blue" class="red green">Header blue, mesmo com outras classes</h1>
CSS
/* alterar todos os <h1> */
h1{
font-size: 50px;
}
/* alterar todos aqueles com class="red" */
.red{
color: red;
}
/* alterar todos aqueles com class="green" */
.green{
color: green;
}
/* alterar aquele com id="super-header" */
#super-header{
font-size: 72px;
border: none;
}
/* alterar aquele com id="blue" */
#blue{
color: blue;
}<html>
<!-- ... -->
<body>
<!-- É possível programar em css dentro da tag 'style' -->
<style>
/* alterar todos os <h1> */
h1{
font-size: 50px;
}
/* alterar todos aqueles com class="red" */
.red{
color: red;
}
</style>
<!-- ... -->
</body>
</html><html>
<head>
<meta charset="utf-8">
<title>Components demo</title>
<!-- Quando seu CSS estiver em outro arquivo, use a tag 'link'
o caminho relativo para seu arquivo deve ser especificado
no atributo 'href' e o atributo 'rel' deve ser igual a
'stylesheet'
-->
<link rel="stylesheet" href="css/style.css">
</head>
<!-- ... -->
</html>Veja quais são elas aqui
Uma breve explicação de alguns conceitos
Como fazemos algo assim?
<!-- divs são containers lógicos em html -->
<div>
<h2>Card Title</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Doloribus blanditiis debitis veritatis, dicta commodi totam illum.
Quod pariatur rerum fugit officiis! Temporibus, reprehenderit.
Delectus eveniet molestias, ipsum natus nisi deleniti?
</p>
<a href="#/">Link</a>
</div>body{
font-family: 'Montserrat', sans-serif;
background-color: #CCC;
}
div{
width: 300px;
background-color: white;
padding: 15px 20px;
border-radius: 5px;
}
div h2{
margin-top: 0;
}
div p{
text-align: justify;
}
div a{
text-decoration: none;
padding: 5px 10px;
color: white;
background-color: #2a7d98;
border-radius: 3px;
}<!-- divs são containers lógicos em html -->
<div class="card">
<h2>Card Title</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Doloribus blanditiis debitis veritatis, dicta commodi totam illum.
Quod pariatur rerum fugit officiis! Temporibus, reprehenderit.
Delectus eveniet molestias, ipsum natus nisi deleniti?
</p>
<a href="#/">Link</a>
</div>body{
font-family: 'Montserrat', sans-serif;
background-color: #CCC;
}
.card{
width: 300px;
background-color: white;
padding: 15px 20px;
border-radius: 5px;
}
.card h2{
margin-top: 0;
}
.card p{
text-align: justify;
}
.card a{
text-decoration: none;
padding: 5px 10px;
color: white;
background-color: #2a7d98;
border-radius: 3px;
}Todos com o mesmo estilo CSS (mesma classe)
10 componentes ~= 90% do design
Já fizemos um, por exemplo!
.card{
width: 300px;
background-color: white;
padding: 15px 20px;
border-radius: 5px;
}
.card h2{
margin-top: 0;
}
.card p{
text-align: justify;
}
.card a{
text-decoration: none;
padding: 5px 10px;
color: white;
background-color: #2a7d98;
border-radius: 3px;
}A ideia é que um componente seja altamente reutilizável
Alguns componentes são atômicos:
Alguns componentes são moleculares (utilizam componentes atômicos):
git init
hub create
gco -b gh-pages # cria uma nova branch chamada gh-pages
gp origin gh-pages # envia as alterações feitas localmente à gh-pages
http://GithubUsername.github.io/profile/
By Rafael Pereira Alonso
Sexta Aula da Atividade Complementar de Ruby On Rails, lecionada na Universidade Federal de São Carlos, campus Sorocaba, no primeiro semestre de 2019
Computer Science student at the Federal University of São Carlos - Sorocaba and Ruby On Rails Teacher