, ese id ser# el de un contenedor que mostraremos haci-ndolo visible cuando pulsamos en su correspondiente tab+
CREA,#% ,UESTR% $%RT0%LI% C%, MATERIALIZE CSS &amos a coger algunos de los elementos e=plicados m#s arriba y crear un portolio one page, en el ejemplo he usado la tem#tica de un portolio orientado a un artista de pi=el art. Aqu" tienes la demo completa de lo que vamos a hacer. Duedes bajarte el proyecto completo desde Withub clon#ndolo o con descarga directa pulsando en Download ZIP.
CA1ECERA 2 ;EA#ER
Creamos el men! y una pequeLa introducci%n sobre de qu- va nuestro portolio Nsituar el h1 para posicionamiento y dem#sO. Jugamos con las clases de ateriali(e dando el color de ondo y su mati( correspondiente. 'ejamos el correspondiente bot%n del men! desplegable y hacemos que active el men! pas#ndole al atributo personali(ado de ateriali(e llamado data;activates, el id del men! que vamos a desplegar en dispositivos tablets y m%viles+ ?header classEorange lighten;2 (;depth;1@ ?nav classEtop;nav orange lighten;2@ 1 ?div classEnav;$rapper@ 2 ?a hreEX data;activatesEmobile;demo classEbutton;collapse@?i classEmdi; 3 navigation;menu@?/i@?/a@ 4 ?ul classEside;nav f=ed grey darIen;4 idEmobile;demo@ 5 ?li@?a hreEXportolio classE$aves;eUect@Dortolio?/a@ 6 ?/li@ 7 ?li@?a hreEXsobremi classE$aves;eUect@Sobre m"?/a@ 8 ?/li@ 9 ?li@?a hreEXhabilidades classE$aves;eUect@abilidades?/a@ 1: ?/li@ 11 ?li@?a hreEXcontacto classE$aves;eUect@Contacto?/a@ 12 ?/li@ 13 ?/ul@ 14 ?/div@ 15 ?/nav@ 16 ?img srcEimg/retratos;pi=elart.svg altEVetratos Di=elart classElogo responsive; 17 img@ 18 ?h1 classE$hite;te=t@Vetratos e ilustraciones con ?strong@pi=elart?/strong@?/h1@ 19 2: 21 22 ?a hreEXportolio classEbtn;Toating btn;large $aves;eUect $aves;light teal lighten; 23 1@ 24 ?i classEmdi;navigation;e=pand;more@?/i@ 25 ?/a@ ?/header@
*n el c%digo, justo antes de cerrar la etiqueta ?/body@, colocamos los scripts necesarios para materiali(e+ j>uery en este caso y materiali(e.js. 'e paso hacemos la llamada de la unci%n side$av%& de ateriali(e CSS, que vuelve nuestro men! responsivo+ ?;; Cargamos j>uery y materiali(e js ;;@ 1 ?script typeEte=t/javascript srcEhttps+//code.jquery.com/jquery; 2 2.1.1.min.js@?/script@ 3 ?script typeEte=t/javascript srcEjs/materiali(e.min.js@?/script@ 4 ?script@ 5 YNdocumentO.readyNunction NO Z 6 7 //en! responsivo 8 YN.button;collapseO.side)avNO[ 9 1: 11 12 \O[ ?/script@
SECCI<, $%RT0%LI% abr#s observado que las secciones Dorolio, Sobre m", etc est#n contenidas en la etiqueta ?main@?/main@, una etiqueta precisa de H5 que describe el contenido principal de la p#gina. *n la secci%n portolio mostramos nuestros proyectos reali(ados o trabajos, usaremos material bo=es aLadiendo la clase .materialboed a cada etiqueta ?img@. *n los estilos custom.css que son nuestros estilos personali(ados, he optado por mostrar las im#genes a tres columnas y Totando+ 1 ?section idEportolio classEportolio teal lighten;3@ 2 ?div classEcontainer@ 3 ?h4 classEteal;te=t@portolio?/h4@ 4 ?hr classEteal;te=t@ 5 ?div classEro$@ 6 ?div classEcol s12 m12 l12 portolio;holder@ 7 ?div@?img classEmaterialbo=ed srcEimg/sample.jpg altE@?/div@ 8 ?div@?img classEmaterialbo=ed srcEimg/sample.jpg altE@?/div@ 9 ?div@?img classEmaterialbo=ed srcEimg/sample.jpg altE@?/div@ 1: ?div@?img classEmaterialbo=ed srcEimg/sample.jpg altE@?/div@ 11 ?div@?img classEmaterialbo=ed srcEimg/sample.jpg altE@?/div@ 12 ?div@?img classEmaterialbo=ed srcEimg/sample.jpg altE@?/div@ 13 ?/div@ 14 ?/div@ 15 ?/div@ 16 ?/section@
SECCI<, =S%1RE M.> Dara darle un toque din#mico al bacIground de esta secci%n usamos un Daralla=. *s un eecto en el bacIground de la secci%n que mueve este ondo a una velocidad dierente que el contenido de rente cuando hacemos scroll. Sencillamente aLadimos este c%digo nada m#s empe(ar el contenido de nuestro sectionXsobremi+
1 ?div classEparalla=@ 2 ?img srcEimg/paralla=.jpg altE@ 3 ?/div@
vamos a los scripts que tenemos abajo y llamamos a la unci%n de ateriali(e que lo activa+ 1 //Daralla= 2 YN].paralla=]O.paralla=NO[
&amos a usar el componente Card, tarjeta, que b#sicamente es una orma recomendada e interactiva de mostrar contenido. *n concreto la clase .card-reveal nos muestra el contenido de la tarjeta y aLadiendo la clase .activator a un elemento lo convertimos en un bot%n que despliega u oculta esta tarjeta. Bloque de c%digo completo de esta secci%n+ ?section idEsobremi classEsobremi paralla=;container@ ?div classEparalla=@?img srcEimg/paralla=.jpg altE@ ?/div@ 1 ?div classEcontainer@ 2 ?h4 classEdeep;orange;te=t te=t;darIen;4@sobre m"?/h4@ 3 ?hr classEdeep;orange;te=t te=t;darIen;4@ 4 ?div classEro$@ 5 ?div classEcol s12 center@ 6 ?div classEcard small blue;grey darIen;1@ 7 ?div classEcard;image $aves;eUect $aves;blocI $aves;light@ 8 ?img classEactivator srcEimg/sobremi.jpg@ 9 ?/div@ 1: ?div classEcard;content@ 11 ?span classEcard;title activator grey;te=t te=t;darIen;4@r. 8;Bits ?i 12 classEmdi;navigation;more;vert right@?/i@?/span@ 13 ?p@ 14 ?a hreEX@t$itter?/a@ 15 ?a hreEX@acebooI?/a@ 16 ?/p@ 17 ?/div@ 18 ?div classEcard;reveal@ 19 ?span classEcard;title grey;te=t te=t;darIen;4@Card itle ?i classEmdi; 2: navigation;close right@?/i@?/span@ 21 ?p@ 22 Horem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod 23 tempor incididunt ut labore et dolore magna aliqua. Horem ipsum dolor sit amet, 24 consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna 25 aliqua. 26 ?/p@ 27 ?/div@ 28 ?/div@ 29 ?/div@ 3: ?/div@ ?/div@ ?/section@
;A1ILI#A#ES Aprovechamos los iconos que tiene Materialize y los sacamos a relucir un poco en esta secci%n, para pantallas grandes lo mostramos a 3 columnas y en m%viles lo ponemos a 12 columnas+ 1 ?section idEhabilidades classEhabilidades pinI lighten;3@
?div classEcontainer@ ?h4 classEpinI;te=t@habilidades?/h4@ 2 ?hr classEpinI;te=t@ 3 ?div classEro$@ 4 ?ul@ 5 ?li@ 6 ?div classEcol s12 m4@ 7 ?div classEcenter@ 8 ?i classEpinI;te=t mdi;image;Tash;on@?/i@ 9 ?h5@Horem?/h5@ 1: ?p classElight center@ 11 Horem ipsum dolor sit amet, consectetur adipiscing elit, sed do 12 eiusmod tempor incididunt ut labore et dolore magna aliqua 13 ?/p@ 14 ?/div@ 15 ?/div@ 16 ?/li@ 17 ?li@ 18 ?div classEcol s12 m4@ 19 ?div classEcenter@ 2: ?i classEpinI;te=t mdi;action;settings;ethernet@?/i@ 21 ?h5@^psum?/h5@ 22 ?p classElight center@ 23 Gt enim ad minim veniam, quis nostrud e=ercitation ullamco laboris 24 nisi ut aliquip e= ea commodo consequat. 25 ?/p@ 26 ?/div@ 27 ?/div@ 28 ?/li@ 29 ?li@ 3: ?div classEcol s12 m4@ 31 ?div classEcenter@ 32 ?i classEpinI;te=t mdi;hard$are;gamepad@?/i@ 33 ?h5@'olor?/h5@ 34 ?p classElight center@ 35 'uis aute irure dolor in reprehenderit in voluptate velit esse cillum 36 dolore eu ugiat nulla pariatur. 37 ?/p@ 38 ?/div@ 39 ?/div@ 4: ?/li@ 41 ?/ul@ 42 ?/div@ 43 ?/div@ ?/section@
C%,TACT% C%digo muy sencillo que nos deja un ormulario de contacto visualmente atractivo usando las clases para ormularios de ateriali(e+ 1 ?section idEcontacto classEcontacto@ 2 ?div classEcontainer@ 3 ?h4@contacto?/h4@ 4 ?hr@ 5 ?div classEro$@ 6 ?div classEcol s12 m7@ 7 ?div classEro$@ 8 ?orm classEcol s12@ 9 ?div classEro$@
?div classEinput;feld col s6@ 1: ?i classEmdi;action;account;circle pref=@?/i@ 11 ?input idEfrst_name typeEte=t classEvalidate@ 12 ?label orEfrst_name@)ombre?/label@ 13 ?/div@ 14 ?div classEinput;feld col s6@ 15 ?input idElast_name typeEte=t classEvalidate@ 16 ?label orElast_name@Apellido?/label@ 17 ?/div@ 18 ?/div@ 19 ?div classEro$@ 2: ?div classEinput;feld col s12@ 21 ?i classEmdi;communication;email pref=@?/i@ 22 ?input idEemail typeEemail classEvalidate@ 23 ?label orEemail@*;ail?/label@ 24 ?/div@ 25 ?/div@ 26 ?div classEro$@ 27 ?div classEinput;feld col s12@ 28 ?i classEmdi;communication;comment pref=@?/i@ 29 ?te=tarea idEmensaje classEmateriali(e;te=tarea 3: required@?/te=tarea@ 31 ?label orEmensaje@ensaje?/label@ 32 ?/div@ 33 ?/div@ 34 35 ?button classEbtn $aves;eUect $aves;light typeEsubmit 36 nameEaction@*nviar 37 ?i classEmdi;content;send right@?/i@ 38 ?/button@ 39 ?/orm@ 4: ?/div@ 41 ?/div@ 42 ?div classEcol s12 m4 oUset;m1 contact;holder@ 43 ?h6 classEmdi;action;home@'irecci%n?/h6@ 44 ?p@C/egadrive, )`7?/p@ 45 ?h6 classEmdi;hard$are;phone;android@%vil?/h6@ 46 ?p@999 999 999?/p@ 47 ?h6 classEmdi;action;open;in;bro$ser@eb?/h6@ 48 ?p@unnyrontend.com?/p@ 49 ?/div@ 5: ?/div@ 51 ?/div@ ?/section@
0%%TER *n -l mostramos el copyright y alg!n que otro enlace, con las clases de ateriali(e CSS creamos un ooter en un momento+ ?ooter classEpage;ooter orange lighten;2@ 1 ?div classEooter;copyright@ 2 ?div classEcontainer@ 3 2:15 Funny Frontend 4 ?a classEgrey;te=t te=t;lighten;4 right 5 hreEhttp+//unnyrontend.com/@eb?/a@ 6 ?/div@ 7 ?/div@ 8 ?/ooter@
A,IMACI%,ES E, LA $-I,A Vecuerda que abajo situamos ciertos scrips como el de Daralla=, en este mismo sitio usaremos el plugin que incorpora ateriali(e, ScrollFire que reali(a animaciones seg!n vamos haciendo scroll en la $eb. Simplemente pasamos como par#metros el selector del bloque div que queremos animar, el offset Ncantidad de p"=eles del scrollO y callback que ejecuta una unci%n cuando el usuario llega al punto especifcado en el oUset haciendo scroll. ambi-n hemos animado el portolio con el ade^n^mage y las habilidades con el sho$StaggeredHist, ambas animaciones de ateriali(e CSS+ 1 //Animaciones 2 var options E Z 3 selector+ ].portolio;holder img], 4 oUset+ :, 5 callbacI+ ]ade^n^mageN.portolio;holder imgO] 6 \, Z 7 selector+ ].habilidades li], 8 oUset+ :, 9 callbacI+ ]sho$StaggeredHistN.habilidades ulO] 1: \[ 11 scrollFireNoptionsO[
Dor !ltimo, cuando nos despla(amos por el men! lateral los saltos de los hre del men! a nuestras sectionXid es muy brusco, llamaremos tambi-n a la unci%n ScrollSpy para solucionar este detalle+ 1 //Scroll 2 YN]section]O.scrollSpyNO[
C%,CLUSI%,ES 0I,ALES emos visto algunas de las caracter"sticas y componentes de este Material #esi6n rame$orI, que cada ve( est# cobrando m#s uer(a sobre el 0lat #esi6n. Si est#s pensando en crear una $eb con este estilo con el framework fronten! Materialize CSS tienes m#s que sufciente, tu diseLo destacar# sin duda sobre el resto, ya que hay muy pocas $ebs que est-n usando este estilo por ahora. ambi-n se puede usar este rame$orI para crear aplicaciones m%viles h"bridas, por ejemplo en DhoneWap.