oLa Norma de Diseño de Cuadrícula que próximamente estará disponible en los navegadores web nos permite diseñar una serie de elementos por medio del Diseño de Hojas en Cascada (Cascade Style Sheets o mejor conocido por su acrónimo de tres letras CSS) con una rapidez asombrosa y pocas líneas de código. Por cierto, la imagen de introducción a este artículo fue creada por medio de código, no utilizamos el ratón ni una sola vez.
[caption id="attachment_2029" align="aligncenter" width="300"] CSS Grid Layout[/caption]
Introducción.
En esta entrada describiremos muy brevemente lo que son HTML y CSS para así poder probar en avance -aún no es está implementado en los navegadores web- las nuevas Normas de Diseños de Cuadrícula. Vamos pues, en esta novedosa área del diseño de páginas web.
HTML.
El Hyper Text Markup Language o simplemente HTML es un lenguaje de marcado, tal como lo explicamos anteriormente por este vuestro humilde portal web. Una muy buena definición, en castellano, de dicho lenguaje de marcado la podeis leer acá en este enlace. Específicamente vamos por la recomendación 5 que se presentó en diciembre de 2012 y que progresivamente se ha ido incorporando a los modernos navegadores web, tanto de código fuente abierto como privativo. Pero es el software libre quien lleva la delantera en esto y es por ello que los programadores de Mozilla Firefox están siempre tratando de alcanzar a las recomendaciones (normas, de facto) planteadas: una labor de hormiga, un paso a paso a la vez.
El dibujito de advertencia que os hemos puesto es, entonces, para advertiros que en vuestro navegador actual NO FUNCIONARÁN PARA NADA LOS EJEMPLOS CON QUE TRABAJAREMOS HOY. Tal vez ustedes pensarán que es una total y absoluta pérdida de tiempo si dichas normas, cambian o, peor aún, nunca se llega a implementar en navegador web alguno, pero oigamos a Eduardo Galeano: "para eso son las utopías, para mantenernos en movimiento". Más adelante os explicaremos como instalar la sempiterna versión Beta de Mozilla Firefox: Nightly.
CSS.
Cuando presentamos el tema lo dijimos: vamos a ir muy rápido en los conceptos básicos para poder presentar la nueva norma de diseño de cuadrícula. Si HTML es un lenguaje de marcado basado en etiquetas podemos decir entnonces que viene a ser como el chasís y motor de nuestro automóvil y he aquí que el CSS viene a ser la carrocería y pintura del mismo. Como ya podéis sospechar, tanto en páginas web y como en automóviles, los humanos estamos es pendientes de las formas y colores la presentación de los elementos, y esto ya cae dentro del ámbito del gusto de cada quien.
Con HTML podremos crear nuestra propia página web.
CSS es un lenguaje que describe el estilo de un documento HTML.
CSS describe cómo los elementos HTML deberían ser mostrados.
Es por ello que siempre hemos considerado que CSS es y será la norma que nos ahorrará gran trabajo pues nos centraremos en imaginar y escribir las etiquetas HTML mínimas necesarias para nuestros programas [entradas, botones, listas, etcétera enlazadas o no con alguna(s) base de datos] y con CSS y JavaScript (eso sí, acompañado de base de datos) podremos ofrecer a nuestros usuarios unas plantillas básicas de presentación que ellos y ellas podrán escoger e incluso personalizar (por ello el uso de base de datos para luego poder recuperar esas preferencias). Pero no no extendamos más en este punto y sigamos adelante con nuestro objetivo principal, acompañadnos, por favor.
Prerrequisitos.
Firefox Mozilla Nightly.
Se tiene estimado que el 7 de marzo de 2017 salga a la luz pública la versión 52 de Mozilla Firefox y por consiguiente el apoyo a al "CSS Grid Layout". Mientras tanto debemos utilizar la versión de avanzada, que siempre está y estará en versión BETA (una versión para un público reducido y previo a su lanzamiento) la cual es llamada Nightly. Acá os advertimos de nuevo: en este navegador no den nada por sentado, habrán cosas que se mejorarán, otras que se corregirán y algunas que no irán a la versión definitiva siguiente. De más está deciros que cualquier error que veaís lo podréis colaborar en su corrección, COLABORAD, pero no salgáis a criticar por las redes sociales porque no es una versión definitiva. Además, si todos nos diéramos a la tarea de criticar por ganar fama o popularidad ¿Quién demonios se va a dedicar a programar? ¡Alguien tiene que trabajar, colaborad, por favor!
Instalando Nightly en Ubuntu.
Para instalarlo debemos tener permiso de administrador o usuario root, abrimos una ventana terminal e introducimos los siguientes comandos:
sudo add-apt-repository ppa:ubuntu-mozilla-daily/ppa sudo apt-get update sudo apt-get install firefox-trunk
https://twitter.com/ks7000/status/838454136966361088
Una vez descargados aproximadamente 46 megabytes de datos comprimidos, se procederá a su instalación y ocupará 156 megabytes en disco duro. Una observación importante que acota al final de la isntalación es que debemos cerrar todas las ventanas que tengamos abiertas con Mozilla Firefox o de lo contrario tenderemos problemas, eso es un indicativo de que las librerías entre Mozilla Firefox 51 (a la fecha) y Nightly se comparten.
[caption id="attachment_2030" align="aligncenter" width="300"] sudo apt-get install firefox-trunk[/caption]
https://twitter.com/ks7000/status/838457258069659648
Instalando Nightly en Debian.
Aún usamos Debian 7, en honor a la verdad nos hemos quedado rezagados en eso porque siempre nos decantamos más por Ubuntu. La mala noticia es que no hallamos, de buenas a primera, un repositorio para esa versión, sin embargo observamos que para la versión 9 abundan repositorios, intentad fortuna con el siguiente a ver si podéis vosotros solitos.
CSS Grid Layout specification.
¿Qué es la Norma de Diseño de Cuadrícula CSS?
El Diseño de Cuadrícula nos permite separar apropiadamente el orden de los elementos desde la fuente contra su presentación visual. Como diseñador esto significa que eres libre de cambiar la ubicación de los elementos de la página en función del dispositivo que sea presentado sin necesidad de comprometer la sensible estructura de un documento HTML y siempre con un diseño responsivo.
Para el Real Diccionario de la Lengua la palabra responsivo significa "perteneciente o relaitvo a la respuesta" pero acá en programación de ordenadores lo enfocamos en que la respuesta viene representada por un tamaño de pantalla. Esto es así debido al la proliferación de dispositivos móviles (entiéndase, principalmente, teléfonos celulares o móviles) que tienen diversos tamaños de pantalla, pero no os llaméis a engaño, ya estos aparatitos están, de hecho, sustityendo a los ordenadores personales. Si queréis ver una prueba de lo que hablamos, y si utilizáis Firefox, probad y haced click en el menú desplegable "Herramientas" -> "Desarrollador web" -> "Modo de diseño adaptable" (o por medio del teclado pulsad de manera simultánea CONTROL+INVERSO+M).
Presentado lo anterior esperamos os habréis dado cuenta del futuro que os presentamos en este blog, ¡pinta bien y promete!
Terminología de cuadrícula.
Rápidamente os presentamos los conceptos que debésis concoer y manejar bien antes de comenzar a editar código alguno.
Líneas de cuadrícula.
Son las líneas que "maquillan" a la cuadrícula, pueden ser horizontales o verticales. Podremos referirnos a ellas con un número o nombre, la mejor analogía serían las líneas de una hoja de cálculo, elemento abstracto que es conocido pro la mayoría de los usuarios de ordenadores. Acá una figurita, por si las dudas.
Pistas de cuadrícula.
Una pista de cuadrícula es toda el área entre dos líneas de cuadrícula. Dibujo de nuevo:
Celda de cuadrícula.
Una celda de caudrícula es la menor área posible a representar y se define como toda el área delimitada entre dos líneas verticales y dos líneas horizontales.
Área de cuadrícula.
Un área de cuadrícula también delimitada por dos líneas horizontales y dos líneas verticales pero contiene dos o más celdas de cuadrícula.
Ahora que tenemos nuestras definiciones básicas podremos comenzar nuestro tutorial en sí.
Archivos base.
Bien podemos escribir un solo documento HTML que incluya CSS o bien podemos escribirlos en archivos aparte, escoged lo que os más os guste para estos fines didácticos. En todo caso presentamos el código básico para cada uno de ellos.
Un solo documento HTML.
<!doctype html system "about:legacy-compat"> <html lang="es-419"> <head> <meta charset="utf-8" /> <title>CCS Grid Layout.</title> <style> <!-- el código CSS aquí --> </style> </head> <body> <div> <div>A</div> <div>B</div> <div>C</div> <div>D</div> <div>E</div> <div>F</div> </div> </body> </html>
Con un archivo CSS externo.
Para colocar nuestro código en un archivo externo tomaremos el código anterior pero en vez de colocar <style>...</style> simplemente colocaremos una sola línea con el siguiente código:
<link rel="stylesheet" type="text/css" href="nuestro_archivo.css">
Definiendo nuestro primera cuadrícula.
A nuestro código base le vamos a hacer las siguientes modificaciones en el código HTML:
<div class="envoltorio"> <div class="caja a">A</div> <div class="caja b">B</div> <div class="caja c">C</div> <div class="caja d">D</div> <div class="caja e">E</div> <div class="caja f">F</div> </div>
Y en el código CSS le colocaremos los siguientes valores:
body { margin: 40px; } .envoltorio { display: grid; grid-template-columns: 100px 100px 100px; grid-gap: 10px; background-color: #fff; color: #444; } .caja { background-color: black; color: green; border-radius: 7px; padding: 15px; font-size: 150%; }
El resultado es el siguiente (probadlo en vuestro Mozilla Firefox Nightly):
Finalizando el tema.
Así nos despedimos por el día de hoy, no sin antes presentaros el código que utilizamos para presentar este humidle tutorial que espero os haya gustado y os sea útil a futuro, ¡gracias por vuestra atención!
Código en HTML.
<div class="envoltorio"> <div class="caja a">A</div> <div class="caja b">B</div> <div class="caja c">CSS</div> <div class="caja d">D</div> <div class="caja e">E</div> <div class="caja f">F</div> <div class="caja g">G</div> <div class="caja h">HTML</div> </div>
Código en CSS.
body { margin: 40px; } .envoltorio { display: grid; grid-template-columns: 100px 100px 100px; grid-gap: 10px; background-color: #fff; color: #444; } .caja { background-color: #444; color: #fff; border-radius: 10px; padding: 20px; font-size: 150%; } .d { border-radius: 47px; } .c { background-color: blue;} .f { border-radius: 20px;} .h { grid-column: 2/3; background-color: orange; }
Fuentes consultadas.
En idioma castellano.
En idioma inglés.
- "Cascading Style Sheets" at Wikipedia.
- "HTML5 Definition Complete, W3C Moves to Interoperability Testing and Performance" by W3.org
- "HTML Tutorial" as W3Schools.com
- "CSS Tutorial" at W3Schools.com
- "Install Firefox Nightly on Ubuntu" by Matt_G.
- "LLVM Debian/Ubuntu nightly packages" at The LLVM Foundation.
- "Grid by Example" by Rachel Andrew.
https://twitter.com/Real_CSS_Tricks/status/838147042031644673
The post CSS Grid Layout specification appeared first on KS7000+WP.