Download - Bootstrap, un framework CSS

Transcript
Page 1: Bootstrap, un framework CSS

BOOTSTRAP,UNFRAMEWORKCSS

ADOLFOSANZDEDIEGOSEPTIEMBRE2014

Page 2: Bootstrap, un framework CSS

1ELAUTOR

Page 3: Bootstrap, un framework CSS

1.1ADOLFOSANZDEDIEGOAntiguoprogramadorwebJEE(6años)Hoyendía:ProfesordeFP(6años):Hardware,SistemasOperativosRedes,Programación

FormadorFreelance(3años):Java,AndroidJavaScript,jQueryJSF,Spring,HibernateGroovy&Grails

Page 4: Bootstrap, un framework CSS

1.2ALGUNOSPROYECTOSFundadory/ocreador:HackathonLovers:TweetsSentiment:MarkdownSlides:

Co-fundadory/oco-creador:PeliTweets:PasswordManagerGenerator:

http://hackathonlovers.comhttp://tweetssentiment.com

https://github.com/asanzdiego/markdownslides

http://pelitweets.com

http://pasmangen.github.io

Page 5: Bootstrap, un framework CSS

1.3¿DONDEENCONTRARME?Minick:asanzdiegoAboutMe:GitHub:Twitter:Blog:LinkedIn:Google+:

http://about.me/asanzdiegohttp://github.com/asanzdiegohttp://twitter.com/asanzdiego

http://asanzdiego.blogspot.com.eshttp://www.linkedin.com/in/asanzdiego

http://plus.google.com/+AdolfoSanzDeDiego

Page 6: Bootstrap, un framework CSS

2INTRODUCCIÓN

Page 7: Bootstrap, un framework CSS

2.1¿QUÉES?BoostrapesunframeworkCSS,liberadoporTwitterymuypopularhoyendía.EstápensadoparahacerundesarrolloMobileFirst

Page 8: Bootstrap, un framework CSS

2.2VENTAJAS(I)Utilizacomponentesyservicioscreadosporlacomunidadweb.Utilizaunconjuntodebuenasprácticasqueperduraráneneltiempo.UtilizaHTML5yCSS3

Page 9: Bootstrap, un framework CSS

2.3VENTAJAS(II)Implementaunsistemaderejillas,quepordefectoincluye12columnas.UtilizaLESS,unpreprocesadorCSS.(AhoratambiénsoportaSaas).EsOOCSS,oseaCSSOrientadoaObjetos:organizadopormódulosindependientesyreutilizables.

Page 10: Bootstrap, un framework CSS

2.4VENTAJAS(III)Hayunaenormecomunidaddetrás.Herramientasencillayágilparaconstruirsitioswebeinterfaces.Tieneunthemepordefectobastanteoptimizadoyquepuedesmodificarfácilmente.

Page 11: Bootstrap, un framework CSS

2.5DESVENTAJAS(I)Esnecesarioadaptarseasuformadetrabajo,sibiensucurvadeaprendizajeesliviana,deberáscomprenderyfamiliarizarteconsuestructuraynomenclatura.Debesadaptartudiseñoaungridde12columnas.Traeanchosymárgenespordefecto,queavecessonunpocotediososdecambiar.

Page 12: Bootstrap, un framework CSS

2.6DESVENTAJAS(II)Escomplicadocambiardeversiónsihasrealizadomodificacionesprofundassobreelcore.Sinecesitasañadircomponentesquenoexisten,debeshacerlostúmismoenCSSycuidardequemantengacoherenciacontudiseñoycuidandoelresponsive.Aveceshacerimplementarundiseñoimpuesto,puedellegararesultarbastantedifícil,almenossieresunperfeccionista.

Page 13: Bootstrap, un framework CSS

2.7DESCARGASisóloquiereslofundamental:https://github.com/twbs/bootstrap/releases/download/v3.2.0/bootstrap-3.2.0-dist.zip

bootstrap/├──css/│├──bootstrap.css│├──bootstrap.min.css│├──bootstrap-theme.css│└──bootstrap-theme.min.css├──js/│├──bootstrap.js│└──bootstrap.min.js└──fonts/

Page 14: Bootstrap, un framework CSS

2.8PLANTILLABÁSICA<!DOCTYPEhtml><htmllang="en"><head><metaname="viewport"...><title>Template</title><linkhref="bootstrap.min.css"...></head><body><h1>Hello,world!</h1><scriptsrc=".../jquery.min.js"></script><scriptsrc="bootstrap.min.js"></script></body></html>

Page 15: Bootstrap, un framework CSS

3RESUMENCSS

Page 16: Bootstrap, un framework CSS

3.1HTML5DOCTYPEBootstrapnecesitaundoctypedeHTML5:

<!DOCTYPEhtml><htmllang="en">...</html>

Page 17: Bootstrap, un framework CSS

3.2MOBILEFIRSTDesdelaversión3,BoostrapesMobilefirst.Paragarantizarunbuenrenderizadoyunbuenfuncionamientodelzoom:<metaname="viewport"content="width=device-width,initial-scale=1">

Page 18: Bootstrap, un framework CSS

3.3DESACTIVARZOOM(I)Sepuededesactivarelzoomconuser-scalable=no<metaname="viewport"content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

Page 19: Bootstrap, un framework CSS

3.4DESACTIVARZOOM(II)Hacequeelsitioseparezcamásunaaplicaciónnativa,perotambiénlohacemenosaccesible.Engeneral,noserecomienda.

Page 20: Bootstrap, un framework CSS

3.5NORMALIZE.CSSParaunmejorrenderizadoenvariosnavegadores,BoostrapusaNormalize.css,unproyectodesarrolladoporNicolasGallagheryJonathanNeal:http://necolas.github.io/normalize.css/

Page 21: Bootstrap, un framework CSS

4GRIDSYSTEM

Page 22: Bootstrap, un framework CSS

4.1INTRODUCCIÓNBootstrapincluyeunsistemaderejillaresponsiveymobilefirstde12columnas.

Page 23: Bootstrap, un framework CSS

