miércoles, 9 de enero de 2019

Un DISEÑO VISUAL de "Caja Flexible CSS"

Tutorial de HTML y principalmente su version 5

Flexbox (cajas flexibles) de CSS

Flexbox es una nueva modalidad de diseño visual que trae CSS3.

El uso de flexbox asegura que los elementos se comporten predeciblemente cuando el diseño visual de la página se encuentre con o deba adaptarse a diferentes tamaños de pantalla y diferentes dispositivos de visualización. Desventajas: no funciona en IE10 y anteriores.

Aprenderás mas de flexbox (caja flexible) de CSS en un capitulo futuro.

Ejemplo con flexbox:

Comidas del Mundo

Pastel de Queso

El pastel de queso es uno de los postres más comunes del mundo y, quizás, uno de los más antiguos que utilizan lácteos, diferentes de la leche. El primer registro que hace mención al pastel de queso viene desde los antiguos Juegos Olímpicos griegos. Marcus Porcius Cato (o Cato "el viejo") escribió la receta para su preparación en uno de sus tantos libros de cocina Romana, llamados "De Agricultura".

Derecho de autor © Abuelitas.com

Reduce bastante el ancho de la ventana de tu navegador de internet para apreciar en acción al código de abajo.


El código HTML y CSS que se haya tras este ejemplo:

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<style> 
div#pizarrón-flexible {
    display: -webkit-flex;
    display: flex;  
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    text-align: center;
}
div#pizarrón-flexible > * { 
    padding: 15px;
    -webkit-flex: 1 100%;
    flex: 1 100%;
}
article#tramo2 {
    text-align: left;
}
header.extremo2 {
    background: black;
 color: white;
}
footer.extremo2 {
    background: #aaa;
 color: white;
}
nav#canoa2 {
    background: #eee;
}
nav#canoa2 ul {
    list-style-type: none;
    padding: 0;
}
nav#canoa2 ul a {
    text-decoration: none;
}

@media all and (min-width: 768px) {
    nav#canoa2 {
     text-align: left;
  -webkit-flex: 1 auto;
  flex: 1 auto;
  -webkit-order: 1;
  order: 1;
 }
    article#tramo2 {
     -webkit-flex: 5 0px;
  flex: 5 0px;
  -webkit-order: 2;
  order: 2;
 }
    footer.extremo2 {
     -webkit-order: 3;
  order: 3;
 }
}
</style>
</head>
<body>
<div id="pizarrón-flexible">

<header class="extremo2">
   <h1>Comidas del Mundo</h1>
</header>
<nav id="canoa2">
  <ul>
    <li><a href="#">Pastel de Queso</a></li>
    <li><a href="#">Otra comida</a></li>
    <li><a href="#">Otra comida mas</a></li>
  </ul>
</nav>
<article id="tramo2">
  <h1>Pastel de Queso</h1>
  <p>El pastel de queso es uno de los postres más comunes del mundo y, quizás, uno de los más antiguos que utilizan lácteos, 
  diferentes de la leche. El primer registro que hace mención al pastel de queso viene desde los antiguos Juegos Olímpicos 
  griegos. Marcus Porcius Cato (o Cato "el viejo") escribió la receta para su preparación en uno de sus tantos libros de 
  cocina Romana, llamados "De Agricultura".</p>
</article>
<footer class="extremo2">Derecho de autor © Abuelitas.com</footer>

</div>

</body>
</html>

a continuación explicaremos cabalmente el codigo del ejemplo que corresponde a este nuevo tema...

martes, 25 de septiembre de 2018

DISEÑO en Columnas de Tabla HTML, o por Flotables CSS, o mediante Plataformas de Código dedicadas a lo VISUAL

Tutorial de HTML y principalmente su version 5

Las tablas HTML

El elemento <table> no fue planteado para ser una herramienta de diseño visual!! El propósito del elemento <table> es mostrar datos tabulados. Así que, no uses las tablas como medios de diseño visual para tu pagina! Harán un gran desorden de tu código. E imagina cuán difícil será rediseñar tu sitio luego de un par de meses.

