Mostrando entradas con la etiqueta HTML5. Mostrar todas las entradas
Mostrando entradas con la etiqueta HTML5. Mostrar todas las entradas

martes, 21 de julio de 2015

URLs, recursos y enlaces


Hiperenlace: texto clicable que nos permite navegar por internet

<a href = "http://upm.es">UPM</a>

Atributos de <a ...>
  • Hiperenlace asociado: href="..."
  • Página alternativa: alternate
  • mime-type de página enlazada: type
  • Relación con la página enlazada: rel (author, license, tag, ...)
  • Anchor: # (identifica un punto dentro de una página WEB)
  • url de email: mailto:
  • ...
Anchor: se añade al final de una URL e identifica un elemento dentro de una página web (el identificador debe ser único). Ejemplo:

http://upm.es/ejemplo.html#seccion2

En la página web debe de haber el identificativo seccion2. Por ejemplo:

<h4 id="seccion2">Sección2</h4>

Los URLs pueden ser absolutos y relativos. 

También puede llevar el query que se utiliza en interfaces REST o acceso servicios. ejemplo:

http://upm.es/rec1.html?usuario=127

Otros URLs: mailto, telnet,ftp, file. Ejemplo:

Acceso local a un fichero de la máquina: file://
email: mailto:jesus@gmail.com


 

Codificación de caracteres, UNICODE y “character entity”


Codificación UTF8: Código de longitud variable de 1,2,3 o 4 bytes eficiente para lenguas latinas.
Código UNICODE: código de caracteres internacionalizado que puede representar muchas lenguas.

<meta charset="utf-8">

HTML tiene códigos especiales para introducir ciertos caracteres.

sábado, 17 de enero de 2015

Actualización del curso Miriada X

Desde que publiqué el curso de Miriada X, que fue mi primer contacto con Firefox OS, han impartido otros tres cursos de formación del Módulo 1.
He vuelto a retomar el tema de Firefox OS y estoy repasando este módulo pero estudiando los vídeos de la última formación (Edición 4):

Módulo 0: Introducción
Módulo 1: Introducción a Internet
Módulo 2: Estructura de navegación HML5 y CSS3
Módulo 3: Estructuración y depuración de HTML5 y CSS3 con Firefox en entornos multi-pantalla, móviles y tabletas
Módulo 4: Introducción a JavaScript

lunes, 24 de febrero de 2014

Cap 11 Sitio Web en HTML5 Responsive Web Design Form y Mapa de Contacto

Sitio Web en HTML5 Responsive Web Design Form y Mapa de Contacto


En este tutorial veremos como crear formularios utilizando labels, input tipo texto e input tipo submit (botones), texarea. Con required hacemos que HTML5 comprueba si los datos introducidos en el formulario están completos.

En CSS3 agregamos estilos a input indicuando a que tipo afectará. Por ejemplo: input[type="email"]

También aplicamos estilos cuando una caja de texto tenga el foco. Por ejemplo: input[type="email"]:focus


sábado, 22 de febrero de 2014

Cap 10 Sitio Web en HTML5 Responsive Web Design y jQuery Fancybox

Sitio Web en HTML5 Responsive Web Design y jQuery Fancybox




Recursos:
Después de <head>, lo primero que hay que añadir es la etiqueta <meta charset="UTF-8"> para que no tengamos problemas con los acentos.


domingo, 9 de febrero de 2014

Curso Práctico de HTML5 - Cap 09 Sitio Web en HTML5 Responsive Web Design Servicios y Audio

Sitio Web en HTML5 Responsive Web Design Servicios y Audio


Recursos:
Para navegadores antiguos, es necesario incluir http en src. Se incluye en <head>:
    <!--[if lt IE 9]>
        <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>

    <![endif]-->

Para incluir audio:
                <audio id="audios-servicios" controls>
                    <source src="audio/Mixfuckedup-PeliculaLenta.mp3" type="audio/mpeg"></source>
                    <source src="audio/Mixfuckedup-PeliculaLenta.ogg" type="audio/ogg"></source>  

                </audio>

Para incluir un vídeo de youtube: Compartir - Insertar.

Para hacer desaparecer una imagen:
        display: none;

sábado, 8 de febrero de 2014

Curso Práctico de HTML5 - Cap 08 Sitio Web en HTML5 Responsive Web Design en Acerca y Video

Sitio Web en HTML5 Responsive Web Design en Acerca y Video


Recurso:

Por si no encontramos la librería jquery en los servidores de google, se puede guardar en local y, con el siguiente script, se carga la librería local
<script>
    !window.jQuery && document.write("<script src='js/jqyery.min.js'></script>");
