• No results found

livro-bootstrap.pdf

N/A
N/A
Protected

Academic year: 2021

Share "livro-bootstrap.pdf"

Copied!
42
0
0

Loading.... (view fulltext now)

Full text

(1)
(2)

Bootstrap 3

Bootstrap 3

Framework front-end para desenvolvimento web e mobile

Framework front-end para desenvolvimento web e mobile

Daniel Schmitz

Daniel Schmitz

This book is for sale at

This book is for sale at http://leanpub.com/livro-bootstrap http://leanpub.com/livro-bootstrap This version was published on 2014-01-21

This version was published on 2014-01-21

This is a

This is a Leanpub Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing book. Leanpub empowers authors and publishers with the Lean Publishing process.

process. Lean Publishing Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once many iterations to get reader feedback, pivot until you have the right book and build traction once you do.

you do.

©2013 - 2014 Daniel Schmitz ©2013 - 2014 Daniel Schmitz

(3)

Also By

Also By Daniel Schmitz

 Daniel Schmitz

AngularJS na prática AngularJS na prática

(4)

Conteúdo

Conteúdo

Introdução Introdução . . . . . . . . . . . . . . . .. . . . 11 O O qquue e é é BBoooottssttrraap . . p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 O

O qquue e ppooddeemmoos s ffaazzeer r ccoom m BBoooottssttrraap . . p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 O

O qquue e nnãão o é é BBoooottssttrraap p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 O

O qquue e vvococê ê pprreecciissa a ppaarra a tteessttaar r o o BBoooottssttrraap p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 E

Exxeemmpplloos s ddo o lliivvrro . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Conceitos iniciais

Conceitos iniciais . . . . . . . . . . . .. . . . 33 IInnssttaallaaççãão o . . . . . . . . . . . . . . . . . . . . 33 T

Tuuddo o ccoommppiillaaddo . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 C

CDDN . . . . N . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 N

Nãão o eessqquueeçça a ddo o jjQQuueerry y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 T

Teemmppllaatte e bbáássiicco o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 C

Caarraacctteerrííssttiiccaas s ddo o BBoooottssttrraap p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 D

Dooccttyyppe e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 V

Viieewwppoorrt t . . . . . . . . . . . . . . . . . . . . 66 D

Deesseennvvoollvviimmeenntto o wweeb b rreessppoonnssiivvo o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 A classe

A classe container container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Grid System

Grid System . . . . . . . . . . . . . . . .. . . . 88 IInnttrroodduuççãão o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 D

Diiffeerreenncciiaannddo o o o ttaammaannhho o ddoos s ddiissppoosisittiivvoos s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 T

Trraabbaallhhaannddo o ccoom m ooffffsseetts s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122 C Coolluunnaas s aanniinnhhaaddaas s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133 Tipografia Tipografia . . . . . . . . . . . . . . . .. . . . 1616 A Alliinnhhaammeenntto o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166 C