Consejo: No uses tablas para el diseño visual de tu pagina!

Las plataformas o estructuras CSS

Si quieres aplicar un diseño visual rápidamente, puedes usar una plataforma como Bootstrap.

Los flotables con CSS

Es algo común hacer diseños visuales web enteros usando la propiedad CSS float. Es fácil de aprender – solo necesitas recordar cómo funcionan las propiedades float y clear.

Desventajas: Los elementos flotantes están sujetos al flujo del documento (la dirección, la interrupción y continuación en el diseño visual... espacio y posición que tiene un elemento HTML, inferidas en el código que se interpreta como la pagina web), lo cual puede afectar la flexibilidad o adaptabilidad.

Aprenderás mas de las propiedades CSS float y clear en un capitulo futuro.

Ejemplo con float:

Capitales del Mundo

Berlín

Es la capital de Alemania y uno de los dieciséis estados federados alemanes. Se localiza al noreste de Alemania. Por la ciudad fluyen los ríos Spree, Havel, Panke, Dahme y Wuhle. Con una población de 3,5 millones de habitantes, Berlín es la ciudad más poblada del país y de Europa Central, así como la segunda ciudad en tamaño y la quinta aglomeración urbana entre los países de la Unión Europea.

Derecho de autor © Atlas.com

El código HTML y CSS que se haya tras este ejemplo:

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<style>
div#pizarrón-inflexible {
    width: 100%;
    border: 1px solid brown;
}
header.extremo, footer.extremo {
    padding: 5px;
    color: white;
    background-color: brown;
    text-align: center;
}
nav#canoa {
    float: left;
    max-width: 30%;
    padding: 5px;
}
nav#canoa ul {
    list-style-type: none;
    padding: 0px;
}
nav#canoa ul a {
    text-decoration: none;
}
article#tramo {
    border-left: 1px solid brown;
    padding: 5px;
    overflow: auto;
}
</style>
</head>
<body>
<div id="pizarrón-inflexible">

<header class="extremo">
   <h1>Capitales del Mundo</h1>
</header>
<nav id="canoa">
  <ul>
    <li><a href="#">Berlín</a></li>
    <li><a href="#">Otra capital</a></li>
    <li><a href="#">Otra capital mas</a></li>
  </ul>
</nav>
<article id="tramo">
  <h1>Berlín</h1>
  <p>Es la capital de Alemania y uno de los dieciséis estados federados alemanes. Se localiza al noreste de Alemania. Por la 
  ciudad fluyen los ríos Spree, Havel, Panke, Dahme y Wuhle. Con una población de 3,5 millones de habitantes, Berlín es la 
  ciudad más poblada del país y de Europa Central, así como la segunda ciudad en tamaño y la quinta aglomeración urbana entre 
  los países de la Unión Europea.</p>
</article>
<footer class="extremo">Derecho de autor © Atlas.com</footer>

</div>
</body>

</html>

sábado, 14 de julio de 2018

Técnicas de Diseño Visual en paginas Web

Tutorial de HTML y principalmente su version 5

Diseños Visuales en HTML

Ejemplo de un diseño visual en html:

Animales extintos

El tigre de Tasmania

Fue un marsupial carnívoro originado en el Holoceno. Era nativo de Australia y Nueva Guinea y se cree que se extinguió en el siglo XX. Se trataba del último miembro viviente de su género (Thylacinus), cuyos otros miembros vivieron en tiempos prehistóricos a partir de principios del Mioceno.

Derecho de autor © Tiempos.com

Elementos HTML para diseño visual

Los sitios web frecuentemente muestran el contenido en múltiples columnas (como en una revista o un periódico).