</script>

Añadir una imagen:
            <figure id="img-acerca">
                <img src="img/acerca.png" alt="acerca">
Añadir una descripción de la imagen al pie de la misma:
                <figcaption>He visto el fututo... está en el navegador</figcaption>
            </figure>
Añadir un vídeo:
            <video id="video-acerca" controls preload>
                <source src="vdo/video-prueba.mp4" type="video/mp4"></source>
                <source src="vdo/video-prueba.webm" type="video/webm"></source>
                <source src="vdo/video-prueba.ogv" type="video/ogg"></source>
            </video>

Curso Práctico de HTML5 - Cap 07 Sitio Web en HTML5 Social Widgets en el Home

Sitio Web en HTML5 Social Widgets en el Home


Recursos



        <aside>
            <!-- Twitter -->
            <script src="http://platform.twitter.com/widgets.js"></script>
            <a href="http://twitter.com/share" class="twitter-share-button" data-text="#bextlan.com | lugar de bits, vectores y pixeles. Videotutoriales: HTML5, CSS3, jQuery y más... visítanos :)" data-utl="http://bextaln.com" data-count="vertical">Twittear</a>
            <br><br>
            <!-- Facebook -->
            <div id="fb-root"></div>
            <script src="http://connect.facebook.net/es-LA/all.js#xfbml=1"></script>
            <fb:like href="http://facebook.com/bextlan" send="false" layout="box_count" show-faces="false" font="tahoma"></fb:like>
            <!-- Publicidad -->
            <figure>
                <a class="fade" href="http://geekonos.com" target="_blank"></a>
                <img src="img/logo-geekonos.png" alt="geekonos">
                <figcaption>geekonos</figcaption>
            </figure>
        </aside>

domingo, 2 de febrero de 2014

Curso Práctico de HTML5 - Cap 06 Sitio Web en HTML5 galeria jQuery en el Home

Sitio Web en HTML5 galeria jQuery en el Home


FlexSlider: http://www.woothemes.com/flexslider/
jQuery: http://jquery.com/
Recursos del videotutorial: 
http://bextlan.com/recursos/tutoriales/html5/video06-html5.zip

index.html
<!doctype html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Sitio con Responsive Web Desing en HTML5, CSS3 y jQuery</title>
    <meta name="description" content="Bienvenido a mi portafolio web hecho en HTML5, CSS3 y jQuery con Responsive Web Design">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
    <link rel="author" type="text/plain" href="humans.txt" />
    <link rel="stylesheet" href="css/flexslider.css">
    <link rel="stylesheet" href="css/estilos.css">
Añadimos jQuery (versión 1.7.1)
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
Añadimos FlexSlider
    <script src="js/jquery.flexslider.js"></script>
Hacemos que se sejecute FlexSlider cuando se carga la página:
    <script type="text/javascript">
$(window).load(function() {
$('.flexslider').flexslider();
});
</script>
    <!--[if lt IE 9]>
        <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
</head>
<body>
    <header>
        <h1>
            <a href="index.html">
                <img class = "fade" src="img/bextlan-logo.png" alt="bextlan.com | Lugar de bits, vectores y pixeles">
            </a>
        </h1>
        <nav>
            <ul>
                <li><a href="index.html">Inicio</a></li>
                <li><a href="acerca.html">Acerca de</a></li>
                <li><a href="servicos.html">Servicios</a></li>
                <li><a href="trabajos.html">Trabajos</a></li>
                <li><a href="contacto.html">Contacto</a></li>
            </ul>
        </nav>
    </header>
    <section id="contenido">
        <section id="principal">
            <article id="galeria-inicio">
Incorporamos el slide de imágenes
                <div class="flexslider">
                    <ul class="slides">
                        <li>
                            <a href="http://bextlan.com"><img src="img/slide-0.png" alt=""></a>
                            <p class="flex-caption">bextlan.com | lugar de bits, vectores y pixeles</p>
                        </li>
                        <li>
                            <img src="img/slide-1.png" alt="">
                            <p class="flex-caption">bextlan.com | lugar de bits, vectores y pixeles</p>
                        </li>
                        <li>
                            <img src="img/slide-2.png" alt="">
                        </li>
                        <li>
                            <a href="http://bextlan.com"><img src="img/slide-3.png" alt=""></a>
                            <p class="flex-caption">Curso PHP</p>
                        </li>
                    </ul>
                </div>
            </article>
        </section>
        <aside>
            Widgets Sociales
        </aside>
    </section>
    <footer>
        Aprendindo HTML5, CSS3, jQuery y Responsive Web Desing con <a rel ="author" href="http://twitter.com/@bextlan">@bextaln</a>
    </footer>