4.2FUNCIONAMIENTOElsistemaderejilladeBootstrapfuncionaasí:Sedebencolocar.rowdentrodeun.container(anchofijo)o.container-fluid(anchocompleto).Utilice.rowparacreargruposhorizontales.Elcontenidosedebecolocarentre.rowydebendeserhijosinmediatos.Sihaymásde12columnasenuna.row,estasondesplazadasabajo.

Page 24: Bootstrap, un framework CSS

4.31COLUMNA(I)Ejemplode1columnadeuntamañode12

1columna

Page 25: Bootstrap, un framework CSS

4.41COLUMNA(II)Ejemplode1columnadeuntamañode12

<divclass="row"><divclass="col-xs-12">1</div><divclass="col-xs-12">2</div><divclass="col-xs-12">3</div><divclass="col-xs-12">4</div></div>

Page 26: Bootstrap, un framework CSS

4.52COLUMNAS(I)Ejemplode2columnasdeuntamañode6

2columnas

Page 27: Bootstrap, un framework CSS

4.62COLUMNAS(II)Ejemplode2columnasdeuntamañode6

<divclass="row"><divclass="col-xs-6">1</div><divclass="col-xs-6">2</div><divclass="col-xs-6">3</div><divclass="col-xs-6">4</div></div>

Page 28: Bootstrap, un framework CSS

4.73COLUMNAS(I)Ejemplode3columnasdeuntamañode4

3columnas

Page 29: Bootstrap, un framework CSS

4.83COLUMNAS(II)Ejemplode3columnasdeuntamañode4

<divclass="row"><divclass="col-xs-4">1</div><divclass="col-xs-4">2</div><divclass="col-xs-4">3</div><divclass="col-xs-4">4</div></div>

Page 30: Bootstrap, un framework CSS

4.94COLUMNAS(I)Ejemplode4columnasdeuntamañode3

4columnas

Page 31: Bootstrap, un framework CSS

4.104COLUMNAS(II)Ejemplode4columnasdeuntamañode3

<divclass="row"><divclass="col-xs-3">1</div><divclass="col-xs-3">2</div><divclass="col-xs-3">3</div><divclass="col-xs-3">4</div></div>

Page 32: Bootstrap, un framework CSS

4.11MULTIDISPOSITIVO1columnaparaxs(<768px)2columnasparasm(≥768px)3columnasparamd(≥992px)4columnasparalg(≥1200px)

Page 33: Bootstrap, un framework CSS

4.12NORMAL<divclass="row"><divclass="col-xs-12col-sm-6col-md-4col-lg-3">1</div><divclass="col-xs-12col-sm-6col-md-4col-lg-3">2</div><divclass="col-xs-12col-sm-6col-md-4col-lg-3">3</div><divclass="col-xs-12col-sm-6col-md-4col-lg-3">4</didv></div>

Page 34: Bootstrap, un framework CSS

4.13CLEARFIX(I)Problemacuandounacapatieneunaltomayorqueladelosdemás:

Problemaclearfix

Page 35: Bootstrap, un framework CSS

4.14CLEARFIX(II)<divclass="row"><divclass="...">1Resizeyourviewport</div><divclass="...">2</div><divclass="clearfixvisible-sm-block"></div><divclass="...">3</div><divclass="clearfixvisible-md-block"></div><divclass="...">4</didv></div>

Page 36: Bootstrap, un framework CSS

4.15HUECOSCONOFFSET(I)

Huecosconoffset

Page 37: Bootstrap, un framework CSS

4.16HUECOSCONOFFSET(II)<divclass="row"><divclass="col-md-4">.col-md-4</div><divclass="col-md-4col-md-offset-4">.col-md-4.col-md-offset-4</div></div>

Page 38: Bootstrap, un framework CSS

4.17HUECOSCONOFFSET(III)<divclass="row"><divclass="col-md-3col-md-offset-3">.col-md-3.col-md-offset-3</div><divclass="col-md-3col-md-offset-3">.col-md-3.col-md-offset-3</div></div>

Page 39: Bootstrap, un framework CSS

4.18HUECOSCONOFFSET(IV)<divclass="row"><divclass="col-md-6col-md-offset-3">.col-md-6.col-md-offset-3</div></div>

Page 40: Bootstrap, un framework CSS

4.19PUSH&PULL(I)

push&pull

Page 41: Bootstrap, un framework CSS

4.20PUSH&PULL(II)<divclass="row"><divclass="col-md-9col-md-push-3">.col-md-9.col-md-push-3</div><divclass="col-md-3col-md-pull-9">.col-md-3.col-md-pull-9</div></div>

Page 42: Bootstrap, un framework CSS

4.21MEDIAQUERIES(I)EstassonlasMediaQueriesqueseusan:

/*Extrasmalldevices(phones,lessthan768px)*//*defaultinBootstrap*/

/*Smalldevices(tablets,768pxandup)*/@media(min-width:@screen-sm-min){}

/*Mediumdevices(desktops,992pxandup)*/@media(min-width:@screen-md-min){}

/*Largedevices(largedesktops,1200pxandup)*/@media(min-width:@screen-lg-min){}

Page 43: Bootstrap, un framework CSS

4.22MEDIAQUERIES(II)Avecestambiénusanmax-witdhparalimitarciertasreglas.@media(max-width:@screen-xs-max){}

@media(min-width:@screen-sm-min)and(max-width:@screen-sm-max){}

@media(min-width:@screen-md-min)and(max-width:@screen-md-max){}

@media(min-width:@screen-lg-min){}

Page 44: Bootstrap, un framework CSS

5TIPOGRAFÍA

Page 45: Bootstrap, un framework CSS

5.1CABECERAS(I)

Cabeceras

Page 46: Bootstrap, un framework CSS

5.2CABECERAS(II)<h1>h1.CabecerasconBootstrap<small>Textosecundario</small></h1>

<h2>h2.CabecerasconBootstrap<small>Textosecundario</small></h2>

Page 47: Bootstrap, un framework CSS

5.3PÁRRAFOS(I)

Párrafos

Page 48: Bootstrap, un framework CSS

5.4PÁRRAFOS(II)<pclass="lead">Párrafoconclass="lead"</p>

<p>Párrafonormal</p>

<pclass="small">Párrafoconclass="small"</p>

Page 49: Bootstrap, un framework CSS

5.5TEXTOSENLÍNEA

Textosenlínea

