Criar um tema: "Companhia"
Esta página irá mostrar-lhe como construir um tema Bootstrap a partir do zero.
Vamos começar com uma página HTML simples, e, em seguida, adicionar mais e mais componentes, até que tenhamos um site totalmente funcional, pessoal e responsivo.
O resultado será parecido com este, e você está livre para modificar, guardar, partilhar, usar ou fazer o que quiser com ele:
Start Page HTML
Vamos começar com a página HTML seguinte:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap
Theme Company</title>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width, initial-scale=1">
</head>
<body>
<h1>Company</h1>
<p>We specialize in blablabla</p>
</body>
</html>
Adicionar Bootstrap CDN e adicionar um Jumbotron
Adicionar Bootstrap CDN e um link para jQuery e colocar elementos HTML dentro de um .jumbotron
:
Exemplo
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap
Theme Company</title>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<body>
<div class="jumbotron">
<h1>Company</h1>
<p>We specialize in blablabla</p>
</div>
</body>
</html>
Resultado:
companhia
Somos especializados em blablabla
Adicione a cor do fundo e texto Centro
1. Adicione uma cor de fundo laranja para a jumbotron.
2. Adicione o .text-center
de classe para centralizar o texto no interior do jumbotron:
Exemplo
<style>
.jumbotron {
background-color:
#f4511e;
/* Orange */
color: #ffffff;
}
</style>
<body>
<div class="jumbotron
text-center">
<h1>Company</h1>
<p>We specialize in blablabla</p>
</div>
</body>
Resultado:
companhia
Somos especializados em blablabla
Adicionar formulário
Adicionar um formulário com um campo de entrada e um botão:
Exemplo
<div class="jumbotron
text-center">
<h1>Company</h1>
<p>We specialize in blablabla</p>
<form class="form-inline">
<input type="email" class="form-control" size="50" placeholder="Email
Address">
<button type="button" class="btn btn-danger">Subscribe</button>
</form>
</div>
Resultado:
companhia
Somos especializados em blablabla
Adicionar Containers
Adicionar dois recipientes ( .container-fluid
), e adicionar uma classe personalizada para o segundo recipiente ( .bg-grey
- adiciona uma cor de fundo cinza):
Exemplo
<style>
.bg-grey {
background-color: #f6f6f6;
}
</style>
<div class="container-fluid">
<h2>About Company Page</h2>
<h4>Lorem ipsum..</h4>
<p>Lorem ipsum..</p>
<button
class="btn btn-default btn-lg">Get in Touch</button>
</div>
<div class="container-fluid
bg-grey">
<h2>Our Values</h2>
<h4><strong>MISSION:</strong> Our mission lorem ipsum..</h4>
<p><strong>VISION:</strong> Our vision Lorem ipsum..
</div>
Resultado:
Sobre Empresa Página
Lorem ipsum ..
Lorem ipsum ..
Nossos valores
MISSÃO: Nossa ipsum lorem missão ..
VISÃO: Nossa ipsum visão Lorem ..
Adicionar Padding
Vamos fazer o jumbotron e os recipientes com bom aspecto, acrescentando alguns padding:
Exemplo
<style>
.jumbotron {
background-color: #f4511e;
color: #fff;
padding: 100px 25px;
}
.container-fluid {
padding: 60px
50px;
}
</style>
Resultado:
companhia
Somos especializados em blablabla
Sobre Empresa Página
Lorem ipsum ..
Lorem ipsum ..
Nossos valores
MISSÃO: Nossa ipsum lorem missão ..
VISÃO: Nossa ipsum visão Lorem ..
Adicionar um Grid
1. Adicione um ícone (ou o logotipo da empresa) para cada recipiente.
2. Separe o ícone e o "sobre o texto" através da criação de duas colunas ( .col-sm-8
e .col-sm-4
)
3. Adicione consultas de mídia para centralizar a coluna "logo" em telas menores que 768 pixels de largura.
Exemplo
<style>
.logo {
font-size: 200px;
}
@media screen and (max-width: 768px) {
.col-sm-4 {
text-align: center;
margin: 25px 0;
}
}
</style>
<div class="container-fluid">
<div
class="row">
<div class="col-sm-8">
<h2>About Company Page</h2>
<h4>Lorem
ipsum..</h4>
<p>Lorem ipsum..</p>
<button class="btn btn-default btn-lg">Get
in Touch</button>
</div>
<div
class="col-sm-4">
<span
class="glyphicon glyphicon-signal logo"></span>
</div>
</div>
</div>
<div class="container-fluid bg-grey">
<div class="row">
<div class="col-sm-4">
<span class="glyphicon
glyphicon-globe logo"></span>
</div>
<div class="col-sm-8">
<h2>Our Values</h2>
<h4><strong>MISSION:</strong> Our mission lorem ipsum..</h4>
<p><strong>VISION:</strong> Our vision Lorem ipsum..</p>
</div>
</div>
</div>
Resultado:
Sobre Empresa Página
Lorem ipsum ..
Lorem ipsum ..
Nossos valores
MISSÃO: Nossa ipsum lorem missão ..
VISÃO: Nossa ipsum visão Lorem ..
Adicionar Serviços de Container
Adicionar um novo recipiente, com colunas de 2x3 e de igual largura ( .col-sm-4
):
Exemplo
<div class="container-fluid text-center">
<h2>SERVICES</h2>
<h4>What we offer</h4>
<br>
<div class="row">
<div class="col-sm-4">
<span class="glyphicon
glyphicon-off"></span>
<h4>POWER</h4>
<p>Lorem ipsum dolor sit amet..</p>
</div>
<div class="col-sm-4">
<span class="glyphicon
glyphicon-heart"></span>
<h4>LOVE</h4>
<p>Lorem ipsum dolor sit amet..</p>
</div>
<div class="col-sm-4">
<span class="glyphicon
glyphicon-lock"></span>
<h4>JOB DONE</h4>
<p>Lorem ipsum dolor sit amet..</p>
</div>
</div>
<br><br>
<div class="row">
<div class="col-sm-4">
<span class="glyphicon
glyphicon-leaf"></span>
<h4>GREEN</h4>
<p>Lorem ipsum dolor sit amet..</p>
</div>
<div class="col-sm-4">
<span class="glyphicon
glyphicon-certificate"></span>
<h4>CERTIFIED</h4>
<p>Lorem ipsum dolor
sit amet..</p>
</div>
<div
class="col-sm-4">
<span class="glyphicon
glyphicon-wrench"></span>
<h4>HARD
WORK</h4>
<p>Lorem ipsum dolor sit amet..</p>
</div>
</div>
</div>
Resultado:
SERVIÇOS
O que nós oferecemos
PODER
Lorem ipsum dolor sit amet ..
AMAR
Lorem ipsum dolor sit amet ..
TAREFA CONCLUÍDA
Lorem ipsum dolor sit amet ..
VERDE
Lorem ipsum dolor sit amet ..
CERTIFICADO
Lorem ipsum dolor sit amet ..
TRABALHO DURO
Lorem ipsum dolor sit amet ..
Ícones de estilo
Adicionar uma classe personalizada ( .logo-small
) a cada glyphicon no recipiente "Serviços". Use CSS para estilizar-los:
Exemplo
/* Add an orange color to all icons and set the font-size */
.logo-small
{
color: #f4511e;
font-size:
50px;
}
.logo
{
color: #f4511e;
font-size:
200px;
}
Resultado:
Sobre Empresa Página
Lorem ipsum ..
Lorem ipsum ..
Nossos valores
MISSÃO: Nossa ipsum lorem missão ..
VISÃO: Nossa ipsum visão Lorem ..
SERVIÇOS
O que nós oferecemos
PODER
Lorem ipsum dolor sit amet ..
AMAR
Lorem ipsum dolor sit amet ..
TAREFA CONCLUÍDA
Lorem ipsum dolor sit amet ..
VERDE
Lorem ipsum dolor sit amet ..
CERTIFICADO
Lorem ipsum dolor sit amet ..
TRABALHO DURO
Lorem ipsum dolor sit amet ..
Adicionar Portfolio Container
Criar um novo recipiente de largura total, com três colunas de igual largura ( .col-sm-4
):
Dentro de cada coluna, adicionar uma imagem.
Em seguida, use o .img-thumbnail
classe para moldar a imagem para uma miniatura.
Normalmente, você poderia adicionar o .img-thumbnail
classe diretamente ao elemento <img>. Neste exemplo, nós colocamos um recipiente em miniatura ao redor da imagem, de modo que podemos especificar um texto da imagem também.
Exemplo
<div class="container-fluid text-center bg-grey">
<h2>Portfolio</h2>
<h4>What we have created</h4>
<div
class="row text-center">
<div class="col-sm-4">
<div class="thumbnail">
<img
src="paris.jpg" alt="Paris">
<p><strong>Paris</strong></p>
<p>Yes, we built Paris</p>
</div>
</div>
<div class="col-sm-4">
<div class="thumbnail">
<img
src="newyork.jpg" alt="New York">
<p><strong>New York</strong></p>
<p>We built New York</p>
</div>
</div>
<div
class="col-sm-4">
<div class="thumbnail">
<img src="sanfran.jpg" alt="San Francisco">
<p><strong>San Francisco</strong></p>
<p>Yes, San Fran is ours</p>
</div>
</div>
</div>
Resultado:
pasta
O que nós criamos
Paris
Sim, nós construímos Paris
Nova york
Nós construímos New York
São Francisco
Sim, San Fran é nossa
Imagens Styling Miniatura
Use CSS para estilizar as imagens. No nosso exemplo, nós tentamos torná-los olhar como cartões, através da remoção de sua fronteira, e definir uma largura de 100% em cada imagem.
Exemplo
.thumbnail {
padding: 0 0 15px 0;
border: none;
border-radius: 0;
}
.thumbnail img {
width: 100%;
height: 100%;
margin-bottom: 10px;
}
Resultado:
pasta
O que nós criamos
Paris
Sim, nós construímos Paris
Nova york
Nós construímos New York
São Francisco
Sim, San Fran é nossa
Adicionar um carrossel
Adicionar um carrossel:
Exemplo
<h2>What our customers say</h2>
<div id="myCarousel" class="carousel
slide text-center" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#myCarousel"
data-slide-to="0" class="active"></li>
<li
data-target="#myCarousel" data-slide-to="1"></li>
<li
data-target="#myCarousel" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner" role="listbox">
<div class="item active">
<h4>"This company is the
best. I am so happy with the result!"<br><span style="font-style:normal;">Michael
Roe, Vice President, Comment Box</span></h4>
</div>
<div class="item">
<h4>"One word...
WOW!!"<br><span style="font-style:normal;">John Doe, Salesman, Rep Inc</span></h4>
</div>
<div class="item">
<h4>"Could I... BE any more happy with this company?"<br><span style="font-style:normal;">Chandler
Bing, Actor, FriendsAlot</span></h4>
</div>
</div>
<!-- Left and right controls -->
<a
class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a
class="right carousel-control" href="#myCarousel" role="button"
data-slide="next">
<span class="glyphicon glyphicon-chevron-right"
aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
Resultado:
O que os nossos clientes dizem
Tente você mesmo "Estilo The Carousel
Use CSS para estilizar o carrossel:
Exemplo
.carousel-control.right, .carousel-control.left {
background-image: none;
color:
#f4511e;
}
.carousel-indicators li {
border-color: #f4511e;
}
.carousel-indicators li.active {
background-color: #f4511e;
}
.item h4 {
font-size: 19px;
line-height: 1.375em;
font-weight: 400;
font-style: italic;
margin: 70px 0;
}
.item
span {
font-style: normal;
}
Resultado:
O que os nossos clientes dizem
Tente você mesmo "Adicionar Preço Container
Criar um recipiente de largura, com três colunas de igual largura ( .col-sm-4
):
Dentro de cada coluna, adicionar um painel:
Exemplo
<div class="container-fluid">
<div class="text-center">
<h2>Pricing</h2>
<h4>Choose a payment plan that works
for you</h4>
</div>
<div class="row">
<div class="col-sm-4">
<div
class="panel panel-default text-center">
<div class="panel-heading">
<h1>Basic</h1>
</div>
<div class="panel-body">
<p><strong>20</strong> Lorem</p>
<p><strong>15</strong> Ipsum</p>
<p><strong>5</strong> Dolor</p>
<p><strong>2</strong> Sit</p>
<p><strong>Endless</strong> Amet</p>
</div>
<div
class="panel-footer">
<h3>$19</h3>
<h4>per month</h4>
<button class="btn btn-lg">Sign Up</button>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="panel panel-default text-center">
<div class="panel-heading">
<h1>Pro</h1>
</div>
<div class="panel-body">
<p><strong>50</strong> Lorem</p>
<p><strong>25</strong> Ipsum</p>
<p><strong>10</strong> Dolor</p>
<p><strong>5</strong> Sit</p>
<p><strong>Endless</strong> Amet</p>
</div>
<div
class="panel-footer">
<h3>$29</h3>
<h4>per month</h4>
<button class="btn btn-lg">Sign Up</button>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="panel panel-default text-center">
<div class="panel-heading">
<h1>Premium</h1>
</div>
<div class="panel-body">
<p><strong>100</strong> Lorem</p>
<p><strong>50</strong> Ipsum</p>
<p><strong>25</strong> Dolor</p>
<p><strong>10</strong> Sit</p>
<p><strong>Endless</strong> Amet</p>
</div>
<div
class="panel-footer">
<h3>$49</h3>
<h4>per month</h4>
<button class="btn btn-lg">Sign Up</button>
</div>
</div>
</div>
</div>
</div>
Resultado:
Preços
Escolha um plano de pagamento que funciona para você
básico
20 Lorem
15 Ipsum
5 Dolor
2 Sit
interminável Amet
Pró
50 Lorem
25 Ipsum
10 Dolor
5 Sit
interminável Amet
prêmio
100 Lorem
50 Ipsum
25 Dolor
10 Sit
interminável Amet
Painéis de estilo
Use CSS para estilizar os painéis:
Exemplo
.panel {
border: 1px solid #f4511e;
border-radius:0;
transition: box-shadow
0.5s;
}
.panel:hover {
box-shadow: 5px 0px
40px rgba(0,0,0, .2);
}
.panel-footer .btn:hover {
border: 1px solid #f4511e;
background-color: #fff
!important;
color: #f4511e;
}
.panel-heading
{
color: #fff !important;
background-color: #f4511e !important;
padding: 25px;
border-bottom: 1px solid transparent;
border-top-left-radius: 0px;
border-top-right-radius:
0px;
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
}
.panel-footer {
background-color:
#fff !important;
}
.panel-footer h3 {
font-size: 32px;
}
.panel-footer h4 {
color: #aaa;
font-size: 14px;
}
.panel-footer .btn {
margin:
15px 0;
background-color: #f4511e;
color: #fff;
}
Resultado:
Preços
Escolha um plano de pagamento que funciona para você
básico
20 Lorem
15 Ipsum
5 Dolor
2 Sit
interminável Amet
Pró
50 Lorem
25 Ipsum
10 Dolor
5 Sit
interminável Amet
prêmio
100 Lorem
50 Ipsum
25 Dolor
10 Sit
interminável Amet
Adicionar contato Container
Adicionar um novo recipiente com informações de contato:
Exemplo
<div class="container-fluid bg-grey">
<h2
class="text-center">CONTACT</h2>
<div class="row">
<div
class="col-sm-5">
<p>Contact us and we'll get back to you
within 24 hours.</p>
<p><span class="glyphicon glyphicon-map-marker"></span>
Chicago, US</p>
<p><span class="glyphicon glyphicon-phone"></span> +00 1515151515</p>
<p><span class="glyphicon glyphicon-envelope"></span>
[email protected]</p>
</div>
<div class="col-sm-7">
<div class="row">
<div class="col-sm-6
form-group">
<input class="form-control" id="name" name="name"
placeholder="Name" type="text" required>
</div>
<div class="col-sm-6
form-group">
<input class="form-control" id="email" name="email"
placeholder="Email" type="email" required>
</div>
</div>
<textarea class="form-control" id="comments" name="comments"
placeholder="Comment" rows="5"></textarea><br>
<div class="row">
<div class="col-sm-12 form-group">
<button class="btn btn-default pull-right"
type="submit">Send</button>
</div>
</div>
</div>
</div>
</div>
Resultado:
CONTATO
Contacte-nos e vamos voltar para você dentro de 24 horas.
Chicago, EUA
+00 1515151515
Adicionar o Google Maps
Adicionar o Google Maps (Para mais informações, leia nossa Google Maps Tutoria l):
Exemplo
<!-- Set height and width with CSS -->
<div id="googleMap" style="height:400px;width:100%;"></div>
<!-- Add Google Maps -->
<script src="http://maps.googleapis.com/maps/api/js"></script>
<script>
var myCenter = new google.maps.LatLng(41.878114, -87.629798);
function initialize() {
var mapProp = {
center:myCenter,
zoom:12,
scrollwheel:false,
draggable:false,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map = new
google.maps.Map(document.getElementById("googleMap"),mapProp);
var
marker = new google.maps.Marker({
position:myCenter,
});
marker.setMap(map);
}
google.maps.event.addDomListener(window,
'load', initialize);
</script>
Resultado:
Tente você mesmo "Adicionar uma barra de navegação
Adicionar uma barra de navegação no topo da página que colapsa em telas menores:
Exemplo
<nav class="navbar navbar-default
navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle"
data-toggle="collapse" data-target="#myNavbar">
<span
class="icon-bar"></span>
<span class="icon-bar"></span>
<span
class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Logo</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul
class="nav navbar-nav navbar-right">
<li><a href="#about">ABOUT</a></li>
<li><a href="#services">SERVICES</a></li>
<li><a href="#portfolio">PORTFOLIO</a></li>
<li><a href="#pricing">PRICING</a></li>
<li><a href="#contact">CONTACT</a></li>
</ul>
</div>
</div>
</nav>
Resultado:
Tente você mesmo " Dica: Direito alinhar os botões de navegação com a navbar-right classe. |
Estilo O Navbar
Use CSS para personalizar a barra de navegação:
Exemplo
.navbar {
margin-bottom: 0;
background-color: #f4511e;
z-index: 9999;
border: 0;
font-size: 12px !important;
line-height: 1.42857143 !important;
letter-spacing:
4px;
border-radius: 0;
}
.navbar li a, .navbar
.navbar-brand {
color: #fff !important;
}
.navbar-nav li a:hover, .navbar-nav
li.active a {
color: #f4511e !important;
background-color: #fff !important;
}
.navbar-default .navbar-toggle
{
border-color: transparent;
color: #fff !important;
}
Resultado:
Tente você mesmo "Adicionar Scrollspy
Adicionar scrollspy para atualizar automaticamente links navbar ao rolar:
Exemplo
<body id="myPage" data-spy="scroll" data-target=".navbar" data-offset="60">
<div id="about" class="container-fluid">
<div id="services"
class="container-fluid">
<div id="portfolio" class="container-fluid">
<div id="pricing" class="container-fluid">
<div id="contact"
class="container-fluid">
Tente você mesmo " Adicionar um rodapé
Adicionar um ícone "Seta para cima" para o rodapé, que leva o usuário ao topo da página quando clicado:
Exemplo
<style>
footer .glyphicon {
font-size: 20px;
margin-bottom: 20px;
color:
#f4511e;
}
</style>
<footer class="container-fluid text-center">
<a href="#myPage" title="To Top">
<span class="glyphicon
glyphicon-chevron-up"></span>
</a>
<p>Bootstrap Theme
Made By <a href="http://www.w3ii.com"
title="Visit w3ii">www.w3ii.com</a></p>
</footer>
Resultado:
Tente você mesmo "Adicionando rolagem suave
Use jQuery para adicionar rolagem suave (ao clicar nos links na barra de navegação):
Exemplo
<script>
$(document).ready(function(){
// Add
smooth scrolling to all links in navbar + footer link
$(".navbar
a, footer a[href='#myPage']").on('click', function(event) {
// Prevent default anchor
click behavior
event.preventDefault();
// Store hash
var hash =
this.hash;
// Using jQuery's animate() method to add smooth page
scroll
// The optional number (900) specifies the number of milliseconds
it takes to scroll to the specified area
$('html, body').animate({
scrollTop: $(hash).offset().top
}, 900, function(){
// Add hash
(#) to URL when done scrolling (default click behavior)
window.location.hash = hash;
});
});
})
</script>
Tente você mesmo " Toque final
Personalize o seu tema, adicionando uma fonte que você gosta. Temos usado "Montserrat" e "Lato" da Biblioteca de Fontes do Google.
Link para a fonte no <head>
seção:
<link href="http://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet" type="text/css">
<link href="http://fonts.googleapis.com/css?family=Lato" rel="stylesheet" type="text/css">
Depois, você pode usá-los em sua página:
Exemplo
body {
font: 400 15px Lato, sans-serif;
line-height: 1.8;
color: #818181;
}
.jumbotron {
font-family: Montserrat,
sans-serif;
}
.navbar {
font-family:
Montserrat, sans-serif;
}
Nós também adicionamos algum estilo extra para alguns elementos:
Exemplo
h2 {
font-size: 24px;
text-transform: uppercase;
color: #303030;
font-weight: 600;
margin-bottom: 30px;
}
h4 {
font-size: 19px;
line-height: 1.375em;
color: #303030;
font-weight: 400;
margin-bottom: 30px;
}
Tente você mesmo " Slide In Elements
Também criamos um efeito de animação que irá deslizar elementos em deslocamento. Se você quiser usá-lo, basta adicionar o .slideanim
classe para o elemento que você deseja deslizar e adicione o seguinte ao seu CSS e jQuery (sinta-se livre para modificar a duração, a opacidade, por onde começar, quando a deslizar em, e assim por diante):
Exemplo CSS
.slideanim {visibility:hidden;}
.slide {
/* The
name of the animation */
animation-name: slide;
-webkit-animation-name: slide;
/* The duration of the
animation */
animation-duration: 1s;
-webkit-animation-duration:
1s;
/* Make the element visible */
visibility: visible;
}
/* Go from 0% to 100% opacity (see-through) and specify the percentage
from when to slide in the element along the Y-axis */
@keyframes slide {
0% {
opacity: 0;
-webkit-transform: translateY(70%);
}
100% {
opacity: 1;
-webkit-transform: translateY(0%);
}
}
@-webkit-keyframes
slide {
0% {
opacity: 0;
-webkit-transform: translateY(70%);
}
100% {
opacity: 1;
-webkit-transform: translateY(0%);
}
}
Exemplo jQuery
$(window).scroll(function() {
$(".slideanim").each(function(){
var pos = $(this).offset().top;
var winTop =
$(window).scrollTop();
if (pos < winTop + 600) {
$(this).addClass("slide");
}
});
});
Tente você mesmo "