</body>
</html>

Curso Práctico de HTML5 - Cap 05 Sitio Web en HTML5 Responsive Web Design del Home

Sitio Web en HTML5 Responsive Web Design del Home


Recursos del videotutorial:
http://bextlan.com/recursos/tutoriales/html5/video05-html5.zip

index.html
<!doctype html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Sitio con Responsive Web Desing en HTML5, CSS3 y jQuery</title>
    <meta name="description" content="Bienvenido a mi portafolio web hecho en HTML5, CSS3 y jQuery con Responsive Web Design">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
    <link rel="author" type="text/plain" href="humans.txt" />
    <link rel="stylesheet" href="css/estilos.css">
    <!--[if lt IE 9]>
        <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
</head>
<body>
    <header>
        <h1>
            <a href="index.html">
                <img class = "fade" src="img/bextlan-logo.png" alt="bextlan.com | Lugar de bits, vectores y pixeles">
            </a>
        </h1>
        <nav>
            <ul>
                <li><a href="index.html">Inicio</a></li>
                <li><a href="acerca.html">Acerca de</a></li>
                <li><a href="servicos.html">Servicios</a></li>
                <li><a href="trabajos.html">Trabajos</a></li>
                <li><a href="contacto.html">Contacto</a></li>
            </ul>
        </nav>
    </header>
    <section id="contenido">
        <section id="principal">
            <article id="galeria-inicio">
                Aquí habrá una galería con jQuery
            </article>
        </section>
        <aside>
            Widgets Sociales
        </aside>
    </section>
    <footer>
        Aprendindo HTML5, CSS3, jQuery y Responsive Web Desing con <a rel ="author" href="http://twitter.com/@bextlan">@bextaln</a>
    </footer>
</body>
</html>

estilos.css
Reseteo Univerdal con la ayuda del *: Modelo de caja
*{
    border: 0;
    margin: 0;
    padding: 0;
}
Estructuras que trabajamos con etiquetas semánticas:

article,figcaption,figure,footer,header,hgroup,nav,section {
    display:block;
}

Hoja de Estilos en Cascada

/* Generated by Font Squirrel (http://www.fontsquirrel.com) on February 2, 2014 */

@font-face {
    font-family: 'Chalet';
    src: url('../fonts/Chalet.eot');
    src: url('../fonts/Chalet.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Chalet.woff') format('woff'),
         url('../fonts/Chalet.ttf') format('truetype'),
         url('../fonts/Chalet.svg#Chalet') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Pecita';
    src: url('../fonts/Pecita.eot');
    src: url('../fonts/Pecita.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Pecita.woff') format('woff'),
         url('../fonts/Pecita.ttf') format('truetype'),
         url('../fonts/Pecita.svg#Phalet') format('svg');
    font-weight: normal;
    font-style: normal;
}

body {
    background: #212121 url(../img/fondo.jpg);
    color: #FFF;
    font-family: "Chalet",Helvetica,Verdana;
    font-size: 1em;
}

a {
    color: #57ABB8;
    font-weight: bold;
Para quitarle la underline a los enlaces:
    text-decoration: none;
}
hover: cuando se pasa el ratón por encima
a:hover {
    color:#F60;
}

La etiqueta <figcaption> es únicamente para enmarcar un titular dentro de la etiqueta <figure>. Mas info: wsnetcorp
figcaption {
    font-size: 0.85em;
    padding: 0.25em;
    text-align: center;
}

Para que se ajusten las imágenes y el vídeo al tamaño de la pantalla (objetos flexibles):
img,video {
    max-width: 100%
}

header,section#contenido,footer {
    background: #FFF url(../img/fondo-interno.jpg);
    margin: 0 auto;
    max-width: 90%;
    text-align:center;
}

header h1, nav {
    display:inline-block;
    max-width: 100%;
    vertical-align:middle;
}

Para quitar el punto de la lista (viñetas):
nav ul {
    list-style: none;
}

nav li {
    display:inline-block;
    padding: 0.1em;
    vertical-align:top;
}

nav a {
    background: #FFF;
    border: 0.1em solid #57ABB8;
    border-radius: 0.25em;
    color: #F60;
    display:block;
    font-family:"Pecita", Helvetica, Verdana;
    font-size: 1.4em;
    padding: 0.2em;
Transiciones: para que los cambios se produzcan con cierta transición. in es al principio del efecto. (ms: microsoft explorer, mos: mozilla firefox, o: opera, webkit: safari y chrome)
    -ms-transition: all 0.5s ease-in;
    -mos-transition: all 0.5s ease-in;
    -o-transition: all 0.5s ease-in;
    -webkit-transition: all 0.5s ease-in;
    transition: all 0.5s ease-in;
}