Page 50: Bootstrap, un framework CSS

5.6STRONGmuchoémfasis

<p>Puedesusareltagstrongparadarle<strong>muchoémfasis</strong>auntexto</p>

Page 51: Bootstrap, un framework CSS

5.7EMémfasis

<p>Puedesusareltagemparadarle<em>émfasis</em>auntexto</p>

Page 52: Bootstrap, un framework CSS

5.8MARKmarcar

<p>Puedesusareltagmarkpara<mark>marcar</mark>untexto</p>

Page 53: Bootstrap, un framework CSS

5.9INSinsertaruntexto(mejorquesubrallar)

<p>Puedesusareltaginspara<ins>insertar</ins>untexto</p>

Page 54: Bootstrap, un framework CSS

5.10DELborraruntexto(mejorquetachar)

<p>Puedesusareltagdelpara<del>borrar</del>untexto</p>

Page 55: Bootstrap, un framework CSS

5.11ALINEACIÓN

Alineación

Page 56: Bootstrap, un framework CSS

5.12IZQUIERDATextoalineadoalaizquierda.

<pclass="text-left">Textoalineadoalaizquierda.</p>

Page 57: Bootstrap, un framework CSS

5.13CENTRADOTextocentrado.

<pclass="text-center">Textocentrado.</p>

Page 58: Bootstrap, un framework CSS

5.14DERECHATextoalineadoaladerecha.

<pclass="text-right">Textoalineadoaladerecha.</p>

Page 59: Bootstrap, un framework CSS

5.15JUSTIFICADOTextojustificado.

<pclass="text-justify">Textojustificado.</p>

Page 60: Bootstrap, un framework CSS

5.16SINAJUSTETextosinajuste.

<pclass="text-nowrap">Textosinajuste.</p>

Page 61: Bootstrap, un framework CSS

5.17CAPITALIZACIÓN

Capitalización

Page 62: Bootstrap, un framework CSS

5.18MINÚSCULASMinúsculas

<pclass="text-lowercase">Lowercasedtext.</p>

Page 63: Bootstrap, un framework CSS

5.19MAYÚSCULASMayúsculas

<pclass="text-uppercase">Uppercasedtext.</p>

Page 64: Bootstrap, un framework CSS

5.20TIPOTÍTULOTipoTítulo

<pclass="text-capitalize">Capitalizedtext.</p>

Page 65: Bootstrap, un framework CSS

5.21ABREVIATURAS(I)

Abreviaturas

Page 66: Bootstrap, un framework CSS

5.22ABREVIATURAS(II)<abbrtitle="HyperTextMarkupLanguage">HTML</abbr>esunaabreviatura.Pasaelratónporencimaparaaveriguardequesetrata.

Page 67: Bootstrap, un framework CSS

5.23DIRECCIONES(I)

Direcciones

Page 68: Bootstrap, un framework CSS

5.24DIRECCIONES(II)<address><strong>Twitter,Inc.</strong><br>795FolsomAve,Suite600<br>SanFrancisco,CA94107<br><abbrtitle="Phone">P:</abbr>(123)456-7890</address>

<address><strong>FullName</strong><br><ahref="mailto:#">[email protected]</a></address>

Page 69: Bootstrap, un framework CSS

5.25CITAS(I)

Citas

Page 70: Bootstrap, un framework CSS

5.26CITAS(II)<blockquoteclass="blockquote">

<p>Loremipsumdolorsitamet,consecteturadipiscingelit.Integerposuereerataante.</p>

<footer>Someonefamousin<citetitle="SourceTitle">SourceTitle</cite></footer>

</blockquote>

Page 71: Bootstrap, un framework CSS

5.27LISTAS(I)

Listas

Page 72: Bootstrap, un framework CSS

5.28LISTAS(II)<ulclass="list-inline"><li>Peras</li><li>Manzanas</li><li>Naranjas</li><li>Platanos</li></ul>

Page 73: Bootstrap, un framework CSS

5.29DESCRIPCIONES(I)

Descripciones

Page 74: Bootstrap, un framework CSS

5.30DESCRIPCIONES(II)<dlclass="dl-horizontal"><dt>Descripción</dt><dd>Perfectaparadefinir.</dd><dt>Euismod</dt><dd>Vestibulumidligula...</dd><dt>Feliseuismodsempereget</dt><dd>Fuscedapibus,tellus...</dd></dl>

Page 75: Bootstrap, un framework CSS

6TABLAS

Page 76: Bootstrap, un framework CSS

6.1CLASEStable:paradarleelformatotable-striped:paradarleformatoalasparesyalasimparestable-bordered:paraponerlebordesalatablatable-hover:paraoscurecerlafilaendondeestáelratóntable-condensed:paraqueocupemenosespacio

Page 77: Bootstrap, un framework CSS

6.2RESPONSIVEPoniendolatabladentrodeunacapaconclass=table-responsiveapareceráunscrollhorizontalenlatablaendispositivospequeños.

Page 78: Bootstrap, un framework CSS

6.3EJEMPLO(I)

Tabla

Page 79: Bootstrap, un framework CSS

6.4EJEMPLO(II)<divclass="table-responsive"><tableclass="tabletable-stripedtable-borderedtable-hovertable-condensed"><thead><tr><th>...</thead><tbody><tr><td>...</tbody></table></div>

Page 80: Bootstrap, un framework CSS

7FORMULARIOS

Page 81: Bootstrap, un framework CSS

7.1LOBÁSICO(I)Agruparlabel+controlconclass=form-groupInput,textareayselectconclass=form-control

Page 82: Bootstrap, un framework CSS

7.2LOBÁSICO(II)Layouts:normal,form-inlineyform-horizontalParadistribuirelcontenido,sepuedeusar.col-peronohacefaltausar.row

Page 83: Bootstrap, un framework CSS

7.3NORMAL

Formularionormal

Page 84: Bootstrap, un framework CSS

7.4INLINE

Formularioinline

Page 85: Bootstrap, un framework CSS

7.5HORIZONTAL

Formulariohorizontal

Page 86: Bootstrap, un framework CSS

