Más semántica en HTML5. Nuevas etiquetas
Aparecen en HTML5 unas cuantas etiquetas semánticas que se utilizarán en lugar de DIV. No significa que hayamos acabado con los DIV, simplemente los utilizaremos cuando realmente queramos crear una capa con unos objetivos nos previstos para los siguientes.
Ahora, en lugar de escribir:
<div id=»cabecera»> Contenido de la cabecera </div>escribiremos:
<header> Contenido de la cabecera </header>Algunas de estas nuevas etiquetas son:
<header>
Cabecera
<hgroup>
El SEO nos dice que debemos tener un H1 único en nuestra página. Para poder poner un segundo H1 en la cabecera y que no afecte al SEO utilizaremos hgroup
<nav>
Para poner el menú principal (normalmente puesto mediante un UL interior). Sólo un NAV por página
<section>
Define un área de contenido única dentro del sitio. Por ejemplo, la sección de noticias de una página.
<article>
Define zonas únicas de contenido independiente. Imagina un artículo es un post de un blog.
<aside>
Cualquier contenido que no esté relacionado con el objetivo principal de la página. Lo usaremos para los laterales, por ejemplo.
<footer>
Es el pie de página
Estructura básica semántica en HTML5
<header> <hgroup> <h1>Otro blog de @guirado_</h1> <h2>Blog de programación de Pedro Guirado</h2> </hgroup> </header> <nav> <ul> <li><a href="#">Menú 1</a></li> <li><a href="#">Menú 2</a></li> </ul> <section> <article>Aquí va un post, con su título en h2</article> <article>Aquí va un post, con su título en h2</article> <article>Aquí va un post, con su título en h2</article> </section> <aside> Barra lateral, por ejemplo un widget de Twitter. </aside> <footer> Pie de página, copyright, etc. </footer>
Toda la información actualizada se puede encontrar aquí:
http://www.w3schools.com/html/html5_new_elements.asp
Etiquetas deprecadas
No serán ya válidas las siguientes etiquetas en HTML5:
- <acronym>
- <applet>
- <basefont>
- <big>
- <center>
- <dir>
- <font>
- <frame>
- <frameset>
- <noframes>
- <strike>
- <tt>
Ejercicio web completa
Intentaremos hacer una web parecida a la siguiente:
Puedes utilizar el siguiente esqueleto:
<html> <head> <title></title> <link rel="stylesheet" type="text/css" href="pagina.css"/> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false"> </script> <script type="text/javascript" src="mimapa.js"></script> <!-- La anterior línea la sustituiríamos por un include de PHP si los mapas de Google Maps API 3 van a leer de MySQL --> </head> <body> <!-- Si utilizamos Google Maps hay que poner onload="inicializar() dentro de la etiqueta body"--> <div id="principal"> <div id="banner"> <?php include ("banner.inc"); ?> </div> <div id="menu"> <?php include("menu.inc"); ?> </div> <div id="content"> <div id="contenido"> <?php include("paginaprincipal.php"); ?> </div> <div id="mapa"> <?php include("mapaderecha.php"); ?> </div> </div> <div id="pie"> <?php include("pie.inc"); ?> </div> </div> </body> </html>
Continuamos desarrollando. Para ver como va quedando todo, creamos un fichero de CSS que nos muestre el aspecto de las capas, luego cambiaremos los colores:
PAGINA.CSS
*{ margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; } body { text-align:center; margin: 0 auto; padding:0px; background: #999999; } #principal{ text-align:left; margin: 0 auto; padding:0px; background: white; width: 850px; } #banner{ background: url('imagenes/desert.jpg') orange; height: 150px; } #menu{ background: green; } #content{ width:100%; float:left; min-height: 500px; background:white; } #contenido{ background: blue; width:650px; float:left; min-height: 500px; } #mapa{ background: yellow; width:200px; float:right; } #pie{ background: red; } /* ***************** CSS PARA MAPA DE CONTACTOS ************************ */ #map_canvas{ margin: 0 auto; padding: 0 auto; width:200px; height:400px; } #mapa h1{ color:red; font-size: 18px; text-align: center; }
Esquema del sitio
MENU.INC
<ul>
<li><a href=»#»>Nuevo contacto</a></li>
<li><a href=»paginalistado.php»>Listado</a></li>
<li><a href=»#»>Borrar</a></li>
<li><a href=»#»>Búsqueda</a></li>
</ul>
PAGINAPRINCIPAL.PHP
<h1>Contenido principal</h1> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
BANNER.INC
<h1>Mi página personal</h1>
PIE.INC
<ul> <li><a href="#">Contacto</a></li> <li><a href="#">Como llegar</a></li> <li><a href="#">Copy right</a></li> </ul>
MAPADERECHA.PHP
<h1>Mapa de mis contactos</h1> <div id="map_canvas"> </div>
MAPA.INC
<script type="text/javascript"> function inicializar(){ var ventana; var latitudlongitud = new google.maps.LatLng(37.206167,-3.614254); var opciones = { zoom: 12, center: latitudlongitud, mapTypeId: google.maps.MapTypeId.ROADMAP }; var mapa = new google.maps.Map(document.getElementById("map_canvas"),opciones); <?php // Conecta con BD y ejecutar consulta // Conectar con el Servidor $link = mysql_connect("localhost", "root", "acrear2012") or die ("No puedo conectarme con el servidor"); // Usar la BD mysql_select_db("agenda",$link) or die ("No puedo abrir la BD"); // Hacer la consulta $consulta= "SELECT * FROM agenda"; // Consulta por defecto $resultado = mysql_query($consulta, $link) or die ("No puedo ejecutar la consulta"); // Voy leyendo fila a fila while ($fila = mysql_fetch_array($resultado)){ $latitud=$fila['X']; $longitud=$fila['Y']; $id=$fila['id']; $nombrecompleto= $fila['nombre'].' '.$fila['apellido1'].' '.$fila['apellido2']; $direccion=$fila['direccion']; $provincia=$fila['provincia']; $telefono=$fila['telefono']; $correo=$fila['email']; $fecha=$fila['fechanacimiento']; echo "var coordenadas = new google.maps.LatLng($latitud,$longitud); var marcador$id = new google.maps.Marker({ position: coordenadas, map: mapa, title: '$nombrecompleto', icon: 'imagenes/statue-2.png' }); var cadena$id='<div>' +'<h1>$nombrecompleto</h1>' +'<p>$direccion ($provincia)</p>' +'<p>Teléfono: $telefono</p>' +'<p>email: $correo</p>' +'<p>Fecha de nacimiento: $fecha</p>' +'<p><img src=\"imagenes/pepito.jpg\" alt=\"foto de pepito\" width=50px/></p>' +'</div>'; google.maps.event.addListener(marcador$id, 'click', function() { if (ventana) ventana.close(); ventana = new google.maps.InfoWindow({content: cadena$id}); ventana.open(mapa,marcador$id); }); "; } mysql_close($link); ?> } </script>
PAGINALISTADO.PHP
<html> <head> <title></title> <link rel="stylesheet" type="text/css" href="pagina.css"/> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false"></script> <?php include("mapa.inc"); ?> <!-- <script type="text/javascript" src="mimapa.js"></script> La anterior línea la sustituiríamos por un include de PHP si los mapas de Google Maps API 3 van a leer de MySQL --> </head> <body onload="inicializar()"> <!-- Si utilizamos Google Maps hay que poner onload="inicializar() dentro de la etiqueta body"--> <div id="principal"> <div id="banner"> <?php include ("banner.inc"); ?> </div> <div id="menu"> <?php include("menu.inc"); ?> </div> <div id="content"> <div id="contenido"> <?php include("provincia.inc"); ?> </div> <div id="mapa"> <?php include("mapaderecha.php"); ?> </div> </div> <div id="pie"> <?php include("pie.inc"); ?> </div> </div> </body> </html>
PROVINCIA.INC
<SCRIPT LANGUAGE=’JavaScript’>
<!–
function actualizaPagina ()
{
i = document.forms.formulario.prov.selectedIndex;
categoria = document.forms.formulario.prov.options[i].value;
window.location = ‘paginalistado.php?prov=’ + categoria;
}
// –>
</SCRIPT>
<h1>Todos mis contactos</h1>
<form name=»formulario» action=»paginalistado.php» method=»get»>
Mostrar contactos por provincia:
<select name=»prov» onchange=’actualizaPagina()’>
<?php
if (!isset($_GET[‘prov’])){ // Si yo he escrito listadoporprovincia.php sin parámetros
echo «<option value=’Todas’ selected>Todas</option>»;
}
elseif ($_GET[‘prov’]==»Todas»){
echo «<option value=’Todas’ selected>Todas</option>»;
}
else{
echo «<option value=’Todas’>Todas</option>»;
}
// Conectar con el Servidor
$link = mysql_connect(«localhost», «root», «acrear2012»)
or die («No puedo conectarme con el servidor»);
// Usar la BD
mysql_select_db(«agenda»,$link)
or die («No puedo abrir la BD»);
// Hacer la consulta
$consulta= «SELECT provincia FROM agenda GROUP BY provincia»;
$resultado = mysql_query($consulta, $link)
or die («No puedo ejecutar la consulta»);
// Voy leyendo fila a fila
while ($fila = mysql_fetch_array($resultado)){
echo «<option value='».$fila[‘provincia’].»‘»;
if (isset($_GET[‘prov’]))
if ($_GET[‘prov’]==$fila[‘provincia’])
echo » selected»;
echo «>».$fila[‘provincia’].»</option>\n»;
}
mysql_close($link);
?>
</select>
</form>
<table>
<tr>
<th>NOMBRE</th><th>DIRECCIÓN</th><th>TELÉFONO</th><th>EMAIL</th><th>PROVINCIA</th>
</tr>
<?php
// Conectar con el Servidor
$link = mysql_connect(«localhost», «root», «acrear2012»)
or die («No puedo conectarme con el servidor»);
// Usar la BD
mysql_select_db(«agenda»,$link)
or die («No puedo abrir la BD»);
// Hacer la consulta
if (!isset($_GET[‘prov’]))
$consulta= «SELECT * FROM agenda»;
elseif ($_GET[‘prov’]==»Todas»)
$consulta= «SELECT * FROM agenda»;
else
$consulta=»SELECT * FROM agenda WHERE provincia='».$_GET[‘prov’].»‘»;
$resultado = mysql_query($consulta, $link)
or die («No puedo ejecutar la consulta»);
// Voy leyendo fila a fila
$i=0;
while ($fila = mysql_fetch_array($resultado)){
if ($i%2==0){
echo «<tr>»;
}
else{
echo «<tr id=’naranja’>»;
}
$i++;
// Celda del Nombre completo = Nombre + Apellido1 + Apellido2
echo «<td>».$fila[‘nombre’].» «.$fila[‘apellido1’].» «.$fila[‘apellido2’].»</td>»;
// Celda de la dirección
echo «<td>».$fila[‘direccion’].»</td>»;
// Celda del teléfono
echo «<td>».$fila[‘telefono’].»</td>»;
// Celda del email
echo «<td>».$fila[‘email’].»</td>»;
echo «<td>».$fila[‘provincia’].»</td>»;
echo «</tr>\n»;
}
mysql_close($link); // Cerrar la conexión
?>
</table>
…
Menú vertical – vertical con CSS
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es-es"> <head> <title>Menu desplegable vertical - vertical solo CSS</title> <style type="text/css"> * { margin: 0px; padding: 0px; outline: 0; } body { background: #366; font-family: Verdana, Arial, Helvetica, sans-serif; } #menu { text-align: center; font-size: 0.7em; width: 320px; margin: 20px; position: absolute; left:20px; top: 20px; } #menu ul { list-style-type: none; } #menu>ul>li { width: 162px; } #menu ul li.primera { border-top: solid 1px #FFF; } #menu ul li a { display: block; text-decoration: none; color: #fff; background-color: #399; border: solid 1px #fff; border-top: none; padding: 8px; position: relative; } #menu ul li:hover { position: relative; /* Gracias a esto conseguimos que el submenu se despliegue a la altura del elemento de primer nivel */ background-color: #6CC; color: #000; } #menu ul li a:hover, #menu > ul > li:hover > a { /* Para que cambie el color del item seleccionado */ background-color: #6CC; color: #000; position: relative; } #menu>ul>li>a { display: block; position: relative; } #menu ul li ul { /* para que el submenú esté oculto */ display: none; } #menu ul li:hover ul { /* para que se muestre el submenú */ display: block; position: absolute; /* para que se muestre a la derecha del menú */ left: 161px; top:-1px; } #menu ul li ul li a { width: 160px; background-color: #6CC; color: #000; } #menu ul li ul li a:hover { position: relative; background-color: #399; color: #FFF; } </style> </head> <body> <div id="menu"> <ul> <li><a href="#">Opción 1</a> <ul> <li><a href="#">Opción 1.1</a></li> <li><a href="#">Opción 1.2</a></li> </ul> </li> <li><a href="#">Opción 2</a> <ul> <li><a href="#">Opción 2.1</a></li> <li><a href="#">Opción 2.2</a></li> <li><a href="#">Opción 2.3</a></li> <li><a href="#">Opción 2.4</a></li> <li><a href="#">Opción 2.5</a></li> </ul> </li> <li><a href="#">Opción 3</a> <ul> <li><a href="#">Opción 3.1</a></li> <li><a href="#">Opción 3.2</a></li> <li><a href="#">Opción 3.3</a></li> </ul> </li> <li><a href="#">Opción 4</a> <ul> <li><a href="#">Opción 4.1</a></li> <li><a href="#">Opción 4.2</a></li> <li><a href="#">Opción 4.3</a></li> <li><a href="#">Opción 4.4</a></li> </ul> </li> <li><a href="#">Opción 5</a> <ul> <li><a href="#">Opción 5.1</a></li> <li><a href="#">Opción 5.2</a></li> <li><a href="#">Opción 5.3</a></li> </ul> </li> </ul> </div> </body> </html>
Ejercicio 16 CSS. Menú de dos niveles.
Hay que hacer una página como la siguiente:
Cada uno de los menús tiene un submenú que es una lista de dos elementos: «Nested Item».
El texto es:
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis eu leo. Pellentesque massa. Phasellus ut sem luctus arcu ullamcorper aliquet. Mauris turpis turpis, posuere non, cursus a, blandit vel, massa. Nunc nisl urna, sodales quis, consectetuer nec, rutrum quis, orci. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst. Vivamus malesuada. Vestibulum ornare erat nec orci. Ut in ipsum. Praesent mi. Donec commodo nisl vel lectus. Proin volutpat, lectus eu elementum porta, libero metus feugiat ante, in pretium augue velit id tortor. Ut dictum, nulla ut hendrerit posuere, dui dolor consectetuer ipsum, non molestie mauris ante id purus.
Las imágenes PNG (flechas):
Menú de dos niveles con CSS
Vamos a crear un menú como el siguiente:
Ver funcionando el menú.
Código HTML:
<ul id="nav"> <li><span>Menu 1</span> <ul> <li><a href="#">Menu item 1</a></li> <li><a href="#">Menu item 2</a></li> <li><a href="#">Menu item 3</a></li> </ul> </li> <li><span>Menu 2</span> <ul> <li><a href="#">Menu item 1</a></li> <li><a href="#">Menu item 2</a></li> <li><a href="#">Menu item 3</a></li> </ul> </li> <li><span>Menu 3</span> <ul> <li><a href="#">Menu item 1</a></li> <li><a href="#">Menu item 2</a></li> <li><a href="#">Menu item 3</a></li> </ul> </li> </ul>
Código CSS:
#nav { margin:0px; padding:0px; position:absolute; top: 30px; display:block; } #nav > li { list-style-type:none; float:left; display:block; margin:0px 10px; position:relative; padding:10px; width:150px; } #nav > li:hover ul { display:block; } #nav > li:hover { background-color:#808080; } #nav li ul { margin:0px; padding:0px; display:none; } #nav li ul li { list-style-type:none; margin:10px 0 0 0; } #nav li ul li a { display:block; padding:5px 10px; color:#A2E200; text-decoration:none; } #nav li ul li:hover a { background-color:#606060; } #nav li span { cursor:pointer; margin:0px 10px; font-weight:bold; }
…
Truco 4 CSS. Navegación rotada
Construye el siguiente menú:
Utiliza las siguientes CSS:
#list8 { } #list8 ul { list-style:none; } #list8 ul li { font-family:Georgia,serif,Times; font-size:18px; } #list8 ul li a { display:block; width:300px; height:28px; background-color:#333; border-left:5px solid #222; border-right:5px solid #222; padding-left:10px; text-decoration:none; color:#bfe1f1; } #list8 ul li a:hover { -moz-transform:rotate(-5deg); -moz-box-shadow:10px 10px 20px #000000; -webkit-transform:rotate(-5deg); -webkit-box-shadow:10px 10px 20px #000000; transform:rotate(-5deg); box-shadow:10px 10px 20px #000000; }
..ENLACE:
Ejercicio 10. CSS. Menú
Modificar el menú vertical sencillo para que muestre el siguiente comportamiento:
- Los elementos deben mostrar una imagen de fondo (
flecha_inactiva.png
):Figura. Menú vertical con imagen de fondo
- Cuando se pasa el ratón por encima de un elemento, se debe mostrar una imagen alternativa (
flecha_activa.png
):Figura. Menú vertical con imagen de fondo alternativa
- El color de fondo del elemento también debe variar ligeramente y mostrar un color gris más oscuro (
#E4E4E4
) cuando se pasa el ratón por encima:Figura. Menú vertical con imagen de fondo y color alternativos
- El comportamiento anterior se debe producir cuando el usuario pasa el ratón por encima de cualquier zona del elemento del menú, no solo cuando se pasa el ratón por encima del texto del elemento:
Figura. Aspecto final del menú vertical avanzado creado con CSS
Imágenes:
Menu Horizontal Sencillo con CSS
<div id="menuh"> <ul> <li><a href="#menuh" id="primero">Inicio</a></li> <li><a href="#menuh">Comentarios</a></li> <li><a href="#menuh">Noticias</a></li> <li><a href="#menuh">Contacto</a></li> <li><a href="#menuh">Acerca de nosotros</a></li> </ul> </div>
CSS: #menuh { font: 80% "Trebuchet MS", Arial, Helvetica, sans-serif; margin-top: 20px; } #menuh ul, li { list-style-type: none; } #menuh ul { margin: 0; padding: 0; } #menuh li { float: left; } #menuh a { text-decoration: none; color: #3366CC; background: #F0F7FC; display: block; padding: 3px 10px; text-align: center; border: 1px solid #ACCFE8; border-width: 1px 1px 1px 0; } #menuh a#primero { border-left: 1px solid #ACCFE8; } #menuh a:hover { background: #DBEBF6; }
Ventajas
- Poco peso: al ser código simple, ocupa poco espacio, y esto también ayuda a la carga rápida de la página.
- Manejable: se puede cambiar fácilmente los colores y efectos gracias a CSS.
- Simple: el código es sencillo de entender, no se complica tanto como los menús a base de tablas y JavaScript.
- Accesible: el usuario puede usar el menú aunque tenga discapacidad o esté navegando en cualquier dispositivo o navegador.
Menú vertical sencillo
HTML:
<div id="menuv"> <ul> <li><a href="#menuv">Inicio</a></li> <li><a href="#menuv">Comentarios</a></li> <li><a href="#menuv">Noticias</a></li> <li><a href="#menuv">Contacto</a></li> <li><a href="#menuv">Acerca de nosotros</a></li> </ul> </div>
CSS:
#menuv { border: 1px solid #ACCFE8; border-width: 1px 1px 0 1px; width: 150px; font: 80% "Trebuchet MS", Arial, Helvetica, sans-serif; } #menuv ul, li { list-style-type: none; } #menuv ul { margin: 0; padding: 0; } #menuv li { border-bottom: 1px solid #ACCFE8; } #menuv a { text-decoration: none; color: #3366CC; background: #F0F7FC; display: block; padding: 3px 6px; width: 138px; } #menuv a:hover { background: #DBEBF6; }
El área de trabajo de Photoshop
Una vez abierto el programa observaremos diferentes barras y paneles distribuidos en el entorno de trabajo. Abramos una imagen de prueba para que todas las opciones se encuentren disponibles. Recuerda que podemos abrir nuestros archivos a través del menú Archivo → Abrir.
Una vez abierta la imagen, todas las barras y paneles se encuentran activos y el área de trabajo toma esta forma:
Puedes hacer que la disposición de los paneles y barras vuelvan al estado predeterminado haciendo clic en la opción Ventana → Espacio de trabajo → Espacio de trabajo por defecto:
Otra de las opciones que se te presentan es seleccionar un espacio de trabajo predefinido, podrás seleccionar entre Análisis de imagen, Automatización, Básico, Corrección tonal y de color, Diseño Web, etc…
Todos estos tipos de espacio mostrarán unas paletas u otras (normalmento todas tienen las mismas), y destacarán las opciones de menú más utilizadas para las diferentes tareas. Estos modos son muy útiles para trabajar con más comodidad pues visualmente te será más rápido acceder a una opción de esta forma.
La barra de menú
La barra en el extremo superior es la Barra de Menú, esta barra aparece en la mayoría de programas por lo que ya debes estar acostumbrado a ella. Desde aquí podrás acceder a diferentes opciones de menú, como por ejemplo abrir un archivo, guardarlo y luego cerrarlo. También podrás acceder a opciones mucho más complejas que iremos viendo a lo largo del curso.
Leitmotiv
Dalek-free
adsense
Entradas recientes
Archivos
- febrero 2019
- marzo 2018
- febrero 2018
- enero 2018
- junio 2017
- May 2017
- abril 2017
- marzo 2017
- febrero 2017
- octubre 2016
- agosto 2016
- May 2016
- abril 2016
- marzo 2016
- noviembre 2015
- octubre 2015
- septiembre 2015
- agosto 2015
- julio 2015
- junio 2015
- May 2015
- marzo 2015
- febrero 2015
- diciembre 2014
- octubre 2014
- septiembre 2014
- agosto 2014
- junio 2014
- May 2014
- abril 2014
- marzo 2014
- febrero 2014
- enero 2014
- diciembre 2013
- noviembre 2013
- septiembre 2013
- agosto 2013
- julio 2013
- junio 2013
- May 2013
- abril 2013
- marzo 2013
- enero 2013
- noviembre 2012
- octubre 2012
- septiembre 2012
- agosto 2012
- julio 2012
- junio 2012
- May 2012
- abril 2012
Categorías
TAGs
accesorios access access 2007 apache archivos array base de datos borrar capa capas carpetas consulta contraseña crear create css cuenta de usuario cuentas diagrama diseño div drivers E/R ejercicio entidad excel explorador de windows fecha formulario get google chart google maps google maps api 3 gráfico gráficos hardware herramientas del sistema html html5 imagen instalar javascript jQuery linux lista mapa MariaDB menu MySQL operadores panel de control password photoshop php PhpMyAdmin programas redes relación selección select SQL tabla tablas table texto truco ubuntu update usuarios ventana web wifi windows windows 7 winzipApache en Ubuntu
Arquitectura
Base de datos
- Base de datos de ejemplo VERDULEROS
- Códigos postales
- Curso Access 2007
- Curso de MySQL
- DB Designer Fork – Opensource diseño diagramas E/R
- Funciones en MySQL
- Fundamentos de bases de datos
- Generatedata.com
- Importar/exportar bases de datos
- MySQL Workbench
- Otro curso de MySQL
- Sintaxis de sentencias de MySQL
- Tutorial de SQL
Desarrollo web
- Aprende OpenStreetMap Paso a Paso
- Aptana
- Codepen.io Para probar HTML, CSS y JS
- Control Calendario en Javascript
- CSS 2.1. Especificación [en Inglés].
- Curso de HTML Básico
- Curso HTML de Desarrolloweb.com
- Especificación HTML 4.01
- Generador de Botones Web con CSS
- Google Chart Tools
- Google Maps Icons
- Guía Breve de CSS
- Guía de Referencia CSS
- Herramienta online para generar mapas web
- HTML 4.01 Specification [Inglés]
- Introducción a Google Maps API 3
- Introducción a las CSS
- Joomla Spanish
- JQuery Mobile
- jsfiddle.net – Probando online HTML + CSS + JAVASCRIPT
- Manual de CSS
- Mi github
- Optimizar Imágenes
- Otra guía de referencia CSS
- PHP
- Recursos CSS
- Referencia de Google Maps API
- Repositorio de código GitHub
- Tabla caracteres especiales &
- TPV virtual – Pagos online
- XHTML 1.0: El Lenguaje de Etiquetado Hipertextual Extensible
HTML 5
Mapas en la web
Metodología
Mis otras páginas
Multimedia
PHP
Programación para niños
Webs desarrolladas en el curso
Estadísticas
- 1.023.768 visitas