Crriiaannddo o êênnffaasse e aao o tteexxtto o ccoom m ccoorrees . s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166 A Abbrreevviiaaççãão o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177 B Blloocckkqquuoottees s ((cciittaaççõõeess) ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177 LLiissttaas s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1188 Tabelas Tabelas . . . . . . . . . . . . . . . .. . . . 2020 T

(5)

CONTEÚDO CONTEÚDO

LLiissttrraas s eem m zzeebbrra . . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2222 B

Boorrddaas s . . . . . . . . . . . . . . . . . . . . 2222 D

Deessttaaccaannddo o lliinnhhaas s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2233 T

Taabbeellaas s mmeennoorrees s ((ccoonnddeennssaaddaass) ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2233 LLiinnhhaas s ccoonntteexxttuuaaiis s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2244 M Meessccllaannddo o ccllaassssees . . s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2244 Formulários Formulários . . . . . . . . . . . . . . . .. . . . 2626 C

Coommpprreeeennddo o o o ffoorrmm--ggrroouup p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2266 FFoorrmmuulláárriio o iinn--lliinne e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2277 FFoorrmmuulláárriioos s hhoorriizzoonnttaaiis s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288 C

Coommppoonneennttees s ssuuppoorrttaaddoos . s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3300 C

Chheecckkbboox x e e rraaddiio o nna a hhoorriizzoonnttaal l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3300 C

Coonnttrroollees s eessttááttiiccoos s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3300 C

Caammppoos s ddeessaabbiilliittaaddoos . s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3311 V

Vaalliiddaaççõõees . s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3311 T

Taammaannhho o ddoos s ccaammppoos . s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3322 T

Teexxtto o ppaarra a aajjuudda a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3333 B

Boottõõees s . . . . . . . . . . . . . . . . . . . . 3333 T

Taammaannhho o ddoos s bboottõõees s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3344 B

Boottõõees s eem m ggrruuppo o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3344 ÍÍccoonnees s . . . . . . . . . . . . . . . . . . . . 3355 B

Boottõõees s ddrrooppddoowwn n ((mmeennuu) . . ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3355 IInnppuutts s ddiiffeerreenncciiaaddoos s ccoom m ggrroouup p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3366

(6)

Introdução

Introdução

O que é Bootstrap

O que é Bootstrap

O

O BootsBootstrap é, trap é, basicbasicamentamente, um e, um kit básico contendkit básico contendo o divediversos componenrsos componentes web tes web prontprontos para os para queque você possa desenvolver a sua aplicação web/mobile de forma mais fácil e objetiva, sem necessitar você possa desenvolver a sua aplicação web/mobile de forma mais fácil e objetiva, sem necessitar um sólido conhecimento em Javascript e CSS para isso.

um sólido conhecimento em Javascript e CSS para isso.

Este framework está estritamente ligado ao front-end e a camada View do padrão MVC. Ele não Este framework está estritamente ligado ao front-end e a camada View do padrão MVC. Ele não interfere em nada outras tecnologias ou linguagens, pois o seu foco é o “desenho” da sua aplicação, interfere em nada outras tecnologias ou linguagens, pois o seu foco é o “desenho” da sua aplicação, sendo “montado” exclusivamente com html puro.

sendo “montado” exclusivamente com html puro.

O Bootstrap nasceu como uma biblioteca ligada ao Twitter (o nome era “Twitter Bootstrat”), no O Bootstrap nasceu como uma biblioteca ligada ao Twitter (o nome era “Twitter Bootstrat”), no qual a equipe de desenvolvimento usa para o desenvolvimento desta aplicação, e como o resultado qual a equipe de desenvolvimento usa para o desenvolvimento desta aplicação, e como o resultado ficou muito bom, resolveram disponibilizar de forma gratuita para a comunidade. Com o avanço do ficou muito bom, resolveram disponibilizar de forma gratuita para a comunidade. Com o avanço do produto, tendo ajuda de diversos desenvolvedores, o framework front-end evolui para esta terceira produto, tendo ajuda de diversos desenvolvedores, o framework front-end evolui para esta terceira geração, na qual chamamos apenas de Bootstrap.

geração, na qual chamamos apenas de Bootstrap.

O que podemos fazer com Bootstrap

O que podemos fazer com Bootstrap

O Bootstrap é utilizado para desenhar telas em html, que serão acessadas via navegador web ou O Bootstrap é utilizado para desenhar telas em html, que serão acessadas via navegador web ou dispositivo mobile. Tudo que você precisa saber sobre Bootstrap é, na verdade, html. Com ele, dispositivo mobile. Tudo que você precisa saber sobre Bootstrap é, na verdade, html. Com ele, podemos criar sites inteiros e estruturas complexas, mas que podem ser acessadas facilmente em podemos criar sites inteiros e estruturas complexas, mas que podem ser acessadas facilmente em diferentes dispositivos. Também podemos criar telas com tabelas, formulários, janelas e controles diferentes dispositivos. Também podemos criar telas com tabelas, formulários, janelas e controles complexos. Pode-se facilmente criar um sistema web, apenas utilizando este framework, tomando complexos. Pode-se facilmente criar um sistema web, apenas utilizando este framework, tomando as devidas precauções.

as devidas precauções.

Também é possível criar um site inteiro, apenas com o Bootstrap, como iremos rever nos diversos Também é possível criar um site inteiro, apenas com o Bootstrap, como iremos rever nos diversos exemplos desta obra.

exemplos desta obra.

O que não é Bootstrap

O que não é Bootstrap

Qu

Qualalququerer tatarerefafa ququee nãnãoo enenvovolvlvaa oo dedesesenhnhoo dada tetelala,, nãnãoo esestátá rerelalaciciononadadoo cocomm BoBoototststrarap.p. IsIssoso enenvovolvlve,e, por exemplo, realizar o

por exemplo, realizar o bind bind entre variáveis javascript e seus respectivos campos entre variáveis javascript e seus respectivos campos input input, ou calcular, ou calcular

datas ou fornecer formas de validar algum processo. Tudo que não é visual ou não é ligado ao html, datas ou fornecer formas de validar algum processo. Tudo que não é visual ou não é ligado ao html, o Bootstrap não tem domínio.

(7)

Introdução

Introdução 22

O que você precisa para testar o Bootstrap

O que você precisa para testar o Bootstrap

Como todo o framework foi criado a partir de css e javascript, não há necessidade nenhuma de Como todo o framework foi criado a partir de css e javascript, não há necessidade nenhuma de utilizar um servidor web para executar as páginas html

utilizar um servidor web para executar as páginas html

Exemplos do livro

Exemplos do livro

To

(8)

Conceitos iniciais

Conceitos iniciais

Instalação

Instalação

A instalação do framework está diretamente ligada a incluir no documento html que você precisa A instalação do framework está diretamente ligada a incluir no documento html que você precisa criar algumas bibliotecas Javascript e css. Existem diversas formas para que você possa incluir estas criar algumas bibliotecas Javascript e css. Existem diversas formas para que você possa incluir estas bibliotecas, use a forma que achar mais conveniente para o seu projeto.

bibliotecas, use a forma que achar mais conveniente para o seu projeto.

Tudo compilado

Tudo compilado

 Javascript é

 Javascript é uma linguagem uma linguagem interpretada, mas interpretada, mas quando dizemos quando dizemos “compilado“compilado” ” estamos fazendo estamos fazendo umauma referência a forma como o

referência a forma como o código está organizado, isto é, todo o código javascript está em uma únicacódigo está organizado, isto é, todo o código javascript está em uma única linha, sem espaços em branco e com variáveis ilegíveis para nós humanos. Assim,

linha, sem espaços em branco e com variáveis ilegíveis para nós humanos. Assim, temos um arquivotemos um arquivo  javascript/css menor e

 javascript/css menor e um carregamento mais rápido da um carregamento mais rápido da biblioteca.biblioteca. O

O primeprimeiro passo para iro passo para instainstalar Bootstrap é lar Bootstrap é baixbaixar a ar a biblibiblioteca acessanoteca acessando a do a urlurl http://getbootstraphttp://getbootstrap.. com/getting-started/

com/getting-started/ e clicar no botão e clicar no botão DownlDownload oad BootsBootstraptrap. Nesta obra, estaremos utilizando a. Nesta obra, estaremos utilizando a

versão 3.0.0, mas talvez na época que esteja baixando a biblioteca, pode-se estar em uma versão versão 3.0.0, mas talvez na época que esteja baixando a biblioteca, pode-se estar em uma versão superior.

superior.

Após baixar o arquivo

Após baixar o arquivo bootstrap-3.0.0-dist.zip bootstrap-3.0.0-dist.zip você pode extraí-lo para o seu projeto e começar você pode extraí-lo para o seu projeto e começar

a usar o framework, conforme veremos logo adiante. a usar o framework, conforme veremos logo adiante.

CDN

CDN

Outra forma de incluir as bibliotecas do Bootstrap em seu projeto é a utilização de um serviço Outra forma de incluir as bibliotecas do Bootstrap em seu projeto é a utilização de um serviço chamado CDN, que é uma forma de distribuir conteúdo livre através de servidores espalhados pelo chamado CDN, que é uma forma de distribuir conteúdo livre através de servidores espalhados pelo mundo. Ao invés de utilizar um servidor central para o download das bibliotecas, o CDN funciona mundo. Ao invés de utilizar um servidor central para o download das bibliotecas, o CDN funciona como uma forma de obter esses arquivos do servidor mais próximo ao cliente. Para utilizar o CDN como uma forma de obter esses arquivos do servidor mais próximo ao cliente. Para utilizar o CDN no Bootstrap, você pode utilizar o seguinte template:

(9)

Conceitos iniciais

Conceitos iniciais 44

<!-<!-- - LatLatest est comcompilpiled ed and and minminifiified ed CSS CSS -->--> <link

<link  rel=  rel="stylesheet""stylesheet"  href=  href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootst\"//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootst\

rap.min.css"

rap.min.css">>

<!-<!-- - OptOptionional al thetheme me -->--> <link

<link  rel=  rel="stylesheet""stylesheet"  href=  href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootst\"//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootst\

rap-theme.min.css"

rap-theme.min.css">>

<!-<!-- - LatLatest est comcompilpiled ed and and minminifiified ed JavJavaScaScripript t -->--> <script

<script  src=  src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js""//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js">></scr\</scr\

ipt> ipt>

Não esqueça do jQuery

Não esqueça do jQuery

O Bootstrap está intimamente ligado ao jQuery, que é um framework Javascript para manipulação O Bootstrap está intimamente ligado ao jQuery, que é um framework Javascript para manipulação da DOM do documento HTML. O Bootstrap precisa do jQuery, então você deve incluí-lo no seu da DOM do documento HTML. O Bootstrap precisa do jQuery, então você deve incluí-lo no seu projeto. O jQuery pode ser baixado pelo site http://jquery.com, sendo utilizada a versão 1.10.2. projeto. O jQuery pode ser baixado pelo site http://jquery.com, sendo utilizada a versão 1.10.2.

Template básico

Template básico

Em todos os nossos exemplos, estaremos utilizando o template a seguir. A forma como os arquivos Em todos os nossos exemplos, estaremos utilizando o template a seguir. A forma como os arquivos  javascript

 javascript e e css css estão estão orgnizados orgnizados pode pode ser ser alterada alterada de de acordo acordo com com as as necessidades necessidades do do seu seu projeto,projeto, mas lembre-se de alterar o caminho no template para que tudo funcione perfeitamente.

mas lembre-se de alterar o caminho no template para que tudo funcione perfeitamente. Os arquivos do template obedecem a seguinte estrutura:

Os arquivos do template obedecem a seguinte estrutura:

bootstrap bootstrap// ├── ├──  template.html  template.html ├── ├── csscss// │ │ ├├────  bootstrap.css  bootstrap.css │ │ ├├────  bootstrap.min.css  bootstrap.min.css │

│ ├├────  bootstrap  bootstrap--theme.csstheme.css │

│ ├├────  bootstrap  bootstrap--theme.min.csstheme.min.css ├── ├── jsjs// │ │ ├├────  bootstrap.js  bootstrap.js │ │ ├├────  bootstrap.min.js  bootstrap.min.js │

│ ├├────  jquery  jquery-1.10.2-1.10.2.min.min └──

└──  fonts  fonts//

├──

├──  glyphicons  glyphicons--halflingshalflings--regular.eotregular.eot ├──

├──  glyphicons  glyphicons--halflingshalflings--regular.svgregular.svg ├──

├──  glyphicons  glyphicons--halflingshalflings--regular.ttfregular.ttf └──

(10)

Conceitos iniciais

Conceitos iniciais 55

Veja que existem duas versões para cada arquivo css e js. Isso acontece para que você possa escolher Veja que existem duas versões para cada arquivo css e js. Isso acontece para que você possa escolher qual versão deseja. A minificada (.min.js por exemplo) é bem menor e carrega mais rápido, mas é qual versão deseja. A minificada (.min.js por exemplo) é bem menor e carrega mais rápido, mas é ilegível. A versão normal é maior e está legível.

ilegível. A versão normal é maior e está legível.

Esta estrutura é a mesma criada quando extraímos o arquivo

Esta estrutura é a mesma criada quando extraímos o arquivo bootstrap-3.0.0-dist.zip bootstrap-3.0.0-dist.zip, sendo, sendo

que incluímos a biblioteca

que incluímos a biblioteca jquery jquery na pasta na pasta js js e criamos o arquivo e criamos o arquivo template.html template.html com o seguinte com o seguinte

código html: código html:

template.html template.html <!DOCT

<!DOCTYPE YPE html>html>

<html>

<html>

<head>

<head>

<title>

<title>BooBootsttstrap rap TemTemplaplatete</title></title>

<meta

<meta  name=  name="viewport""viewport"  content=  content="width=device-width, initial-scale=1.0""width=device-width, initial-scale=1.0">>

<link

<link  href=  href="css/bootstrap.min.css""css/bootstrap.min.css"  rel=  rel="stylesheet""stylesheet"  media=  media="screen""screen">>

</head>

</head>

<body>

<body>

<h1>

<h1>Hello, world!Hello, world!</h1></h1>

<script

<script  src=  src="js/jquery-1.10.2.min.js""js/jquery-1.10.2.min.js"></script>></script>

<script

<script  src=  src="js/bootstrap.min.js""js/bootstrap.min.js"></script>></script>

</body>

</body>

</html>

</html>

Este é um template básico que podemos utilizar para a maioria dos projetos. Todo o conteúdo Este é um template básico que podemos utilizar para a maioria dos projetos. Todo o conteúdo HTML virá após a tag

HTML virá após a tag <body> <body> e antes da inclusão do script e antes da inclusão do script jquery jquery. Não inclua o arquivo de script. Não inclua o arquivo de script jquery

jquery e e bootstrap bootstrap na seção na seção <head> <head> do seu documento html, pois isso pode degradar o tempo de do seu documento html, pois isso pode degradar o tempo de

carregamento da página. carregamento da página.

Com o template pronto, podemos iniciar o nosso estudo sobre as diversas características que o Com o template pronto, podemos iniciar o nosso estudo sobre as diversas características que o Bootstrap possui.

Bootstrap possui.

Sempre deixe o projeto template vazio, copiando e colando os arquivos em um novo projeto. Sempre deixe o projeto template vazio, copiando e colando os arquivos em um novo projeto.

(11)

Conceitos iniciais

Conceitos iniciais 66

Características do Bootstrap

Características do Bootstrap

Este framework possui um conjunto extenso de funcionalidades e particularidades que devem ser Este framework possui um conjunto extenso de funcionalidades e particularidades que devem ser compreendidas para que possamos tirar utilizar todos os recursos com eficiência. Nos tópicos a compreendidas para que possamos tirar utilizar todos os recursos com eficiência. Nos tópicos a seguir, iremos ilustrar cada característica com exemplos, para que possamos compreender melhor o seguir, iremos ilustrar cada característica com exemplos, para que possamos compreender melhor o seu funcionamento.

seu funcionamento.

Doctype

Doctype

Para que o Bootstrap funcione corretamente, é obrigatório o uso

Para que o Bootstrap funcione corretamente, é obrigatório o uso da tagda tag doctype doctype no documento html. no documento html.

Viewport

Viewport

Nesta versão, o Bootstrap foi

Nesta versão, o Bootstrap foi remodelado para se adequar perfeitamente ao remodelado para se adequar perfeitamente ao desenvolvimento mobile.desenvolvimento mobile. Com isso, é necessário informar ao navegador a metatag

Com isso, é necessário informar ao navegador a metatag  viewport  viewport, que indica a área onde o, que indica a área onde o

navegador o site é carregado. Isso é necessário porque, sem ele, o navegador do dispositivo mobile navegador o site é carregado. Isso é necessário porque, sem ele, o navegador do dispositivo mobile iria deixar o tamanho de todo o site maior que a área disponível do dispositivo.

iria deixar o tamanho de todo o site maior que a área disponível do dispositivo. O Viewport é configurado na tag

O Viewport é configurado na tag <head> <head> do documento html, da seguinte forma: do documento html, da seguinte forma:

<

<metmeta a namnamee=="viewport""viewport"  content  content=="width=device-width, initial-scale=1.0""width=device-width, initial-scale=1.0">>

Como podemos ver, o viewport acima irá

Como podemos ver, o viewport acima irá renderizar toda a página html renderizar toda a página html no tamanho do dispositivo,no tamanho do dispositivo, em uma escala 1:1.

em uma escala 1:1.

Desenvolvimento web responsivo

Desenvolvimento web responsivo

O termo

O termo  responsivo  responsivo vem sendo constantemente empregado no desenvolvimento de websites e vem sendo constantemente empregado no desenvolvimento de websites e

sistemas web. Ele sugere que todo o conteúdo de um site deve se adequar a largura do dispositivo, sistemas web. Ele sugere que todo o conteúdo de um site deve se adequar a largura do dispositivo, que pode ser um celular, um tablet ou um navegador.

que pode ser um celular, um tablet ou um navegador.

O bootstrap tem como uma de suas metas tornar o desenvolvimento de interfaces responsivas algo O bootstrap tem como uma de suas metas tornar o desenvolvimento de interfaces responsivas algo mais simples, que demanda apenas um pouco de configuração.

mais simples, que demanda apenas um pouco de configuração. Por exemplo, em uma imagem, é possível torná-la

Por exemplo, em uma imagem, é possível torná-la responsiva através da atribuição da responsiva através da atribuição da seguinte classeseguinte classe a tag

a tag <img> <img>::

<

<img srcimg src=="...""..."  class  class=="img-responsive""img-responsive">>

Existem diversas outras técnicas que iremos abordar ao longo desta obra. Existem diversas outras técnicas que iremos abordar ao longo desta obra.

(12)

Conceitos iniciais

Conceitos iniciais 77

A classe

A classe

 container

 container

No Bootstrap, podemos criar diversos elementos

No Bootstrap, podemos criar diversos elementos <div> <div> e assim formar uma estrutura para  e assim formar uma estrutura para o desenhoo desenho

da página. Para que o conteúdo possa ser

da página. Para que o conteúdo possa ser centralizado corretamentecentralizado corretamente, usamos a classe, usamos a classecontainercontainer, que, que

em geral é a primeira classe que usamos para definir o conteúdo da página. em geral é a primeira classe que usamos para definir o conteúdo da página. O uso do

O uso do container container é é exemplificado a seguir¹ exemplificado a seguir¹. Lembre-se de testá-lo no navegador:. Lembre-se de testá-lo no navegador:

Classe Container Classe Container <!DOCT

<!DOCTYPE YPE html>html>

<html>

<html>

<head>

<head>

<title>

<title>BooBootsttstrap rap TemTemplaplatete</title></title>

<meta

<meta  name=  name="viewport""viewport"  content=  content="width=device-width, initial-scale=1.0""width=device-width, initial-scale=1.0">>

<link

<link  href=  href="css/bootstrap.min.css""css/bootstrap.min.css"  rel=  rel="stylesheet""stylesheet"  media=  media="screen""screen">>

</head>

</head>

<body>

<body>

<h1>

<h1>Hello, world!Hello, world!</h1></h1>

<div

<div  class=  class="container""container">>

 Aqui

 Aqui entra entra o o conteúdo. conteúdo. A A classe classe container container adiciona adiciona um um box box centralizado centralizado no\no\  elemento

 elemento atual.atual.

<br/><br/>

<br/><br/>

<div

<div  class=  class="container""container">>

 Aqui

 Aqui entra entra outro outro conteúdo. conteúdo. Ele Ele está está centralizado centralizado em em relação relação ao ao contai\contai\ ne

ner r papai. i. VoVocê cê popode de ususar ar o o chchroromeme/f/firirefefox ox e e ininveveststigigar ar a a mamargrgem em quque e é é crcriaiada da didinanam\m\ ica

icamenmente te pelpelo o BooBootsttstraprap, , de de forforma ma a a deideixar tudo xar tudo em em ordordem.em.

<br/><br/>

<br/><br/>

<div

<div  class=  class="container""container">>

Faç

Faça a ississo o e e dimdiminuinuia ia gragradatdativaivamenmente te a a larlargurgura a do do navnavegaegadordor. . VocVocê ê irá irá \\ rep

reparaarar r queque, , a a medmedida ida que a que a larlargurgura a dimdiminuinui, i, o o conconteúteúdo do é é repreposiosiciocionadnadoo

</div> </div> </div> </div> </div> </div> <script

<script  src=  src="js/jquery-1.10.2.min.js""js/jquery-1.10.2.min.js"></script>></script>

<script

<script  src=  src="js/bootstrap.min.js""js/bootstrap.min.js"></script>></script>

</body>

</body>

</html>

</html>

(13)

Grid System

Grid System

Introdução

Introdução

O Bootstrap trabalha com um enquadramento de divs na tela chamado de

O Bootstrap trabalha com um enquadramento de divs na tela chamado de grid grid, no qual é possível, no qual é possível

criar blocos horizontais de conteúdo. A largura destes blocos não é dimensionada através de criar blocos horizontais de conteúdo. A largura destes blocos não é dimensionada através de porcentagens ou pixels, mas sim através de um sistema de 12 colunas.

porcentagens ou pixels, mas sim através de um sistema de 12 colunas. Neste sistema, uma “linha” da tela pode ser separada em 12 blocos,

Neste sistema, uma “linha” da tela pode ser separada em 12 blocos, ou colunas, e através do Bootstrapou colunas, e através do Bootstrap é possível configurar estes blocos para se adequaram ao tamanho que desejarem.

é possível configurar estes blocos para se adequaram ao tamanho que desejarem. A figura a seguir ilustra este processo.

A figura a seguir ilustra este processo.

Grid System Grid System

O sistema de grid é a base para que você possa desenhar uma tela que seja compatível tanto com O sistema de grid é a base para que você possa desenhar uma tela que seja compatível tanto com dispositivos mobile quanto desktop. O uso do grid system é importante porque não será você que dispositivos mobile quanto desktop. O uso do grid system é importante porque não será você que irá definir os tamanhos e margens de cada bloco, mas sim o framework, de acordo com a largura irá definir os tamanhos e margens de cada bloco, mas sim o framework, de acordo com a largura atual da tela. Isso significa que o Bootstrap pode até definir que um bloco irá ficar abaixo do outro, atual da tela. Isso significa que o Bootstrap pode até definir que um bloco irá ficar abaixo do outro, mesmo tendo a configuração horizontal.

mesmo tendo a configuração horizontal.

Diferenciando o tamanho dos dispositivos

Diferenciando o tamanho dos dispositivos

Para que possamos ver um pouco de código em ação, é preciso ainda conhecer outro conceito Para que possamos ver um pouco de código em ação, é preciso ainda conhecer outro conceito importante neste sistema. Nesta versão do Bootstrap, você pode configurar o tamanho de cada bloco importante neste sistema. Nesta versão do Bootstrap, você pode configurar o tamanho de cada bloco de acordo com o tamanho do dispositivo em questão.

de acordo com o tamanho do dispositivo em questão. O tamanho da tela é determinado através de 4 tipos O tamanho da tela é determinado através de 4 tipos

• Muito Pequeno: Definido através da classe

(14)

Grid System

Grid System 99

• Pequeno: Definido através da classe

• Pequeno: Definido através da classe .col-sm-X .col-sm-X, onde X é um número de 1 a 12, onde X é um número de 1 a 12

• Médio: Definido através da classe

• Médio: Definido através da classe .col-md-X .col-md-X, onde X é um número de 1 a 12, onde X é um número de 1 a 12

• Grande: Definido através da classe

• Grande: Definido através da classe .col-lg-X .col-lg-X, onde X é um número de 1 a 12, onde X é um número de 1 a 12

Cada tipo é definido através da largura do dispositivo, da seguinte forma: Cada tipo é definido através da largura do dispositivo, da seguinte forma:

• Muito Pequeno: Até 750 pixels • Muito Pequeno: Até 750 pixels •

• PequePequeno: De 750 à 970 pno: De 750 à 970 pixeixelsls •

• MédiMédio: De 970 à 117o: De 970 à 1170 pixe0 pixelsls • Grande: Acima de 1170 pixels • Grande: Acima de 1170 pixels

Vamos codificar um exemplo simples, criando 12 blocos de texto para uma página web. Neste Vamos codificar um exemplo simples, criando 12 blocos de texto para uma página web. Neste exemplo, usamos a configuração devices muitos pequenos e outra para devices Grandes.

exemplo, usamos a configuração devices muitos pequenos e outra para devices Grandes.

Grid System Grid System <div

<div  class=  class="container""container">>

<div

<div  class=  class="row""row">>

<div

<div  class=  class="col-xs-1""col-xs-1">>.col-xs-1.col-xs-1</div></div>

<div

<div  class=  class="col-xs-1""col-xs-1">>.col-xs-1.col-xs-1</div></div>

<div

<div  class=  class="col-xs-1""col-xs-1">>.col-xs-1.col-xs-1</div></div>

<div

<div  class=  class="col-xs-1""col-xs-1">>.col-xs-1.col-xs-1</div></div>

<div

<div  class=  class="col-xs-1""col-xs-1">>.col-xs-1.col-xs-1</div></div>

<div

<div  class=  class="col-xs-1""col-xs-1">>.col-xs-1.col-xs-1</div></div>

<div

<div  class=  class="col-xs-1""col-xs-1">>.col-xs-1.col-xs-1</div></div>

<div

<div  class=  class="col-xs-1""col-xs-1">>.col-xs-1.col-xs-1</div></div>

<div

<div  class=  class="col-xs-1""col-xs-1">>.col-xs-1.col-xs-1</div></div>

<div

<div  class=  class="col-xs-1""col-xs-1">>.col-xs-1.col-xs-1</div></div>

<div

<div  class=  class="col-xs-1""col-xs-1">>.col-xs-1.col-xs-1</div></div>

<div

<div  class=  class="col-xs-1""col-xs-1">>.col-xs-1.col-xs-1</div></div>

</div>

</div>

<div

<div  class=  class="row""row">>

<div

<div  class=  class="col-lg-1""col-lg-1">>.col-lg-1.col-lg-1</div></div>

<div

<div  class=  class="col-lg-1""col-lg-1">>.col-lg-1.col-lg-1</div></div>

<div

<div  class=  class="col-lg-1""col-lg-1">>.col-lg-1.col-lg-1</div></div>

<div

<div  class=  class="col-lg-1""col-lg-1">>.col-lg-1.col-lg-1</div></div>

<div

<div  class=  class="col-lg-1""col-lg-1">>.col-lg-1.col-lg-1</div></div>

<div

<div  class=  class="col-lg-1""col-lg-1">>.col-lg-1.col-lg-1</div></div>

<div

<div  class=  class="col-lg-1""col-lg-1">>.col-lg-1.col-lg-1</div></div>

<div

<div  class=  class="col-lg-1""col-lg-1">>.col-lg-1.col-lg-1</div></div>

<div

(15)

Grid System

Grid System 1010

<div

<div  class=  class="col-lg-1""col-lg-1">>.col-lg-1.col-lg-1</div></div>

<div

<div  class=  class="col-lg-1""col-lg-1">>.col-lg-1.col-lg-1</div></div>

<div

<div  class=  class="col-lg-1""col-lg-1">>.col-lg-1.col-lg-1</div></div>

</div>

</div>

</div>

</div>

Você pode ver a página completa deste

Você pode ver a página completa deste exemploexemplo neste link² neste link² e abrir o  e abrir o arquivo no seu navegadorarquivo no seu navegador. Para. Para testar como o framework se comporta, redimensione a largura do navegador de forma a testar como o framework se comporta, redimensione a largura do navegador de forma a diminuí-la gradativamente. Em um certo momento, você verá que os blocos criados com

la gradativamente. Em um certo momento, você verá que os blocos criados com  .col-lg  .col-lg serão serão

quebrados, ficando um abaixo do outro. quebrados, ficando um abaixo do outro.

Mas porque isso aconteceu? Como os blocos estavam configurados para serem exibidos em uma tela Mas porque isso aconteceu? Como os blocos estavam configurados para serem exibidos em uma tela “grande”, ao menor sinal de que o conteúdo não poderá mais ser exibido, o Bootstrap se encarrega “grande”, ao menor sinal de que o conteúdo não poderá mais ser exibido, o Bootstrap se encarrega de garantir que os blocos de texto devam ser exibidos, colocando-os um abaixo do outro.

de garantir que os blocos de texto devam ser exibidos, colocando-os um abaixo do outro.  Já

 Já nas nas divs divs configuradas através configuradas através dodo col-xs-1 col-xs-1 não são quebradas, porque o framework espera que não são quebradas, porque o framework espera que

elas sejam visualizadas através de um dispositivo pequeno. elas sejam visualizadas através de um dispositivo pequeno.

Para melhorar o entendimento ao processo, vamos supor a seguinte situação. Imagine que, em uma Para melhorar o entendimento ao processo, vamos supor a seguinte situação. Imagine que, em uma tela maior (desktop) você deseja criar dois blocos

tela maior (desktop) você deseja criar dois blocos de texto, sendo que o primeiro bloco é de texto, sendo que o primeiro bloco é maior que omaior que o segundo. Agora, caso a mesma página seja vista em um tablet, o ideal seria exibir os conteúdos em segundo. Agora, caso a mesma página seja vista em um tablet, o ideal seria exibir os conteúdos em cada metade da tela.

cada metade da tela. Par

Paraa conconfigfiguraurarr essesseses bloblocoscos dede tetextoxto,, necnecessessitaitamosmos usausarrcol-lgcol-lgeecol-mdcol-mdnamesmadiv,deformaquenamesmadiv,deformaque

o framework possa assumir a quantidade de blocos de acordo com o tamanho da tela. Resumindo, a o framework possa assumir a quantidade de blocos de acordo com o tamanho da tela. Resumindo, a configuração das divs deve ser a seguinte:

configuração das divs deve ser a seguinte:

<div

<div  class=  class="col-"col-lg-8 lg-8 col-scol-sm-6"m-6">>

... ...

</div>

</div>

<div

<div  class=  class="col-"col-lg-4 lg-4 col-scol-sm-6"m-6">>

... ...

</div>

</div>

Neste código, dizemos para que a primeira

Neste código, dizemos para que a primeira div div assuma 8 blocos (dos 12 disponíveis) em uma tela assuma 8 blocos (dos 12 disponíveis) em uma tela

maior (desktop), mas se a tela for média (tablet), a mesma div irá possuir 6 blocos. As imagens a maior (desktop), mas se a tela for média (tablet), a mesma div irá possuir 6 blocos. As imagens a seguir mostram as diferentes situações de acordo com o

seguir mostram as diferentes situações de acordo com o código html criado anteriormente. O códigocódigo html criado anteriormente. O código completo está

completo está neste link³ neste link³

²²https://github.com/danielps/livro-bootstrap/blob/master/exemplos/grid-system-1.htmlhttps://github.com/danielps/livro-bootstrap/blob/master/exemplos/grid-system-1.html

(16)

Grid System

Grid System 1111

Divs com tela grande Divs com tela grande

Divs com tela média Divs com tela média

(17)

Grid System

Grid System 1212

Divs com tela pequena Divs com tela pequena

Trabalhando com offsets

Trabalhando com offsets

Um offset

Um offset é, resumidamé, resumidamenteente, , um um espaçespaço o em branco em branco adiciadicionado à onado à esqueesquerda do rda do bloco de bloco de conteconteúdo.údo. Por exemplo, se você deseja adicionar conteúdo somente no segundo bloco dos 12 disponíveis, você Por exemplo, se você deseja adicionar conteúdo somente no segundo bloco dos 12 disponíveis, você pode usar a seguinte classe:

pode usar a seguinte classe: .com-md-offset-1 .com-md-offset-1 Nesta classe, usamos o md  Nesta classe, usamos o md para definir o padrão parapara definir o padrão para

tamanhos de tela médio, e o offset-1 para deslocar o bloco de conteúdo em 1 bloco. tamanhos de tela médio, e o offset-1 para deslocar o bloco de conteúdo em 1 bloco.

No exemplo a seguir, criamos um bloco de conteúdo que omite os dois primeiros blocos, e os dois No exemplo a seguir, criamos um bloco de conteúdo que omite os dois primeiros blocos, e os dois últimos, deixando a iterface do texto mais centralizada.

(18)

Grid System

Grid System 1313

Exemplo com Offset Exemplo com Offset <div

<div  class=  class="col-md-8 col-md-offset-2""col-md-8 col-md-offset-2">>

Você poderá verificar o

Você poderá verificar o exemplo completoexemplo completo neste link⁴ neste link⁴..

Colunas aninhadas

Colunas aninhadas

Em determina

Em determinadas situação é das situação é necessnecessário inserir blocos de ário inserir blocos de conteconteúdo dentre de údo dentre de outrooutros s blocoblocos. s. DestaDesta forma, quand

forma, quando usamos as o usamos as colucolunas aninhadanas aninhadas s uma à uma à outraoutra, o , o bloco internbloco interno assume o o assume o sistesistema de ma de 1212 blocos do bloco anterior.

blocos do bloco anterior.

Por exemplo, se temos um bloco com 8 colunas, e dentro deste bloco queremos criar dois blocos Por exemplo, se temos um bloco com 8 colunas, e dentro deste bloco queremos criar dois blocos centralizados, criamos então o seguinte código:

centralizados, criamos então o seguinte código:

Colunas aninhadas Colunas aninhadas <div

<div  class=  class="row""row">>

<div

<div  class=  class="col-md-8""col-md-8">>

Nív

Nível el 1: 1: .co.col-ml-md-8d-8

<div

<div  class=  class="row""row">>

<div

<div  class=  class="col-md-6""col-md-6">>

Nív

Nível el 2: 2: .co.col-ml-md-6d-6

</div>

</div>

<div

<div  class=  class="col-md-6""col-md-6">>

Lev

Level el 2: 2: .co.col-ml-md-6d-6

</div> </div> </div> </div> </div> </div> </div> </div>

Veja que os dois blocos internos possuem 6 colunas cada, e não 8, que é o tamanho do bloco Veja que os dois blocos internos possuem 6 colunas cada, e não 8, que é o tamanho do bloco pai. No

pai. No exemplo a seguir⁵ exemplo a seguir⁵, criamos uma estrutura bem conhecida para sites com muito conteúdo., criamos uma estrutura bem conhecida para sites com muito conteúdo. Visualize este código html no navegador para perceber como as colunas se comportam com o Visualize este código html no navegador para perceber como as colunas se comportam com o redimensionamento do

redimensionamento do navegadornavegador..

⁴⁴https://github.com/danielps/livro-bootstrap/blob/master/exemplos/grid-system-3.htmlhttps://github.com/danielps/livro-bootstrap/blob/master/exemplos/grid-system-3.html

(19)

Grid System

Grid System 1414

Estrutura complexa envolvendo blocos aninhados Estrutura complexa envolvendo blocos aninhados <!DOCT

<!DOCTYPE YPE html>html>

<html>

<html>

<head>

<head>

<title>

<title> Grid  Grid SystemSystem</title></title>

<meta

<meta  name=  name="viewport""viewport"  content=  content="width=device-width, initial-scale=1.0""width=device-width, initial-scale=1.0">>

<link

<link  href=  href="css/bootstrap.min.css""css/bootstrap.min.css"  rel=  rel="stylesheet""stylesheet"  media=  media="screen""screen">>

</head>

</head>

<body>

<body>

<div

<div  class=  class="container""container">>

<div

<div  class=  class="row""row">>

<div

<div  class=  class="col-md-8""col-md-8">>

<h2> <h2>blblococo o 11</h2></h2> <p> <p> Lorem ipsum Lorem ipsum </p> </p> <div

<div  class=  class="row""row">>

<div

<div  class=  class="col-md-6""col-md-6">>

<h2> <h2>blobloco co 1.11.1</h2></h2> <p> <p> Lorem ipsum Lorem ipsum </p> </p> </div> </div> <div

<div  class=  class="col-xd-6""col-xd-6">>

<h2> <h2>blobloco co 1.21.2</h2></h2> <p> <p> Lorem ipsum Lorem ipsum </p> </p> </div> </div> </div> </div> <div

<div  class=  class="row""row">>

<div

<div  class=  class="col-md-6 col-md-offset-3""col-md-6 col-md-offset-3">>

<h2> <h2>blobloco co 1.31.3</h2></h2> <p> <p> Lorem ipsum Lorem ipsum </p> </p> </div> </div> </div> </div> </div> </div> <div

<div  class=  class="col-xd-4""col-xd-4">>

<h2>

(20)

Grid System Grid System 1515 <p> <p> Lorem ipsum Lorem ipsum </p> </p> <h2> <h2>blblococo o 33</h2></h2> <p> <p> Lorem ipsum Lorem ipsum </p> </p> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </body> </html> </body> </html>

Outro fator importante a ser considerado no Grid System é que o próprio framework determina as Outro fator importante a ser considerado no Grid System é que o próprio framework determina as dimensões de cada bloco, cada elemento possui margens determinadas para “caber” no dispositivo dimensões de cada bloco, cada elemento possui margens determinadas para “caber” no dispositivo o máximo possível. Alterar estas margens através de CSS não é recomendado.

(21)

Tipografia

Tipografia

Neste capítulo veremos que o Bootstrap altera toda a tipografia das tags HTML para que possam ser Neste capítulo veremos que o Bootstrap altera toda a tipografia das tags HTML para que possam ser utilizadas na criação de suas páginas. Inicialmente, a tag <body> recebe um tamanho de 14 pixels, utilizadas na criação de suas páginas. Inicialmente, a tag <body> recebe um tamanho de 14 pixels, além de outros atributos. O parágrafo <p> recebe também uma margem inferior ,

além de outros atributos. O parágrafo <p> recebe também uma margem inferior , além de uma classealém de uma classe especial chamada

especial chamada lead lead, que destaca melhor o parágrafo em relação aos outros., que destaca melhor o parágrafo em relação aos outros.

<p

<p  class=  class="lead""lead">>

Lor

Lorem em ipsipsum um doldolor or sit sit ameamet, t, conconsecsectettetur ur adiadipispisiciicing ng elielit, t, sed sed do do eiueiusmosmodd

</p>

</p>

Alinhamento

Alinhamento

Pode-se também alinhar o texto de um paragrafo utilizando as classes

Pode-se também alinhar o texto de um paragrafo utilizando as classes  text-left text-left,,  text-right  text-right e e text-center

text-center, veja:, veja:

<p

<p  class=  class="text-left""text-left">>TexTexto to alialinhanhado do à à esqesqueruerdada</p></p>

<p

<p  class=  class="text-center""text-center">>TexTexto to alialinhanhado do no no cencentrotro</p></p>

<p

<p  class=  class="text-right""text-right">>TexTexto to alialinhanhado do à à dirdireiteitaa</p></p>

Resultado do código HTML acima Resultado do código HTML acima

Criando ênfase ao texto com cores

Criando ênfase ao texto com cores

É possível dar uma certo destaque a algum texto utilizando cores, ao invés do negrito (

É possível dar uma certo destaque a algum texto utilizando cores, ao invés do negrito (<b><b>) e itálico) e itálico

((<i><i>) tradicional. Claro que é possível alterar a cor de um texto com) tradicional. Claro que é possível alterar a cor de um texto com <font <font color=color=''>''>, mas isso, mas isso

nunca deverá ser feito. nunca deverá ser feito.

Para que tenhamos um padrão lógico de cores, que são aplicados não somente a textos, mas a Para que tenhamos um padrão lógico de cores, que são aplicados não somente a textos, mas a botões, links e caixas de mensagens, usamos uma referência a 6

botões, links e caixas de mensagens, usamos uma referência a 6 determinas situações. São elas: mute,determinas situações. São elas: mute, primary

primary, success, , success, info, warning, info, warning, dangerdanger..

Cada uma delas possui uma cor específica que é padrão dentro do bootstrap. Para testar o destaque Cada uma delas possui uma cor específica que é padrão dentro do bootstrap. Para testar o destaque em texto, vamos ao seguinte código:

(22)

Tipografia

Tipografia 1717

<p

<p  class=  class="text-muted""text-muted">>TeTextxto o "m"mududo" o" ou ou sesem m fofococo</p></p>

<p

<p  class=  class="text-primary""text-primary">>TeTextxto o cocom m um um popoucuco o de de dedeststaqaqueue</p></p>

<p

<p  class=  class="text-success""text-success">>TexTexto to com com algalguma uma menmensagsagem em boaboa</p></p>

<p

<p  class=  class="text-info""text-info">>Texto Texto de de infinformormaçãaçãoo</p></p>

<p

<p  class=  class="text-warning""text-warning">>TexTexto to de de aviavisoso</p></p>

<p

<p  class=  class="text-danger""text-danger">>TexTexto to de de perperigoigo, , errerroo</p></p>

Resultado do código HTML acima Resultado do código HTML acima

Abreviação

Abreviação

A abreviação é um novo elemento no html 5 que utiliza a tag

A abreviação é um novo elemento no html 5 que utiliza a tag <abbr> <abbr> em conjunto com a propriedade em conjunto com a propriedade title

title. Veja o exemplo a seguir:. Veja o exemplo a seguir:

<p><abbr

<p><abbr  title=  title="Hyper"HyperText Text MarkuMarkup p LanguaLanguage"ge">>HTMLHTML</abbr></abbr>  é   é a a memelhlhor or lilingnguauagegem m de de mama\\

rca

rcação ção de de textexto to exiexistestentente..</p></p>

Resultado do código HTML acima Resultado do código HTML acima

Blockquotes (citações)

Blockquotes (citações)

Esta tag é usada para citar um texto com um pouco mais de ênfase. A tag utilizada é

Esta tag é usada para citar um texto com um pouco mais de ênfase. A tag utilizada é <blockquote> <blockquote>,,

e o bootstrap adicionou algumas classes

e o bootstrap adicionou algumas classes extras para dar mais extras para dar mais sentido ao blockquote. Você pode usarsentido ao blockquote. Você pode usar

<small>

<small> dentro do bloco, incluindo a tag dentro do bloco, incluindo a tag  <cite>  <cite> que define o nome da pessoa citada no bloco. que define o nome da pessoa citada no bloco.

Também pode-se utilizar a classe

(23)

Tipografia

Tipografia 1818

<blockquote

<blockquote  class=  class="pull-right""pull-right">>

<p>

<p>LorLorem em ipsipsum um doldolor or sit sit ameamet, t, conconsecsectettetur ur adiadipispiscincing g elielit. t. IntIntegeeger r posposueruere e eraera\\

t a ante. t a ante.</p></p>

<small>

<small>SomSomeoneone e famfamous ous inin  <cite  <cite  title=  title="Sourc"Source e Title"Title">>SourcSource e TitleTitle</cite></small></cite></small>

</blockquote>

</blockquote>

Resultado do código HTML acima Resultado do código HTML acima

Listas

Listas

As listas do html são criadas através das tags

As listas do html são criadas através das tags  <ul>  <ul>,,  <ol>  <ol> ee  <dl>  <dl>. O bootstrap adiciona algumas. O bootstrap adiciona algumas

funcionalidades extras para que possamos trabalhar melhor com estas listas. Vamos ver cada opção funcionalidades extras para que possamos trabalhar melhor com estas listas. Vamos ver cada opção a seguir.

a seguir.

Unstyled

Unstyled

Utilizando a classe

Utilizando a classelist-unstyledlist-unstyled, remove a marca da lista que pode ser o ponto para a , remove a marca da lista que pode ser o ponto para a lista formadalista formada

com

com <ul> <ul> ou a numeração de uma lista ou a numeração de uma lista <ol> <ol>..

<ul

<ul  class=  class="list-unstyled""list-unstyled">>

<li>

<li>...</li></li>

</ul>

</ul>

Lado a lado (inline)

Lado a lado (inline)

Caso deseje agrupar os itens de uma lista lado a

Caso deseje agrupar os itens de uma lista lado a lado, ao invés de um abaixo do outro, utilize a classelado, ao invés de um abaixo do outro, utilize a classe

list-inline

(24)

Tipografia

Tipografia 1919

<ul

<ul  class=  class="list-inline""list-inline">>

<li>

<li>LoremLorem</li></li>

<li>

<li>IpsumIpsum</li></li>

<li>

<li>dolordolor</li></li>

</ul>

</ul>

Listas com descrição na horizontal

Listas com descrição na horizontal

A tag

A tag <dl> <dl> cria listas através do uso do cria listas através do uso do <dt> <dt> e e <dd> <dd>. Cada lista possui um item que é o título (. Cada lista possui um item que é o título (<dt><dt>))

e outra que é a descrição (

e outra que é a descrição (<dd><dd>).).

No exemplo a seguir, usamos a lista no formato original, veja: No exemplo a seguir, usamos a lista no formato original, veja:

<dl> <dl> <dt> <dt>...</dt></dt> <dd> <dd>...</dd></dd> </dl> </dl>

E com da lista no formato horizontal: E com da lista no formato horizontal:

Resultado do código HTML acima Resultado do código HTML acima

Os

Os exeexemplos mplos destdeste e capícapítulo tulo estãestão o locallocalizadizados os [nest[neste e link]link].(htt.(https:/ps://gith/github.ub.com/dcom/danieanielps/llps/livro ivro--bootstrap/blob

(25)

Tabelas

Tabelas

Tabelas são a forma mais comum de organizar dados em listas, principalmente se houverem muitos Tabelas são a forma mais comum de organizar dados em listas, principalmente se houverem muitos campos a serem exibidos. As tabelas foram implementadas desde o início do HTML, através da tag campos a serem exibidos. As tabelas foram implementadas desde o início do HTML, através da tag

<table>

<table> e necessitam de uma grande quantidade de otimização visual para que fiquem com uma e necessitam de uma grande quantidade de otimização visual para que fiquem com uma

boa apresentação. boa apresentação.

Uma tabela simples sem formatação Uma tabela simples sem formatação

Com o Bootstrap, o uso de tabelas se torna algo simples e sem nenhuma customização complexa, Com o Bootstrap, o uso de tabelas se torna algo simples e sem nenhuma customização complexa, bastando apenas definir a classe

bastando apenas definir a classe table table, além de algumas propriedades extras, além de algumas propriedades extras

Em todos os nossos exemplos, usamos também as tags

Em todos os nossos exemplos, usamos também as tags <thead> <thead> para definir o cabeçalho da tabela para definir o cabeçalho da tabela ee <tbody> <tbody> para definir o corpo da tabela. para definir o corpo da tabela.

Tabela simples

Tabela simples

Para criar uma tabela no Bootstrap, use a tag

Para criar uma tabela no Bootstrap, use a tag <table> <table> e a classe e a classe table table, na seguinte forma:, na seguinte forma:

<table

<table  class=  class="table""table">>

... ...

</table>

</table>

No exemplo anterior, ao aplicar a classe

(26)

Tabelas

Tabelas 2121

<table

<table  class=  class="table""table">>

<thead>

<thead>

<tr>

<tr>

<th>

<th>FirFirst st NamNamee</th></th>

<th>

<th>LasLast t NamNamee</th></th>

<th> <th>PointsPoints</th></th> </tr> </tr> </thead> </thead> <tbody> <tbody> <tr> <tr> <td> <td>JillJill</td></td> <td> <td>SmithSmith</td></td> <td> <td>5050</td></td> </tr> </tr> <tr> <tr> <td> <td>EveEve</td></td> <td> <td>JacksonJackson</td></td> <td> <td> 94 94</td></td> </tr> </tr> <tr> <tr> <td> <td>JohnJohn</td></td> <td> <td>DoeDoe</td></td> <td> <td> 80 80</td></td> </tr> </tr> <tr> <tr> <td> <td> Adam Adam</td></td> <td> <td>JohnsonJohnson</td></td> <td> <td> 67 67</td></td> </tr> </tr> </tbody> </tbody> </table> </table>

(27)

Tabelas

Tabelas 2222

Tabela com a classe ‘table’ Tabela com a classe ‘table’

Listras em zebra

Listras em zebra

Uma forma fácil de deixar a tabela no formato zebra, com uma linha de fundo branco e outra linha Uma forma fácil de deixar a tabela no formato zebra, com uma linha de fundo branco e outra linha no fundo cinza, de forma alternada, é utilizar a classe

no fundo cinza, de forma alternada, é utilizar a classe table-striped table-striped, da seguinte forma:, da seguinte forma:

<table

<table  class=  class="tabl"table e tabletable-strip-striped"ed">>

... ...

</table>

</table>

Tabela com a classe ‘table-striped’ Tabela com a classe ‘table-striped’

Bordas

Bordas

Não inclua bordas usando

Não inclua bordas usando border='1' border='1', use a classe, use a classe table-bordered table-bordered para que o Bootstrap possa para que o Bootstrap possa

incluir corretamente as bordas na tabela. incluir corretamente as bordas na tabela.

(28)

Tabelas

Tabelas 2323

<table

<table  class=  class="tabl"table e tabletable-borde-bordered"red">>

... ...

</table>

</table>

Tabela com a classe ‘table-bordered’ Tabela com a classe ‘table-bordered’

Destacando linhas

Destacando linhas

O efeito

O efeito  hover  hover  é bem conhecido por nós desenvolvedores web. Ele muda uma cor ou formato  é bem conhecido por nós desenvolvedores web. Ele muda uma cor ou formato

quando o ponteiro do mouse está ativado naquele ponto. Nas

quando o ponteiro do mouse está ativado naquele ponto. Nas tabelas, é possível adiconar esse efeitotabelas, é possível adiconar esse efeito destacando a linha que o mouse passa. Para fazer isso, você pode usar a classe

destacando a linha que o mouse passa. Para fazer isso, você pode usar a classe table-hover table-hover

<table

<table  class=  class="tabl"table e tabletable-hover-hover"">>

... ...

</table>

</table>

Tabelas menores (condensadas)

Tabelas menores (condensadas)

Caso o espaço entre cada célula (padding e margin) da tabela estejam atrapalhando a visualização Caso o espaço entre cada célula (padding e margin) da tabela estejam atrapalhando a visualização de um item, você pode retirá-los através da classe

de um item, você pode retirá-los através da classe table-condensed table-condensed, conforme o exemplo a seguir:, conforme o exemplo a seguir:

<table

<table  class=  class="table table-condensed""table table-condensed">>

... ...

</table>

(29)

Tabelas

Tabelas 2424

Linhas contextuais

Linhas contextuais

É possível adicionar um contexto a uma linha de uma tabela, através das classes

É possível adicionar um contexto a uma linha de uma tabela, através das classes act active, ive, succesuccess,ss,  warning

 warning ou ou danger danger. As classes devem ser aplicadas na tag. As classes devem ser aplicadas na tag <tr> <tr> que define a linha da tabela. que define a linha da tabela.

<table

<table  class=  class="table""table">>

<tbody>

<tbody>

<tr

<tr  class=  class="danger""danger">>...</tr></tr>

</tbody>

</tbody>

</table>

</table>

Tabelas com linhas contextuais Tabelas com linhas contextuais

Mesclando classes

Mesclando classes

É possível mesclar todas as classes disponíveis para formatação da tabela, de forma a obter É possível mesclar todas as classes disponíveis para formatação da tabela, de forma a obter um melhor formatação da mesma. Por exemplo, você pode usar as classes

um melhor formatação da mesma. Por exemplo, você pode usar as classes  table-striped  table-striped ee table-bordered

(30)

Tabelas

Tabelas 2525

Tabela mesclada Tabela mesclada

Os exemplos deste capítulo estão localizados

Os exemplos deste capítulo estão localizados neste link neste link    ..

  

(31)

Formulários

Formulários

Os formulários, cuja tag principal é

Os formulários, cuja tag principal é <form> <form>, constituem o principal meio de entrada de dados em, constituem o principal meio de entrada de dados em

páginas web. Como existem diversas formas de se criar um formulário, podendo inclusive mesclar páginas web. Como existem diversas formas de se criar um formulário, podendo inclusive mesclar formas variadas, vamos exibir a seguir as principais funcionalidades que o Bootstrap possui.

formas variadas, vamos exibir a seguir as principais funcionalidades que o Bootstrap possui.

Um simples formulário sem a formatação do Bootstrap Um simples formulário sem a formatação do Bootstrap

Compreendo o form-group

Compreendo o form-group

A classe

A classe form-group form-group é usada para delimitar um grupo único de um formulário, que na maioria das é usada para delimitar um grupo único de um formulário, que na maioria das

vezes é definida como um campo. Para criar um formulário com muitos campos, é necessário criar vezes é definida como um campo. Para criar um formulário com muitos campos, é necessário criar um formulário com vários elementos com a classe

um formulário com vários elementos com a classe form-group form-group. No exemplo a seguir, criamos um. No exemplo a seguir, criamos um

formulário com dois elementos, nome e email, no

formulário com dois elementos, nome e email, no qual cada um é definido por uma div com a qual cada um é definido por uma div com a classeclasse

form-group form-group..

<form>

<form>

<div

<div  class=  class="form-group""form-group">>

<label

<label  for=  for="nome""nome">>NomeNome</label></label>

<input

<input  type=  type="text""text"  class=  class="form-control""form-control" id=id="nome""nome">>

</div>

</div>

<div

<div  class=  class="form-group""form-group">>

<label

<label  for=  for="email""email">>EmailEmail</label></label>

<input

<input  type=  type="text""text"  class=  class="form-control""form-control" id=id="email""email">>

</div>

</div>

</form>

References

Related documents

This serious breakdown may be attributable to one or both parties and must make cohabitation intolerable for the spouse petitioning for divorce. It is important to note

This study compared the efficacy of computerised bias modification positive appraisal training (CBM) versus a therapist-delivered cognitive behavioural therapy session (CB-Education)

The tree improvement community has responded to this challenge by developing a collaborative working arrangement between entomologists and seed orchard managers that has resulted in

– General Fund Surplus, if any, at year-end (one-time) – Public Building Commission unused funds (one-time) – Reimbursements from other agencies (one-time). – Annual revenue

Increased brachial-ankle pulse wave velocity is independently associated with risk of cerebral ischemic small vessel disease in elderly hypertensive patients. Huck CJ, Bronas

Stasiun Angsana house reef yang memiliki tutupan terumbu karang paling baik saat pengambilan data, kematian karang karena tidak mampu untuk pulih juga cukup

If you are going to be operating your business throughout the Greater Trail area, a regional business license is available at less cost than purchasing a license in each town or

Such a subject can be hypnotized without ever using the words 'hypnosis' or 'sleep' [sic] by simply referring to what you are trying to attain as a 'deep state of