7.6EJEMPLO<formclass="form"role="form"><divclass="form-group"><labelfor="inputEmail3"class="col-sm-2control-label">Email</label><divclass="col-sm-10"><inputclass="form-control"id="inputEmail3"placeholder="EnterEmail"type="email"></div></div><divclass="form-group"><divclass="col-sm-offset-2col-sm-10"><buttontype="submit"class="btnbtn-default">Signin</button></div></div></form>

Page 87: Bootstrap, un framework CSS

7.7INPUTSLosdeHTML5:text,password,datetime,datetime-local,date,month,time,week,number,email,url,search,tel,andcolor.

Page 88: Bootstrap, un framework CSS

7.8CHECKBOXESANDRADIOSSepuedeusarclass=checkbox-inlineoclass=radio-inline<divclass="radio"><label><inputtype="radio"name="optionsRadios"id="optionsRadios1"value="option1"checked>checked</label></div><divclass="radiodisabled"><label><inputtype="radio"name="optionsRadios"id="optionsRadios3"value="option3"disabled>disabled</label></div>

Page 89: Bootstrap, un framework CSS

7.9VALIDACIONES(I)

FormularioValidaciones

Page 90: Bootstrap, un framework CSS

7.10VALIDACIONES(II)Usarloshelpershas-success,has-warningyhas-error<divclass="form-grouphas-successhas-feedback">

<labelclass="control-label"for="inputSuccess2">Inputwithsuccess</label><inputtype="text"class="form-control"id="inputSuccess2"><spanclass="glyphiconglyphicon-okform-control-feedback"></span></div>

Page 91: Bootstrap, un framework CSS

7.11TAMAÑOS(I)

Tamaños

Page 92: Bootstrap, un framework CSS

7.12TAMAÑOS(II)Usarloshelpersform-group-lgoform-group-smobien,encasodeinputsaisladosquenoesténdentrodeunform-group,usarinput-lgoinput-sm<formclass="form-horizontal"role="form"><divclass="form-groupform-group-lg"><labelclass="col-sm-2control-label"for="formGroupInputLarge">Largelabel</label><divclass="col-sm-10"><inputclass="form-control"type="text"id="formGroupInputLarge"placeholder="Largeinput"></div></div></form>

Page 93: Bootstrap, un framework CSS

7.13TAMAÑOS(III)Usarloshelpersform-group-lgoform-group-smobien,encasodeinputsaisladosquenoesténdentrodeunform-group,usarinput-lgoinput-sm<formclass="form-horizontal"role="form"><divclass="form-groupform-group-sm"><labelclass="col-sm-2control-label"for="formGroupInputSmall">Smalllabel</label><divclass="col-sm-10"><inputclass="form-control"type="text"id="formGroupInputSmall"placeholder="Smallinput"></div></div></form>

Page 94: Bootstrap, un framework CSS

8BOTONES

Page 95: Bootstrap, un framework CSS

8.1EJEMPLOS

Ejemplosdebotones

Page 96: Bootstrap, un framework CSS

8.2TIPOS(I)

Tiposdebotones

Page 97: Bootstrap, un framework CSS

8.3TIPOS(II)<buttontype="button"class="btn">Button</button>

<buttontype="button"class="btnbtn-default">Default</button>

<buttontype="button"class="btnbtn-primary">Primary</button>

...

Page 98: Bootstrap, un framework CSS

8.4ACTIVADOS(I)

Botonesactivados

Page 99: Bootstrap, un framework CSS

8.5ACTIVADOS(II)<buttontype="button"class="btnactive">Button</button>

<buttontype="button"class="btnactivebtn-default">Default</button>

<buttontype="button"class="btnactivebtn-primary">Primary</button>

...

Page 100: Bootstrap, un framework CSS

8.6DESACTIVADOS(I)

Botonesactivados

Page 101: Bootstrap, un framework CSS

8.7DESACTIVADOS(II)<buttontype="button"disabled="disabled"class="btnactive">Button</button>

<buttontype="button"disabled="disabled"class="btnactivebtn-default">Default</button>

<buttontype="button"disabled="disabled"class="btnactivebtn-primary">Primary</button>

...

Page 102: Bootstrap, un framework CSS

8.8ENLACES(I)

Tamañosdelosbotones

Page 103: Bootstrap, un framework CSS

8.9ENLACES(II)<ahref="#"class="btnbtn-primary"role="button">Primarylink</a>

<ahref="#"class="btnbtn-primaryactive"role="button">PrimarylinkActive</a>

<ahref="#"class="btnbtn-primarydisabled"role="button">PrimarylinkDisabled</a>

Page 104: Bootstrap, un framework CSS

8.10TAMAÑOS(I)

Tamañosdelosbotones

Page 105: Bootstrap, un framework CSS

8.11TAMAÑOS(II)<buttontype="button"class="btnbtn-primarybtn-lg">Largebutton</button>

<buttontype="button"class="btnbtn-primary">Defaultbutton</button>

<buttontype="button"class="btnbtn-primarybtn-sm">Smallbutton</button>

<buttontype="button"class="btnbtn-primarybtn-xs">Extrasmallbutton</button>

Page 106: Bootstrap, un framework CSS

8.12EXPANDIR(I)

Expandirlosbotones

Page 107: Bootstrap, un framework CSS

8.13EXPANDIR(II)<buttontype="button"class="btnbtn-primarybtn-lgbtn-block">Largebutton</button>

<buttontype="button"class="btnbtn-primarybtn-block">Defaultbutton</button>

<buttontype="button"class="btnbtn-primarybtn-smbtn-block">Smallbutton</button>

<buttontype="button"class="btnbtn-primarybtn-xsbtn-block">Extrasmall</button>

Page 108: Bootstrap, un framework CSS

9IMÁGENES

Page 109: Bootstrap, un framework CSS

9.1RESPONSIVEAñadirclass=img-responsivepondrámax-size=100%yheight=auto.

Page 110: Bootstrap, un framework CSS

9.2EFECTOS(I)

Efectosdeimágenes

Page 111: Bootstrap, un framework CSS

9.3EFECTOS(II)Sepuedenañadirefectos:class=img-rounded:redondealosbordesdelafoto.class=img-circle:conviertelafotoencircular.class=img-thumbnail:dejaunpequeñorecuadroalafoto.

Page 112: Bootstrap, un framework CSS