Estilo de una línea discontinua: dashed. Transición out: al final del efecto.
nav a:hover {
    background: #212121;
    border: 0.1em dashed #F60;
    border-radius: 0 0.5em 0 0.5em;
    color: #FFF;
    -ms-transition: all 0.5s ease-out;
    -mos-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

section#principal,aside {
    background: #1E6381;
    border-radius: 0.5em;
    display:inline-block;
    margin: 0 auto;
    max-width: 100%;
    padding: 0.25em;
    vertical-align: top;
    width: 65%;
}

article#galeria-inicio {
    border-radius: 0.5em;
    margin: 0.5em;
    padding: 0.5em;
    text-align: left;
    width: 95%;
}

aside {
    width: 30%
}

aside img {
    border-radius: 0.5em;
}

footer {
    color: #000;
    font-size: 0.85em;
    padding: 0,75em 0;
}

Opacity: equivale al canal alpha (transparencia). Para que el explorer funcione correctamente se utiliza filter:
.fade {
    opacity: 1;
    filter: alpha(opacity=10);
    -ms-transition: all 0.5s ease-in;
    -mos-transition: all 0.5s ease-in;
    -o-transition: all 0.5s ease-in;
    -webkit-transition: all 0.5s ease-in;
    transition: all 0.5s ease-in;    
}

.fade:hover {
    opacity: 0.7;
    filter: alpha(opacity=7);
    -ms-transition: all 0.5s ease-out;
    -mos-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}
Trabajando con MediaQuery: cuando se cumple la condición se modifican los estilos.

Cuando el ancho del navegador es superior a un número determinado de pixeles:
@media(min-width:1081px) {
    header h1{
        text-align: left;
        width: 35%;
    }
    nav {
        text-align: right;
        width: 60%;
    }
}
Cuando el ancho del navegador es iferior a un número determinado de pixeles:
@media(max-width: 1080px) {
    nav li {
        font-size: 1.3em;
    }
    article#galeria-inicio {
        width: 90%;
    }
    aside {
        width: 20%
    }
}

@media(max-width: 800px) {
    nav li {
        font-size: 0.95em;
    }
    article#galeria-inicio {
        width: 88%;
    }
}
@media(max-width: 600px) {
    nav li {
        display:inline-block;
        margin: 0px;
        width: 98%
    }
    
    section#principal {
        margin-bottom: 0.2em;        
    }
    
    section#principal,aside {
        display:block;
        width: 95%
    }

}

sábado, 1 de febrero de 2014

Curso Práctico de HTML5 - Cap 04 Consideraciones al iniciar un sitio web en HTML5

Consideraciones al iniciar un sitio web en HTML5


Empezamos a desarrollar un sitio web estructurado bajo estándares HTML5, CSS3 y JQuery.

Recursos: Conversor de png a ico: http://convertico.com/
Archivos que han intervenido en la web: http://humanstxt.org/ES
sitemap.org: http://www.sitemaps.org/schemas/sitemap/0.9/
Recursos del videotutorial:
http://bextlan.com/recursos/tutoriales/html5/video04-html5.zip

index.html
<!doctype html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Sitio con Responsive Web Desing en HTML5, CSS3 y jQuery</title>
    <meta name="description" content="Bienvenido a mi portafolio web hecho en HTML5, CSS3 y jQuery con Responsive Web Design">
Meta viewport específica (en el content) como se mostrará la página en el dispositivo. en este caso, el ancho de la página se va a ver conforme el ancho del dispositivo y la escala inicial = 1.
    <meta name="viewport" content="width=device-width,initial-scale=1">
Para mostrar un icono en la pestaña del navegador:
    <link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
Archivo txt que contiene la información sobre las personas que han intervenido en la WEB.
    <link rel="author" type="text/plain" href="humans.txt" />
Mapa de sitio que sirve para que los buscadores averiguen como está estructurado nuestro sitio web.
    <link rel="stylesheet" href="css/estilos.css">
Por si nuestra página es visualizada con un navegador antiguo que no entiende la nuevas etiquetas semánticas, con esta instrucción llamamos a un script que genera dinámicamente las nuevas etiquetas (div) con JavaScript.
    <!--[if lt IE 9]>
        <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
</head>
<body>
    
</body>
</html>

humans.txt
/* bextaln.com | Lugar de bits, vectores y pixeles. - http://bextaln.com */

/+ TEAM */
    Creator: Miguel
    Contact: madiazg [at] bextlan.com
    Twiter: @bextlan
    From: Canary Islands - Spain