HTML5 ofrece nuevos elementos de semántica para definir las diferentes partes de una página web:

  • <header> - Define una cabecera en un documento o una sección.
  • <nav> - Define un contenedor para los enlaces de navegación interna, es decir de una página a otra del mismo sitio web. En ingles, navegación se escribe “navigation”, asi que “nav” es solo su forma corta.
  • <section> - Define una sección en un documento.
  • <article> - Define un ítem de contenido. Tiene sentido por sí solo, es independiente. Para reusarse o distribuirse.
  • <aside> - Define contenido que tiene una relación indirecta al contenido principal.
  • <footer> - Define un pie de página en un documento o una sección.
  • <details> - Define detalles adicionales que el usuario puede ver u ocultar a su gusto.
  • <summary> - Define un encabezado (resumen-titulo) en el elemento <details>.


Técnicas HTML de diseño visual

Abajo hay cuatro diferentes maneras de crear diseños visuales multicolumnas. Cada una de estas maneras tiene sus ventajas y sus contras:

  • Las tablas HTML
  • La propiedad CSS float
  • Una de las plataformas CSS que hay en existencia
  • La modalidad flexbox de CSS para el diseño visual. En español se le conoce como “de Caja Flexible”.

Pero, ¿Cual elegir?

lunes, 3 de abril de 2017

La Ventana Virtual y HTML - comentario

Tutorial de HTML y principalmente su version 5

Configurar la Ventana Virtual (Viewport en ingles)


Una ventana virtual es similar a una ventana real pero en su función, es decir, nos permite ver pero limita nuestra visión. No es el mismo concepto que describe por ejemplo, a la ventana del navegador, la del procesador de texto, o del reproductor de medios.


HTML5 introdujo un método, a través de la etiqueta <meta>, que permite a los diseñadores web tomar el control de la ventana virtual (viewport).

La ventana virtual es el área (de una página web) visible al usuario. Esta varia de dispositivo a dispositivo, siendo más pequeña en la pantalla de un teléfono móvil que en la de una computador.

Varía también la configuración que cada navegador utiliza de modo predeterminado para establecer la ventana virtual. Por esta razón, deberías incluir en todas tus páginas web, el elemento <meta> que a continuación se te presenta. Ya que proporciona buenos ajustes para la ventana virtual (viewport):

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

Un elemento <meta> destinado a la ventana virtual (viewport), le da al navegador instrucciones sobre cómo manejar las dimensiones y la escalada, escalamiento, o ajuste de la pagina.

Expliquemos esa linea de código:

La parte “width=device-width” establece el ancho (width) de la pagina para que iguale el ancho de la pantalla del dispositivo (device-width) (que variara según el dispositivo).

La parte “initial-scale=1.0” establece el nivel inicial de aumento/alejamiento o zoom de la pagina para cuando esta se cargue. En esta ocasión, el nivel inicial es 1.0 o 100%, lo que significa “ninguno”.

También debo mencionar que hay ciertas diferencias entre las especificaciones físicas y lógicas de la pantalla de un dispositivo.

Luego trataremos el resto de este subtema, importante para la versión móvil de tu sitio web. Por ahora basta con esta breve introducción.



Puedo omitir <html>, <head> y <body>?

De acuerdo al estándar HTML5; la etiqueta <html>, la etiqueta <body> y la etiqueta <head> se pueden omitir.

El siguiente código sería validado como HTML5:

<!DOCTYPE html>
<title>Titulo de Pagina</title>

<h1>Este es un encabezado</h1>
<p>Este es un párrafo.</p>

Observación: no se recomienda omitir las etiquetas <html> y <body>, ya que puede hacer funcionar mal al software DOM o XML y producir errores en navegadores antiguos (IE9).

Sin embargo, el omitir la etiqueta <head> ha sido algo común desde hace ya algún tiempo.


Resumen de lo aprendido:

Etiqueta Descripción
<head> Contendrá los metadatos del documento
<title> Define el titulo de un documento
<base> Define una dirección por defecto o un receptor por defecto para todos los enlaces de una pagina
<link> Define una relación entre un documento y un recurso externo
<meta> Proporciona otros metadatos de un documento HTML
<script> Define un guion a ejecutar en el lado del usuario
<style> Define información de estilo para un documento