10HELPERS

Page 113: Bootstrap, un framework CSS

10.1TEXTOSCOLOREADOS(I)

Textoscoloreados

Page 114: Bootstrap, un framework CSS

10.2TEXTOSCOLOREADOS(II)<pclass="text-muted">text-muted</p>

<pclass="text-primary">text-primary</p>

<pclass="text-success">text-success</p>

<pclass="text-info">text-info</p>

<pclass="text-warning">text-warning</p>

<pclass="text-danger">text-dangerx</p>

Page 115: Bootstrap, un framework CSS

10.3COLORESDEFONDO(I)

Coloresdefondo

Page 116: Bootstrap, un framework CSS

10.4COLORESDEFONDO(II)<pclass="bg-primary">bg-primary</p>

<pclass="bg-success">bg-success</p>

<pclass="bg-info">bg-info</p>

<pclass="bg-warning">bg-warning</p>

<pclass="bg-danger">bg-danger</p>

Page 117: Bootstrap, un framework CSS

10.5FLOATYCLEARFIX<divclass="pull-left">pull-left</div>

<divclass="pull-right">pull-right</div>

<p>antesdelclearfix</p>

<divclass="clearfix"></div>

<p>despuésdelclearfix</p>

Page 118: Bootstrap, un framework CSS

10.6MOSTRARYOCULTAR<p>class=show>display:block</p><divclass="show">show</div>

<p>class=hidden>display:none</p><divclass="hidden">hidden</div>

<p>class=invisible>visibility:hidden(nodesaparecedeldom)</p><divclass="invisible">invisible</div>

<p>class=text-hide</p>útilcuandoquieresunaimagendefondo<divclass="text-hide">text-hide</div>

Page 119: Bootstrap, un framework CSS

10.7ACCESIBILIDAD<p>class=sr-only>soloapareceenloslectoresdepantalla</p>

<p>class=sr-only-focusable>aparececuandosehacefocosobreél</p>

<aclass="sr-onlysr-only-focusable"href="#content">Skiptomaincontent</a>

Page 120: Bootstrap, un framework CSS

11RESPONSIVE

Page 121: Bootstrap, un framework CSS

11.1ESCONDERSEGÚNDISPOSITIVO<pclass="hidden-xsbg-primary">hidden-xs</p>

<pclass="hidden-smbg-primary">hidden-sm</p>

<pclass="hidden-mdbg-primary">hidden-md</p>

<pclass="hidden-lgbg-primary">hidden-lg</p>

Page 122: Bootstrap, un framework CSS

11.2MOSTRARCOMOBLOCKSEGÚNDISPOSITIVO<pclass="visible-xs-blockbg-primary">visible-block-xs</p>

<pclass="visible-sm-blockbg-primary">visible-block-sm</p>

<pclass="visible-md-blockbg-primary">visible-block-md</p>

<pclass="visible-lg-blockbg-primary">visible-block-lg</p>

Page 123: Bootstrap, un framework CSS

11.3MOSTRARCOMOINLINESEGÚNDISPOSITIVO<pclass="visible-xs-inlinebg-primary">visible-xs-inline</p>

<pclass="visible-sm-inlinebg-primary">visible-sm-inline</p>

<pclass="visible-md-inlinebg-primary">visible-md-inline</p>

<pclass="visible-lg-inlinebg-primary">visible-lg-inline</p>

Page 124: Bootstrap, un framework CSS

11.4MOSTRARUOCULTARPARAIMPRIMIR<pclass="hidden-printbg-primary">hidden-print</p>

<pclass="visible-print-blockbg-primary">visible-print-block</p>

<pclass="visible-print-inlinebg-primary">visible-print-inline</p>

Page 125: Bootstrap, un framework CSS

12COMPONENTES

Page 126: Bootstrap, un framework CSS

12.1ICONOS(I)Utilizaunaversiónreducidadeglyphicons:

AlternativaFont-Awesome:http://glyphicons.com

http://fortawesome.github.io/Font-Awesome

Page 127: Bootstrap, un framework CSS

12.2ICONOS(II)

Ejemplodeiconos

Page 128: Bootstrap, un framework CSS

12.3ICONOS(III)<buttontype="button"class="btnbtn-default"><spanclass="glyphiconglyphicon-star"></span>Star</button>

Page 129: Bootstrap, un framework CSS

12.4DROPDOWN(I)

Dropdown

Page 130: Bootstrap, un framework CSS

12.5DROPDOWN(II)<divclass="dropdown"><button...data-toggle="dropdown">Dropdown</button><ul...class="dropdown-menu"role="menu"><lirole="presentation"class="dropdown-header">Header</li><lirole="presentation"class="divider"></li><lirole="presentation"><arole="menuitem"...href="#">Action</a></li></ul></div>

Page 131: Bootstrap, un framework CSS

12.6BUTTONGROUPS(I)

Buttongroups

Page 132: Bootstrap, un framework CSS

12.7BUTTONGROUPS(II)<divclass="btn-group"><buttontype="button"class="btnbtn-default">Left</button>

<buttontype="button"class="btnbtn-default">Middle</button>

<buttontype="button"class="btnbtn-default">Right</button></div>

Page 133: Bootstrap, un framework CSS

12.8INPUTGROUPS(I)

Inputgroups

Page 134: Bootstrap, un framework CSS

12.9INPUTGROUPS(II)<divclass="input-group"><spanclass="input-group-addon">@</span><inputtype="text"class="form-control"placeholder="Username"></div>

Page 135: Bootstrap, un framework CSS

12.10VARIOS

Tabs,pills,navbars,breadcrumbs

Page 136: Bootstrap, un framework CSS

12.11TABS<ulclass="navnav-tabs"role="tablist"><liclass="active"><ahref="#">Home</a></li><li><ahref="#">Help</a></li>...</ul>

Page 137: Bootstrap, un framework CSS

12.12PILLS<ulclass="navnav-pills"><liclass="active"><ahref="#">Home</a></li><li><ahref="#">Help</a></li>...</ul>

Page 138: Bootstrap, un framework CSS