/* IN MEMORIAL */
    Bryan

/* THANKS */
    ICONOS http://www.iconos.edu-mx

/*SITE */
    Last update: 2014/02/01
    Languaje: Español
    Standars: HTML5, CSS3, JavaScript
    Components: jQuery

    Software: Brackets

sitemap.xml
<?xml version="1.0" encoding="utf-8" ?>
Indica los archivos sobre las que nos vamos a regir para crear nuestro sitemap.
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
Indicamos las páginas web de nuestro sitio
    <url><loc>http://sudominio.com/index.html</loc></url>
    <url><loc>http://sudominio.com/acerca.html</loc></url>
    <url><loc>http://sudominio.com/servicios.html</loc></url>
    <url><loc>http://sudominio.com/trabajos.html</loc></url>
    <url><loc>http://sudominio.com/contacto.html</loc></url>

</urlset>

Curso Práctico de HTML5 - Cap 03 Responsive Design con HTML5 y CSS3

Responsive Design con HTML5 y CSS3


Responsive Design (Diseño Sensible): Adaptación de la página Web a las características de la pantalla donde se está visualizando.


index.html
<!doctype html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="description" content="Estructura Básica en HTML5 y CSS3 con responsive design">
Hoja de Estilo externa:
    <link rel="stylesheet" href="css/estilo.css">
    <title>Estructura Básica Semántica en HTML5 y CSS3</title>
</head>
<body>
    <h1>Estructura Semántica HTML5</h1>
Carácter especial: &lt;
    <header>&lt;header&gt;</header>
    <nav>&lt;nav&gt;</nav>
    <section id="contenedor">
        <section id="principal">
            &lt;section&gt;
            <article>&lt;article&gt;</article>
        </section>
        <aside>&lt;aside&gt;</aside>
    </section>
    <footer>&lt;footer&gt;</footer>
</body>
</html>

estilos.css
Para asignar el estilo a todos los lementos se utiliza *
*{
    margin:0;
    padding:0;
}

Agregar una tipografía externa que no sea segura (true-font) con la ayuda de fontsquirrel:
@font-face {
    font-family: 'chaletmedium';
    src: url('../fonts/chalet-webfont.eot');
    src: url('../fonts/chalet-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/chalet-webfont.woff') format('woff'),
         url('../fonts/chalet-webfont.ttf') format('truetype'),
         url('../fonts/chalet-webfont.svg#chaletmedium') format('svg');
    font-weight: normal;
    font-style: normal;
}

body {
    background: #212121 url(../img/fondo.jpg);
    color: #FFF;
    font-family: "chaletmedium",Helvetica,Verdana;
Equivalencia de los tamaños por defecto: 16px = 12pt = 100% = 1em
1em (unidades relativas) equivale al ancho de la letra M
    font-size: 2em;
}

h1 {
    color: #F60;
Trabajar margen en parejas: arriba-abajo, derecha-izquierda (auto: para permitir centrar) El margen es el espacio que hay entre el borde de la página y los elementos o entre los elementos.
    margin: 0.25em auto;
Alineación del texto:
    text-align:center;
Sombra: distancia con respecto al texto en el eje x, con respecto al eje y, blur (desenfoque), transparencia en formato rgb
    text-shadow: 5px 5px 10px rgba(255,255,255,0.5);
}

header,nav,footer {
    background: #1E6381;
Bordes curvos:
    border-radius: 0.5em;
    margin: 0.5em auto;
Para trabajar con diseño que se ajuste al tamaño de la pantalla del dispositivo, se utiliza max.width, min-width, max-height, min-height.
    max-width: 960px;
    padding: 0.25em;
    text-align:center;
}

section#contenedor {
    margin: 0.5em auto;
    max-width: 960px;
    padding:0;
    text-align:center;
}
#principal {
    background: #1E6381;
    border-radius: 0.5em;
Con display indicamos como se va a mostrar la disposición de los elementos (en linea o en bloque). inline-block: primero se muestra en linea y lo que hay después se comportara como un bloque (un bloque ocupa todo el ancho de la pantalla).
    display:inline-block;    
    margin: 0.25em auto;
    max-width: 960px;
    min-height: 200px;
    padding:0.25em;
Alineación vertical:
    vertical-align: top;
    width: 65%
}

article {
    background:#011E30;
    border-radius: 0.5em;
    min-height: 140px;
    padding: 0.25em;
}

aside {
    background: #1E6381;
    border-radius: 0.5em;
    display:inline-block;    
    margin: 0.25em auto;
    max-width: 960px;
    min-height: 200px;
    padding:0.25em;
    vertical-align: top;
    width: 30%
}