El elemento HTML <head>

Tutorial de HTML y principalmente su version 5

La cabecera de un archivo HTML

El elemento HTML <head>

El elemento <head> es un contenedor para los metadatos (la información acerca de la información) y se coloca entre la etiqueta <html> y la etiqueta <body>.

Los metadatos HTML son información acerca del documento HTML. Los metadatos no se muestran.

Típicamente los metadatos abarcan el titulo del documento, el juego de caracteres, los estilos, los enlaces, los guiones, y aun “información extra”.

Las siguientes etiquetas describen el tipo de metadatos dentro del elemento <head>:

<title>, <style>, <meta>, <link>, <script>, <base>.



El element HTML <title>

El elemento <title> define el titulo del documento, y se require en todos los documentos HTML y XHTML.

El elemento <title> provee dicho título a:

  • La pestaña del navegador web.
  • La nueva entrada o nuevo marcador agregado a la sección “favoritos” del navegador. Como valor por defecto para el nombre de esta.
  • El resultado correspondiente a nuestra página web en la lista presentada por un motor de búsqueda luego de consultarlo.

A continuación, un documento HTML sencillo:

<!DOCTYPE html>
<html>
 <head>
   <title>Titulo de Pagina</title>
 </head>
 <body>
   El contenido del documento......
 </body>
</html>

El elemento HTML <style>

El elemento <style> define información de estilo que será usada para solo una página HTML (quien la contiene):

<style>
  body {background-color: powderblue;}
  h1 {color: red;}
  p {color: blue;}
</style>

El elemento HTML <link>

El elemento <link> se usa para enlazar a nuestra página web, hojas de estilo externas:

<link rel="stylesheet" href="miestilo.css">

Aprenderás todo sobre CSS en una futura guía dedicada a este otro lenguaje.

El elemento HTML <meta>

El elemento <meta> se usa para especificar que juego de caracteres se está usando en el texto, también para especificar la descripción de página, las palabras claves, el autor, y otros metadatos.

Algunos ejemplos de uso de la etiqueta <meta>:

<head>
 <meta charset="UTF-8">
 <meta name="description" content="guias gratuitas por la fascinante web">
 <meta name="keywords" content="HTML,CSS,XML,JavaScript">
 <meta name="author" content="Jose Picapiedra">
</head>

Expliquemos el ejemplo:

Definir el juego de caracteres empleado:

<meta charset="UTF-8">

Definir una descripción acerca de tu página web:

<meta name="description" content="guias gratuitas por la fascinante web">

Definir palabras claves para los motores de búsqueda:

<meta name="keywords" content="HTML, CSS, XML, JavaScript">

Definir al autor de una página web:

<meta name="author" content="Mario Moreno">

Refrescar el documento cada 30 segundos:

<meta http-equiv="refresh" content="30">

El atributo “http-equiv” de la etiqueta <meta>, permite simular uno de los campos de la cabecera de un mensaje de petición o respuesta del protocolo HTTP. Con la abreviación “equiv” para “equivalente”, el valor “refresh” como el campo de cabecera HTTP que se está simulando, y el valor “30” del atributo “content” vendría a ser en verdad el valor para el campo de cabecera, ya que “http-equiv” y “content” están relacionados al igual que “name” y “content” en los anteriores.


Los metadatos son usados por los navegadores (para tener certeza de cómo presentar el contenido), por los motores de búsqueda (para conocer el contenido rápidamente mediante las palabras claves), y por otros servicios web.



El elemento HTML <script>

El elemento <script> se usa para definir guiones JavaScript.

El guion JavaScript de abajo escribe “Hola JavaScript!” dentro de un elemento HTML con identificador “prueba”:

<script>
function unaFuncion {
    document.getElementById("prueba").innerHTML = "Hoja JavaScript!";
}
</script>

El elemento HTML <base>