12.13NAVBARS<nav...><divclass="container-fluid"><divclass="navbar-header"><button...id="collapse-1"><spanclass="sr-only">Togglenavigation</span>...</button><aclass="navbar-brand"href="#">Brand</a></div><div...id="collapse-1"><ulclass="navnavbar-navnavbar-right"><li><ahref="#">Link</a></li>...</ul></div></div></nav>

Page 139: Bootstrap, un framework CSS

12.14BREADCRUMBS<olclass="breadcrumb"><li><ahref="#">Home</a></li><li><ahref="#">Library</a></li><liclass="active">Data</li></ol>

Page 140: Bootstrap, un framework CSS

12.15PAGINATION(I)

Pagination

Page 141: Bootstrap, un framework CSS

12.16PAGINATION(II)<ulclass="pagination"><liclass="disabled"><span>&laquo;</span></li><liclass="active"><span>1<spanclass="sr-only">(current)</span></span></li><li><ahref="#">2</a></li><li><ahref="#">3</a></li><li><ahref="#">4</a></li><li><ahref="#">5</a></li><li><ahref="#">&raquo;</a></li></ul>

Page 142: Bootstrap, un framework CSS

12.17PAGER(I)

Pager

Page 143: Bootstrap, un framework CSS

12.18PAGER(II)<ulclass="pager"><liclass="previousdisabled"><ahref="#">&larr;Older</a></li><liclass="next"><ahref="#">Newer&rarr;</a></li></ul>

Page 144: Bootstrap, un framework CSS

12.19LABELS(I)

Labels

Page 145: Bootstrap, un framework CSS

12.20LABELS(II)<spanclass="labellabel-default">Default</span><spanclass="labellabel-primary">Primary</span><spanclass="labellabel-success">Success</span><spanclass="labellabel-info">Info</span><spanclass="labellabel-warning">Warning</span><spanclass="labellabel-danger">Danger</span>

Page 146: Bootstrap, un framework CSS

12.21BADGES(I)

Badges

Page 147: Bootstrap, un framework CSS

12.22BADGES(II)<ulclass="navnav-pills"><liclass="active"><ahref="#">Home<spanclass="badge">42</span></a></li><li><ahref="#">Profile</a></li><li><ahref="#">Messages<spanclass="badge">3</span></a></li></ul>

Page 148: Bootstrap, un framework CSS

12.23BADGES(III)<buttonclass="btnbtn-default"type="button">Messages<spanclass="badge">4</span></button>

Page 149: Bootstrap, un framework CSS

12.24JUMBOTRON(I)

Jumbotron

Page 150: Bootstrap, un framework CSS

12.25JUMBOTRON(II)<divclass="jumbotron"><h1>Hello,world!</h1><p>...</p><p><aclass="btnbtn-primarybtn-lg"role="button">Learnmore</a></p></div>

Page 151: Bootstrap, un framework CSS

12.26THUMBNAILS(I)

Thumbnails

Page 152: Bootstrap, un framework CSS

12.27THUMBNAILS(II)<divclass="row"><divclass="col-sm-6col-md-4"><divclass="thumbnail"><imgsrc="img.jpg"...><divclass="caption"><h3>Thumbnaillabel</h3><p>...</p></div></div></div></div>

Page 153: Bootstrap, un framework CSS

12.28ALERTS(I)

Alerts

Page 154: Bootstrap, un framework CSS

12.29ALERTS(II)<divclass="alertalert-success"role="alert"><strong>Welldone!</strong></div><divclass="alertalert-info"role="alert"><strong>Headsup!</strong></div><divclass="alertalert-warning"role="alert"><strong>Warning!</strong></div><divclass="alertalert-danger"role="alert"><strong>Ohsnap!</strong></div>

Page 155: Bootstrap, un framework CSS

12.30PROGRESSBAR(I)

ProgressBar

Page 156: Bootstrap, un framework CSS

12.31PROGRESSBAR(II)<divclass="progress"><divclass="progress-bar"role="progressbar"aria-valuenow="0"aria-valuemin="0"aria-valuemax="100">0%</div></div><divclass="progress"><divclass="progress-bar"role="progressbar"aria-valuenow="2"aria-valuemin="0"aria-valuemax="100"style="width:2%;">2%</div></div>

Page 157: Bootstrap, un framework CSS

12.32PROGRESSBAR(III)<divclass="progress"><divclass="progress-barprogress-bar-success"...style="width:40%"><spanclass="sr-only">40%Complete(success)...<divclass="progress"><divclass="progress-barprogress-bar-infoprogress-bar-striped"...style="width:20%"><spanclass="sr-only">20%Complete...<divclass="progress"><divclass="progress-barprogress-bar-warningprogress-bar-stripedactive"...style="width:60%"><spanclass="sr-only">60%Complete(warning)...

Page 158: Bootstrap, un framework CSS

12.33PROGRESSBAR(IV)<divclass="progress"><divclass="progress-bar"style="width:35%"><spanclass="sr-only">35%Complete(success)</span></div><divclass="progress-barprogress-bar-warningprogress-bar-striped"style="width:20%"><spanclass="sr-only">20%Complete(warning)</span></div><divclass="progress-barprogress-bar-dangerprogress-bar-stripedactive"style="width:10%"><spanclass="sr-only">10%Complete(danger)</span></div></div>

Page 159: Bootstrap, un framework CSS

12.34MEDIA(I)

Media

Page 160: Bootstrap, un framework CSS

12.35MEDIA(II)<ulclass="media-list"><liclass="media"><aclass="pull-left"href="#"><imgsrc="img.png"></a><divclass="media-body"><h4class="media-heading">Mediaheading</h4><p>...</p></div></li></ul>

Page 161: Bootstrap, un framework CSS

12.36LISTGROUP(I)

Listgroup

Page 162: Bootstrap, un framework CSS

12.37LISTGROUP(II)<divclass="list-group"><ahref="#"class="list-group-itemactive">Crasjustoodio</a><ahref="#"class="list-group-item">Dapibusacfacilisisin</a>...</div>

Page 163: Bootstrap, un framework CSS

12.38PANELGROUP(I)

Panelgroup

Page 164: Bootstrap, un framework CSS

12.39PANELGROUP(II)<divclass="panelpanel-primary"><divclass="panel-heading"><h3class="panel-title">Paneltitle</h3></div><divclass="panel-body">Panelcontent</div><divclass="panel-footer">Panelfooter</div></div>