El elemento <base> especifica la URL base para las URLs relativas de una página, o la URL por defecto para un enlace sin valor para su atributo href (<a href=“”>Un enlace</a>). Y especifica también el receptor (target) por defecto para todas las URLs de la misma página:

<base href="https://www.micasa5estrellas.com/imagenes/" target="_blank">

domingo, 19 de marzo de 2017

HTML y las rutas de archivo

Tutorial de HTML y principalmente su version 5

Rutas de archivo


Ruta Descripcion
<img src="foto.jpg"> El archivo foto.jpg esta ubicado en la misma carpeta que la pagina web actual
<img src="imagenes/foto.jpg"> El archivo foto.jpg esta ubicado en la carpeta 'imagenes', la cual esta alojada en la carpeta actual
<img src="/imagenes/foto.jpg"> El archivo foto.jpg esta ubicado en la carpeta 'imagenes', la cual esta alojada en la raiz del sitio web actual
<img src="../foto.jpg"> El archivo foto.jpg esta ubicado en la carpeta que aloja a la carpeta actual


Rutas de archivo

Una ruta de archivo describe la ubicación de un archivo dentro de la estructura de carpetas de un sitio web.

Las rutas de archivo son usadas cuando se quieren enlazar archivos externos a la página, archivos como:

  • Otra página Web
  • Una imagen
  • Una hoja de estilo
  • Un guion JavaScript

Rutas de archivo absolutas

Una ruta de archivo absoluta es la URL completa hacia un archivo en la Internet:

<img src="https://www.pizza.com/imagenes/paisaje.jpg" alt="Monte Everest">

Rutas de archivo relativas

Una ruta de archivo relativa toma en cuenta la ubicación de la página web actual para describir/trazar el camino hacia un archivo local.

Abajo, la ruta de archivo apunta a un archivo de la carpeta ‘ciencia’, que está ubicada en la raíz del presente sitio web:

<img src="/ciencia/logoPaginaSobreCiencia.jpg" alt="un cerebro">

En el siguiente ejemplo la ruta de archivo apunta a un archivo de la carpeta ‘reptiles’, que está ubicada en la carpeta actual:

<img src="reptiles/caiman.jpg" alt="un caiman descansando">

A continuación, la ruta de archivo apunta a un archivo de la carpeta ‘espacio’, que está ubicada en la carpeta que aloja la carpeta actual:

<img src="../espacio/sistemaSolar.jpg" alt="un sistema solar lejano">

Rutas de archivo absolutas o relativas?

Lo mejor es usar rutas de archivo relativas (siempre que sea posible).

Al usar rutas de archivo relativas, tus páginas web no estarán atadas a tu presente URL base (la parte constante en la barra de direcciones de tu navegador web).

Consideremos el área educativa del sitio web ficticio "www.ejemplo.com", específicamente su tutorial de HTML:

Al acceder dicho tutorial identificaremos en la barra de direcciones de nuestro navegador web "https://www.ejemplo.com/Capacitacion/HTML/" como sección base.

"CSS/introducción.html" o "JavaScript/introducción.html", dependiendo del subtema que estemos leyendo, como ruta luego de la base.

Ahora bien la base podría cambiar a "https://www.ejemplo.com/Fundacion/Capacitacion/HTML/". Dejando inservible cualquier enlace del tutorial que use una URL absoluta innecesariamente.

En resumen, evitar esta mala práctica hará que todos los enlaces funcionen. Pese a cambios en la estructura del sitio web.

Los enlaces funcionaran en tu dominio público actual (www.ejemplo.com) o en tus dominios públicos futuros (www.OtroMejor.com). Incluso en tu propio computador (que por cierto, su nombre de equipo es ‘localhost’ - nombre que se descompone al español como equipo local. Para probar internamente tu rol de servidor, cuando el mismo computador tiene instalado software de servidor, empleas este de la siguiente manera, ‘https://localhost’ en la barra de direcciones de tu navegador web).

viernes, 17 de marzo de 2017

Para el lenguaje HTML, está el lenguaje JavaScript

Tutorial de HTML y principalmente su version 5

Para el lenguaje HTML, está el lenguaje JavaScript

El lenguaje JavaScript hace que las paginas HTML sean más dinámicas e interactivas.

Ejemplo:

<!DOCTYPE html>
<html>
<body>

<h1>Mi Primer ejemplo con JavaScript</h1>

<button type="button"
onclick="document.getElementById('prueba').innerHTML = Date()">
Cliqueame para mostrar la Fecha y la Hora.</button>

<p id="prueba"></p>

</body>
</html>

Expliquemos parte del ejemplo de arriba:

La etiqueta HTML <button> se usa para definir un botón accionable, el atributo type indica el tipo de botón que se desea, el atributo onclick indica que hacer cuando el botón sea clicado, en este lo que se ha de hacer esta especificado por document.getElementById(‘prueba’).innerHTML=Date(), donde document es nuestro documento HTML, getElementById es la acción de llamar o traer un elemento HTML usando su identificador (que para el elemento del ejemplo es ‘prueba’), innerHTML nos permite acceder al interior del elemento HTML donde puede o no haber contenido (html interno), para realizar una operación de escritura o lectura. En este caso, para escribir/asignar texto, específicamente la fecha actual con la instrucción Date() que obtiene y devuelve el tiempo corriente.

Ahora el producto de la ejecución de este código:

Mi Primer ejemplo con JavaScript



La etiqueta HTML <script>

La etiqueta <script> se usa para definir un archivo de procesamiento por lotes o guion que se ejecutara en el lado del cliente o computador que accede la pagina web. (y para crear este archivo se usa precisamente JavaScript)

El elemento <script> o contiene declaraciones de guionización, o refiere un archivo/guion externo mediante el atributo src.

Los usos comunes que se le dan a JavaScript son: La manipulación de imágenes, la validación de formularios, y el cambio dinámico de contenido.

Para seleccionar un elemento HTML, en JavaScript se usa muy a menudo el método document.getElementById(id).

El siguiente ejemplo con JavaScript, coloca “Hola JavaScript!” adentro de un elemento HTML con identificador “prueba”:

<script>
document.getElementById("prueba").innerHTML = "Hola JavaScript!";
</script>

Nota: Podrás aprender mucho más de JavaScript en nuestra futura guía acerca de este otro lenguaje.

Una probadita de JavaScript

Acá tienes algunos ejemplos de lo que JavaScript puede hacer:

JavaScript puede hacer cambios al contenido HTML

document.getElementById("prueba").innerHTML = "Hola JavaScript!";

JavaScript puede hacer cambios a los estilos HTML

document.getElementById("prueba").style.fontSize = "25px";
document.getElementById("prueba ").style.color = "red";

Comentario: style en este ejemplo de JavaScript sigue siendo el atributo HTML style y fontSize la misma propiedad CSS usados en temas previos. Cada punto indica que el nivel de jerarquía cambia. Hacia la izquierda este es superior y hacia la derecha es inferior.

JavaScript puede hacer cambios a los atributos HTML

document.getElementById("imagen").src = "paisaje.gif";

La etiqueta HTML <noscript>

La etiqueta <noscript> se usa para proporcionar un contenido alterno a los usuarios que han deshabilitado los guiones o archivos de ejecución por lotes en sus navegadores web o que tienen un navegador que no soporta guiones ejecutados en el lado del cliente o computador del usuario:

<script>
document.getElementById("prueba").innerHTML = "Hola JavaScript!";
</script>

<noscript>Lamentablemente, tu navegador no soporta JavaScript!</noscript>


Etiquetas HTML para JavaScript

Etiqueta Descripcion
<script> Define un archivo de ejecución por lotes que se ejecutara en el lado del cliente o equipo del usuario
<noscript> Define un contenido auxiliar que se mostrara cuando no se permitan guiones ejecutados en el lados del cliente o equipo local