Page 165: Bootstrap, un framework CSS

12.40RESPONSIVEEMBED<divclass="embed-responsiveembed-responsive-16by9"><iframeclass="embed-responsive-item"src="//www.youtube.com/..."allowfullscreen=""></iframe></div>

Page 166: Bootstrap, un framework CSS

13JAVASCRIPT

Page 167: Bootstrap, un framework CSS

13.1MODAL(I)

Dialogosmodales

Page 168: Bootstrap, un framework CSS

13.2MODAL(II)<buttonclass="btnbtn-primarybtn-lg"data-toggle="modal"data-target="#myModal">Launchdemomodal</button>

Page 169: Bootstrap, un framework CSS

13.3MODAL(III)<divclass="modalfade"id="myModal"tabindex="-1"role="dialog"aria-labelledby="myModalLabel"aria-hidden="true"><divclass="modal-dialog"><divclass="modal-content"><divclass="modal-header">...</div><divclass="modal-body">...</div><divclass="modal-footer">...</div></div></div></div>

Page 170: Bootstrap, un framework CSS

13.4TABS(I)

Tabs

Page 171: Bootstrap, un framework CSS

13.5TABS(II)<ulid="myTab"class="navnav-tabs"role="tablist"><liclass=""><ahref="#home"role="tab"data-toggle="tab">Home</a></li><liclass="active"><ahref="#profile"role="tab"data-toggle="tab">Profile</a></li>...</ul>

Page 172: Bootstrap, un framework CSS

13.6TABS(III)<divid="myTabContent"class="tab-content"><divclass="tab-panefade"id="home"><p>...</p></div><divclass="tab-panefadeactivein"id="profile"><p>...</p></div>...</div>

Page 173: Bootstrap, un framework CSS

13.7TOOLTIPS(I)

Tooltips

Page 174: Bootstrap, un framework CSS

13.8TOOLTIPS(II)<script>$(document).ready(function(){$('[data-toggle="tooltip"]').tooltip();});</script>

Page 175: Bootstrap, un framework CSS

13.9TOOLTIPS(III)<pclass="muted">Farm-to-tableseitan,mcsweeney'sfixiesustainablequinoa8-bitamericanapparel<ahref="#"data-toggle="tooltip"title="Anothertooltip">havea</a>terryrichardsonvinylchambray.</p>

Page 176: Bootstrap, un framework CSS

13.10TOOLTIPS(IV)<buttontype="button"class="btnbtn-default"data-toggle="tooltip"data-placement="right"title="Tooltiponright">Tooltiponright</button>

Page 177: Bootstrap, un framework CSS

13.11POPOVER(I)

Popover

Page 178: Bootstrap, un framework CSS

13.12POPOVER(II)<script>$(document).ready(function(){$('[data-toggle="popover"]').popover();});</script>

Page 179: Bootstrap, un framework CSS

13.13POPOVER(III)<buttontype="button"class="btnbtn-default"title="Popovertitle"data-container="body"data-toggle="popover"data-placement="right"data-content="Vivamussagittislacusvelauguelaoreetrutrumfaucibus.">Popoveronright</button>

Page 180: Bootstrap, un framework CSS

13.14ACCORDION(I)

Accordion

Page 181: Bootstrap, un framework CSS

13.15ACCORDION(II)<divclass="panel-group"id="accordion"><divclass="panelpanel-default"><divclass="panel-heading"><h4class="panel-title"><adata-toggle="collapse"data-parent="#accordion"href="#collapseOne">GroupItem#1</a></h4></div><divid="collapseOne"class="panel-collapsecollapsein"><divclass="panel-body">...</div></div></div>...</div>

Page 182: Bootstrap, un framework CSS

13.16CAROUSEL(I)

Carousel

Page 183: Bootstrap, un framework CSS

13.17CAROUSEL(II)<divclass="container"style="max-width:900px"><divid="carousel-example-generic"class="carouselslide"data-ride="carousel"><olclass="carousel-indicators">...</ol><divclass="carousel-inner">...</div><aclass="leftcarousel-control"...</a><aclass="rightcarousel-control"...</a></div></div>

Page 184: Bootstrap, un framework CSS

13.18CAROUSEL(III)<olclass="carousel-indicators"><lidata-target="#carousel-example-generic"data-slide-to="0"class=""></li><lidata-target="#carousel-example-generic"data-slide-to="1"class="active"></li><lidata-target="#carousel-example-generic"data-slide-to="2"class=""></li></ol>

Page 185: Bootstrap, un framework CSS

13.19CAROUSEL(IV)<divclass="carousel-inner"><divclass="itemactiveleft"><imgsrc="img1.png"data-src="..."alt="Firstslide"></div><divclass="itemnextleft"><imgsrc="img2.png"data-src="..."alt="Secondslide"></div><divclass="item"><imgsrc="img2.png"data-src="..."alt="Thirdslide"></div></div>

Page 186: Bootstrap, un framework CSS

13.20CAROUSEL(V)<aclass="leftcarousel-control"href="#carousel-example-generic"role="button"data-slide="prev"><spanclass="glyphiconglyphicon-chevron-left"></span></a><aclass="rightcarousel-control"href="#carousel-example-generic"role="button"data-slide="next"><spanclass="glyphiconglyphicon-chevron-right"></span></a>

Page 187: Bootstrap, un framework CSS

14EJEMPLOS

Page 188: Bootstrap, un framework CSS

14.1ÍNDICEUsingtheframeworkNavbarsinactionCustomcomponentsExperiments

Page 189: Bootstrap, un framework CSS

14.2USINGTHEFRAMEWORKStartertemplateBootstrapthemeGridsJumbotronNarrowjumbotron

Page 190: Bootstrap, un framework CSS

14.3STARTERTEMPLATE

Page 191: Bootstrap, un framework CSS

14.4BOOTSTRAPTHEME

Page 192: Bootstrap, un framework CSS

14.5GRIDS

Page 193: Bootstrap, un framework CSS

14.6JUMBOTRON

Page 194: Bootstrap, un framework CSS

14.7NARROWJUMBOTRON

Page 195: Bootstrap, un framework CSS

14.8NAVBARSINACTIONNavbarStatictopnavbarFixednavbar

Page 196: Bootstrap, un framework CSS

14.9NAVBAR

Page 197: Bootstrap, un framework CSS

14.10STATICTOPNAVBAR

Page 198: Bootstrap, un framework CSS

14.11FIXEDNAVBAR

Page 199: Bootstrap, un framework CSS

14.12CUSTOMCOMPONENTSCoverCarouselBlogDashboardSign-inpageJustifiednavStickyfooterStickyfooterwithnavbar

Page 200: Bootstrap, un framework CSS

14.13COVER

Page 201: Bootstrap, un framework CSS

14.14CAROUSEL

Page 202: Bootstrap, un framework CSS

14.15BLOG

Page 203: Bootstrap, un framework CSS

14.16DASHBOARD

Page 204: Bootstrap, un framework CSS

14.17SIGN-INPAGE

Page 205: Bootstrap, un framework CSS

14.18JUSTIFIEDNAV

Page 206: Bootstrap, un framework CSS

14.19STICKYFOOTER

Page 207: Bootstrap, un framework CSS

14.20STICKYFOOTERWITHNAVBAR

Page 208: Bootstrap, un framework CSS

14.21EXPERIMENTSNon-responsiveBootstrapOffcanvas

Page 209: Bootstrap, un framework CSS

14.22NON-RESPONSIVEBOOTSTRAP

Page 210: Bootstrap, un framework CSS

14.23OFFCANVAS

Page 211: Bootstrap, un framework CSS

15PERSONALIZACIÓN

Page 212: Bootstrap, un framework CSS

15.1TUPROPIOCSSUnaformadepersonalizartupáginawebhechaconbootstrap,esañadiendounficheroCSS,despuésdelasllamadasalosCSSdebootstrap(paraquesobrescribalosvalores)Estaesunaformamuymanualymuypocoproductiva.

Page 213: Bootstrap, un framework CSS

15.2PÁGINACUSTOMIZEDesdelapáginawebdebootstrap

sepuedenpersonalizarunmontóndevariables,ydescargarunaversiónpersonaliadadebootstrap.

http://getbootstrap.com/customize

PersonalizardesdelapáginawebdebootstrapEstaformaesmásproductiva,perosiguesiendobastantemanual,yademásnopuedesteneruncontroldecambioseficiente.

Page 214: Bootstrap, un framework CSS

15.3COMPILARLESSLaformamásproductivayeficientedepersonalizarbootstrapescompilandolosficherosLessdelcoreaCSS.

Page 215: Bootstrap, un framework CSS

16COMPILARLESS

Page 216: Bootstrap, un framework CSS

16.1DESCARGAParaverlastripas,ymodificarlas(LESS),hayquedescargarlaversióncompleta:https://github.com/twbs/bootstrap/archive/v3.2.0.zip

bootstrap/├──less/├──js/├──fonts/├──dist/│├──css/│├──js/│└──fonts/└──docs/└──examples/

Page 217: Bootstrap, un framework CSS

16.2ENTORNOSiqueremosmodificarelcore(LESS),necesitamos:intalarNodeJS,luegoGruntyparaterminarinstalarlasdependencias.

Page 218: Bootstrap, un framework CSS

16.3NODEJSNodeJSnospermiteejecutarJavaScriptdelladodelservidor.ParainstalarNodeJS,hayqueseguirlasinstruccionesdeinstalacióndelapáginaoficialparacadasistemaoperativo:http://nodejs.org

Page 219: Bootstrap, un framework CSS

16.4GRUNTGruntesunautomatizadordetareasqueseejecutasobreNodeJS.UnavezinstaladoNodeJS,hayqueinstalarGruntdesdeelgestordepaquetesdenode(npm)ejecutandoenunterminal,comoadministrador,elsiguientecomando:$npminstall-ggrunt-cli

Page 220: Bootstrap, un framework CSS

16.5DEPENDENCIASUnavezinstaladoNodeJSyGrunt,hayqueinstalarlasdependenciasdebootstrap.Paraellohayquesituarseenlacarpetadebootstrapyejecutar:../bootstrap$npminstall

Page 221: Bootstrap, un framework CSS

16.6DEFAULTSiqueremoslanzartodaslastareaspordefectodegrunt(compilar,minificar,pasarlostest,generardocumentación...)tenemosqueejecutarlosiguiente$grunt

Page 222: Bootstrap, un framework CSS

16.7DISTSiloúnicoquequeremosescompilaryminificarelCSSyelJavaScript,tenemosqueejecutarlosiguiente:$gruntdist

Page 223: Bootstrap, un framework CSS

16.8WATCHTambiénpodemosrecompilarautomaticamentelosficherosLessaCSScuandosalvasloscambios,ejecutandoelsiguientecomando:$gruntwatch

ElproblemaesquesólorecompilaficherosLessaCSS,nolosminifica.

Page 224: Bootstrap, un framework CSS

16.9PERSONALIZARUnodelosficherosquemássepersonalizaes/bootstrap/less/variables.less,puesenélestánlasvariablesmásimportantesqueusabootstrap.

Page 225: Bootstrap, un framework CSS

17ACERCADE

Page 226: Bootstrap, un framework CSS

17.1LICENCIAEstastransparenciasestánhechascon:MarkdownSlides:

EstastransparenciasestánbajounalicenciaCreativeCommonsReconocimiento-CompartirIgual3.0:

https://github.com/asanzdiego/markdownslides

http://creativecommons.org/licenses/by-sa/3.0/es

Page 227: Bootstrap, un framework CSS

17.2FUENTESTransparencias:

Código:

https://github.com/asanzdiego/curso-interfaces-web-2014/tree/master/05-bootstrap/slides

https://github.com/asanzdiego/curso-interfaces-web-2014/tree/master/05-bootstrap/src

Page 228: Bootstrap, un framework CSS

17.3BIBLIOGRAFÍAPáginaoficialdeBootstrap:

Bootstrapsí,perono

VentajasydesventajasdeusarBootstrap

http://getbootstrap.com

http://bruno.garciaechegaray.com/Bootstrap.The.Melee/presentation

http://jorgelessin.com/ventajas-y-desventajas-de-usar-bootstrap