ff-multiconverter, multimedia, audio, video, linux, ubuntu ubuntu kylin, china, releases, linux terminal, ubuntu, linux, comandos, shell conky, gadgets, ubuntu, linux SpeedTest-Cli, velocidad, red, consola, terminal tag foto 6 pinta, grafica, linux, ubuntu djl, juegos, yum, synaptic, paquetes ubuntu, releases, canonical psensor, ubuntu, linux, sistema, monitor

Infografía sobre la industria mobile en números.

iPhone-5-Android-MarketMuy completa infografía sobre la industria la industria mobile, mostrándonos el exponencial crecimiento de la venta de smartphone en los últimos trimestres, como la penetración de Android en el mercado con presencia en 2/3 de los teléfonos vendidos en 2012, aunque Apple lo supera todavía en aplicaciones disponibles en el AppStore.

Un punto interesante es que Apple tiene el 33% del mercado de venta de smartphones frente a un 30% de Samsung, pero la primera arrasa con un 70% de las ganancias totales, mientras que Samsung sólo el 28% (bueno, es llamativa la diferencia, pero no creo que sea poco dinero ese 28%).

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Como recuperar una clave de root olvidada, metodo 2.

clave root olvidadaPodemos encontrarnos con la situación de que hemos perdido u olvidado la contraseña de superusuario o root que creamos cuando instalamos Ubuntu y ahora nos encontramos con que no podemos administrar nuestro sistema.

Al iniciar el ordenador y cuando nos sale el Grub, seleccionamos arrancar en modo recovery (recuperación).

Nota: para los que os arranca Ubuntu directamente sin poder ver el Grub: lo haremos después de que carge la placa base pulsando escape, si no funciona pulsa shift, para entrar en el menú del grub.

Y en el menu del Grub que nos aparece, elige recovery mode (recuperación)
  • En el submenú que aparece elige "netroot" ("root" en las nuevas versiones), para colocarnos como superusuario sin contraseña.
  • Con este comando podemos solucionar el error: "Authentication token manipulation error passwd: password unchanged":
    Montamos de nuevo la raíz del sistema con permisos de escritura y lectura con el comando:
mount -rw -o remount /
  • Ahora cambia tu contraseña ejecutando el comando:
passwd tu_nombre_usuario
  • Pulsa Enter y escribe tu nueva contraseña, no se verá nada en la pantalla, no te preocupes, es por seguridad, pero en realidad está escribiendo

  • Pulsa enter y te pedirá que la repitas. La escribes de nuevo y vuelves a pulsar Enter

  • Apaga el sistema con el comando:
shutdown -r now

  • Pulsa enter y arranca el ordenador de forma normal, con tu nombre de usuario y la nueva contraseña.
Y listo ya tenemos solucionado el problema.
 
No olviden anotar o, mejor aún, aprender de memoria la contraseña para que no les pase otra vez.

Nota: Si activamos la cuenta de superusuario o root nos pedirá la contraseña, que le hemos dado, para poder acceder a la terminal en Netroot.
Ojo, si la activamos y luego no nos acordamos ya no podemos acceder a la consola de Netroot para reparar cualquier problema.

Para activarla sigan esta guía:

http://www.ubuntu-guia.com/2010/09/activar-desactivar-root-ubuntu.html.

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Como recuperar una clave de root olvidada (y cambiarla), metodo 1.

clave root olvidadaPodemos encontrarnos con la situación de que hemos perdido u olvidado la contraseña de superusuario o root que creamos cuando instalamos Ubuntu y ahora nos encontramos con la poco agradable sorpresa de que no podemos administrar nuestro sistema.

En ese caso caso: què hacer?

Cuando inicias el ordenador y en el arranque muestra el pantallazo inicial, es decir el pantallazodel grub, tenemos que seleccionar editar con la letra "e" y nos apoarecerà de inmediato una ventana de edicion como lo muestran las dos imàgenes a continuaciòn:


Lo siguiente es que nos aparece una ventana de edicion:

Localizamos la linea que dice:
linux /boo/vmlinuz-3.2.0-4-amd64 root=UUID=e341529e-73d0-4432-bc7c0-1d57d97311de ro quiet 

Al final de esta linea se debe agregar:
init=/bin/bash

Quedando tal cual lo muestra la imagen.

Despues de hecho esto se procede a presionar la tecla F10 para que el sistema siga en su arranque en el cual nos aparecera una shell o terminal logueada como root, donde se debe escribir la siguiente linea:
mount -o remount -rw /


Despues de esto se continua a cambiar la contraseña root ejecutando el comando: 
passwd root

Ingresamos la nueva contraseña (si queremos cambiarla para mayor seguridad):

Y si todo ha salido bien como lo planeado veremos lo siguiente:
Ahora solo queda reiniciar el ordenador para iniciar sesion ya con la nueva clave previamente establecidad con el comand:
shutdown now -arn

Y listo ya podremos inicar sesion como root.

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Cómo cambiar colores de temas gtk 3.x

En GNOME 2 (y ahora en MATE), podíamos cambiar los colores de los Temas de Escritorio con una herramienta llamada Preferencias de Apariencia.
Pero en GNOME 3 no tenemos una herramienta similar a ella.
Existen herramientas como GNOME Tweak Tool, Ubuntu Tweak, Unity Tweak Tool o MyUnity para seleccionar los Temas, pero carecen de capacidad para cambiar los colores de los Temas.
Como amante de la personalización que soy y a la espera de que algún desarrollador se lance a crear una "Gui" (aplicación gráfica) les dejo como hacerlo desde la todopoderosa Terminal (esa cosa tan rara) que nos permite hacer de todo y por ende desde el editor dconf (gui de configuración de GNOME y el sistema).
Para los noveles decir que los comandos lo que hacen es modificar directamente el dconf sin necesidad de abrirlo, pero podemos hacerlo de las 2 formas.

Es aconsejable tener instalado el editor dconf:
 
sudo apt-get install dconf-tools
Cambiar las escenas de color:

Antes de comenzar, vamos a explicar que es lo que podemos cambiar y la nomenclatura de las propiedades y su significado:

base_color:
Es el color de fondo base


text_color:
Es el color del texto base

bg_color:
Es el color de fondo de los laterales de las ventanas


fg_color:
Es el color del texto de los laterales de las ventanas

selected_bg_color:
Es el color de fondo de los elementos seleccionados

selected_fg_color:
Es el color del texto de los elementos seleccionados

tooltip_bg_color:
Es el color de fondo de los globos de información

tooltip_fg_color:
Es el color del texto en los globos de información

Se pueden modificar todas las propiedades o solo algunas, dependiendo de nuestro gusto o necesidad.
En los ejemplos que dejo voy a usar la siguiente escena de color:


tooltip_bg_color:#941817;

bg_color:#B6B6B6;

selected_bg_color:#9F81F7;
base_color:#C6C6C6;
Los colores van en formato hexadecimal (#941817) y se ponen detrás de la propiedad y los dos puntos, terminando cada elemento con un punto y coma, para separar las distintas propiedades: "nombre_propiedad:#941817;"

Podéis buscar el código hexadecimal de los colores en:
http://html-color-codes.info/codigos-de-colores-hexadecimales/
Para Unity, GNOME 3 (Shell / Classic) y Cinnamon: 

Abrimos el "Editor de dconf" y navegamos en el árbol de rutas de la izquierda hasta: "org > gnome > desktop > interface" y en la propiedad "gtk-color-scheme" pegamos nuestra escena de color. Por ejemplo:
tooltip_bg_color:#941817;bg_color:#B6B6B6;selected_bg_color:#9F81F7;base_color:#C6C6C6;
Para restaurarlo por defecto lo dejamos vacío.

Desde la terminal haríamos lo mismo con el comando:
gsettings set org.gnome.desktop.interface gtk-color-scheme "tooltip_bg_color:#941817;bg_color:#B6B6B6;selected_bg_color:#9F81F7;base_color:#C6C6C6;"

Para restaurarlo por defecto:
gsettings set org.gnome.desktop.interface gtk-color-scheme ""

Nota: No todos los temas GTK 3.x aceptarán estos cambios ya que deben de estar escritos dinámicamente y ser flexibles,. Los más famosos y los que vienen por defecto instalados si lo admiten.

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Como instalar Ruby Version Manager (RVM) en Debian.

rvmRuby es un lenguaje que ha madurado muchísimo en los últimos años.
Al principio sólo existía un intérprete, el de Matz, y su rendimiento no era lo que se dice espectacular (el propio Matz ha admitido en varias ocasiones que él no es un experto en la construcción de este tipo de software, y que buena parte del código debería ser revisado y optimizado).
Primero deberian actualizar su sistema bien sea con el uso del gestor de actualizaciones o usando el terminal. Ya teniendo actualizado su sistema vamos a lo que nos concierne.
Abrimos el terminal en modo administrador simplemente tecleamos:
sudo su
Puede instalar un servidor SSH, para que puedan trabajar a través de SSH en lugar de en la consola:
root@jrdohko:/home/jrdohko# aptitude-y install-servidor OpenSSH
Instalan paquetes requeridos para rvm
root@jrdohko:/home/jrdohko# openssl apt-get-y install build-essential libreadline6 libreadline6-dev rizo git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev autoconf libxslt-dev ncurses-libc6-dev dev automake libtool bisonte subversión python
Luego salen del modo root:
rvm2
exit
Procedemos a instalar rvm:
jrdohko@jrdohko:~$ curl-L https://get.rvm.io | bash-s estable
jrdohko@jrdohko:~$ source ~ / .rvm / scripts / rvm
Probamos que rvm se ha instalado correctamente
jrdohko@jrdohko:~$ rvm –v
Les debe arrojar una respuesta como esta:
rvm 1.19.6 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
Pasamos luego a instalar Ruby:
jrdohko@jrdohko:~$ rvm install 2.0.0
Verificamos la instalacion de Ruby:
jrdohko@jrdohko:~$ ruby –v
Editamos *.bashrc*:
sudo gedit ~/.bashrc
Y dentro del archivo que se abrirá, añadiremos hasta abajo la siguiente línea:
source "/usr/local/rvm/scripts/rvm"
Guardan y seguimos.
Actualizamos las gemas.
jrdohko@jrdohko:~$ gem update --system
jrdohko@jrdohko:~$ gem install rubygems-update
jrdohko@jrdohko:~$ gem install rails
Comprobamos la instalacion de rails:
jrdohko@jrdohko:~$ rails -v
Rails 3.2.13
rvm1
Cómo crear un gemset.
Como mencionaba anteriormente, podemos crear conjuntos de gemas separadas para cada proyecto. Tan sólo hay que especificar un nombre para ese gemset, y utilizar las herramientas que rvm proporciona (puedes escribir “rvm gemset” para ver todos los comandos disponibles). Por ejemplo, podemos crearnos un gemset para el proyecto 1, y cambiarnos a él:
rvm gemset create proyecto1
rvm gemset use proyecto1
Es importante entender que el gemset se crea para el intérprete que estemos usando en ese momento. De modo que antes de crear un gemset, selecciona el intérprete adecuado.
Cómo automatizar el cambio de intérprete y gemset.
No quisiera finalizar el artículo sin mencionaros una vía rápida para que, al cambiar a la carpeta de un proyecto, RVM os seleccione el intérprete y gemset adecuados de forma automática. Para ello, sólo tenéis que crear un fichero de nombre “.rvmrc” en la carpeta en cuestión, y éste contendrá la serie de comandos necesarios para realizar estas operaciones.
Cuando entréis en dicha carpeta desde línea de comandos, RVM ejecutará dichas acciones, y todo estará listo para empezar a trabajar. Por ejemplo, podéis tener algo como esto (que no es más que un atajo a la selección del intérprete y del gemset, creando este último en el camino en caso de que no exista, todo en un único comando):
rvm —create 1.9.2@proyecto2
rvm3
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Guia HTML: validación de la página a través de un enlace, hojas de estilo y propiedades.

html-questionsEn una reciente limpieza a mi disco duro he encontrado esta guia que tenia guardada por ahi y creo que esta muy buena para empezar y conocer las nociones basicas del HTML.

Validación de la página a través de un enlace.
La W3C nos permite disponer un ícono como enlace a su validador de páginas HTML:
<p>
<a href="http://validator.w3.org/check?uri=referer"><img
src="http://www.w3.org/Icons/valid-html401"
alt="Valid HTML 4.01 Strict" height="31" width="88"></a>
</p>

Confeccionemos una página y probemos el enlace al validador:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Mi primer pagina</title>
</head>
<body>
<p>PHP - Java - JavaScript - C - C++</p>
<p>
<a href="http://validator.w3.org/check?uri=referer"><img
src="http://www.w3.org/Icons/valid-html401"
alt="Valid HTML 4.01 Strict" height="31" width="88"></a>
</p>
</body>
</html>

Solamente agregamos el párrafo que contiene el hipervínculo al sitio que realiza la validación. Gran cantidad de sitios tienen este ícono o alguno similar para indicar que sus páginas cumplen con el HTML Transitional o estrícto.

Conceptos básicos de hojas de estilo.

Creo que este curso de HTML debe finalizar con los conceptos básicos de CSS (Cascade Style Sheet) es decir Hojas de Estilo.

En las primeras versiones de HTML se comenzaron a introducir elementos con la finalidad de mejorar la "presentación" del "contenido" de la página. Así aparecieron elementos para definir las fuentes, tamaños, colores, alineamiento de textos y bloques etc.

Luego se creo otra tecnología que separa el "contenido" de la "presentación", esta es la de Hojas de Estilo. Con esto quedó perfectamente definido el objetivo de HTML (disponemos contenido) y CSS (definimos la presentación de ese contenido).

Durante todos los conceptos anteriores me contuve para emplear algún elemento HTML de presentación que mejorara la página por lo que ahora introduciré conceptos mínimos para aplicar CSS en forma básica.

Veamos la sintaxis para aplicar color de frente y fondo a un elemento HTML mediante CSS:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>título página</title>
</head>
<body>
<h1 style="color:#0000ff">Noticias del día.</h1>
<p style="color:#888888;background-color:#ffffdd">
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
Aquí la descripción de la noticia. 
</p>
</body>
</html>

La propiedad que debemos inicializar se llama style y la tienen todos los elementos HTML. En este primer ejemplo inicializamos las propiedades color (define el color del texto) y background-color (define el color de fondo del texto).

Cada vez que inicializamos una propiedad debemos separarla de la siguiente por punto y coma.

Para definir un color lo debemos hacer indicando la candidad de rojo,verde y azul (color:#0000ff). Los dos primeros números indican la cantidad de rojo (en este caso cero), luego la cantidad de verde (en este caso 0) y por último la cantidad de azul (en este caso ff). Como podemos observar el valor lo debemos indicar en formato hexadecimal.

Hasta ahora siempre que disponíamos un título aparecía de color negro. El negro es el estilo por defecto que tiene definido todos los elementos de títulos, si queremos variar dicho valor debemos hacerlo mediante CSS.

Las hojas de estilo si son sensibles a mayúsculas y minúsculas, por lo que color no es lo mismo que definir COLOR.

Las propiedades que definimos dentro de style deben ir separadas por punto y coma.

Propiedades relacionadas al texto en CSS.
 
Vimos en la introducción de CSS la propiedad color.

Tenemos otras propiedades relacionadas al texto que paso a enunciarlas:
  • text-align Esta propiedad define el alineamiento del texto y puede tomar alguno de estos cuatro valores: left, right, center,justify

    text-align:center;

    El texto aparecerá centrado. Si queremos justificar a derecha, emplearemos el valor right y si queremos a la izquierda, el valor será left.
  • text-decoration Esta propiedad nos permite entre otras cosas que aparezca subrayado el texto, tachado o una línea en la parte superior, los valores posibles de esta propiedad son: none, underline, overline, line-through
  • letter-spacing Esta propiedad permiten indicar el espacio que debe haber entre los caracteres.
  • word-spacing La propiedad word-spacing permiten indicar el espacio que debe haber entre las palabras.
  • text-indent La propiedad indenta la primera linea de un texto. A partir de la segunda línea, el texto aparece sin indentación. Podemos indicar un valor negativo con lo que la indentación es hacia la izquierda.
  • text-transform la propiedad puede inicializarse con alguno de los siguientes valores: none - capitalize - lowercase - uppercase.

    Cada uno de estos valores transforman el texto como sigue:

    capitalize: Dispone en mayúsculas el primer caracter de cada palabra.

    lowercase: Convierte a minúsculas todas las letras del texto.

    uppercase: Convierte a mayúsculas todas las letras del texto.

    none: No provoca cambios en el texto.
Confeccionaremos el siguiente problema:

Confeccionar una página que contenga un título de nivel 2 (h2) centrado y luego bloques donde muestre un nombre de una persona subrayado y un párrafo con un color de fondo y de las letras. Indentar la primer linea de cada párrafo.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>título página</title>
</head>
<body>
<h2 style="color:#0000ff;text-align:center">Comentarios</h1>
<h3 style="text-decoration:underline">Luis Barrionuevo</h3>
<p style="color:#888888;background-color:#ffffdd;text-indent:20px">
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
</p>
<h3 style="text-decoration:underline">Ana Rodriguez</h3>
<p style="color:#888888;background-color:#ffffdd;text-indent:20px">
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
</p>
</body>
</html>

El título general aparece centrado y de color azul:

<h2 style="color:#0000ff;text-align:center">Comentarios</h1>

El título donde se define el nombre:

<h3 style="text-decoration:underline">Luis Barrionuevo</h3>

aparece subrayado.

Por último los párrafos:

<p style="color:#888888;background-color:#ffffdd;text-indent:20px">

aparecen de color gris oscuro la letra sobre fondo amarillo claro y la primer línea tiene una indentación de 20 píxeles.
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Guia HTML: propiedades relacionadas al texto y a las fuentes en CSS.

html-questionsEn una reciente limpieza a mi disco duro he encontrado esta guia que tenia guardada por ahi y creo que esta muy buena para empezar y conocer las nociones basicas del HTML.

Propiedades relacionadas al texto en CSS.
Vimos en la introducción de CSS la propiedad color.
Tenemos otras propiedades relacionadas al texto que paso a enunciarlas:
  • text-align Esta propiedad define el alineamiento del texto y puede tomar alguno de estos cuatro valores: left, right, center,justify
    text-align:center;

    El texto aparecerá centrado. Si queremos justificar a derecha, emplearemos el valor right y si queremos a la izquierda, el valor será left.
  • text-decoration Esta propiedad nos permite entre otras cosas que aparezca subrayado el texto, tachado o una línea en la parte superior, los valores posibles de esta propiedad son: none, underline, overline, line-through
  • letter-spacing Esta propiedad permiten indicar el espacio que debe haber entre los caracteres.
  • word-spacing La propiedad word-spacing permiten indicar el espacio que debe haber entre las palabras.
  • text-indent La propiedad indenta la primera linea de un texto. A partir de la segunda línea, el texto aparece sin indentación. Podemos indicar un valor negativo con lo que la indentación es hacia la izquierda.
  • text-transform la propiedad puede inicializarse con alguno de los siguientes valores: none - capitalize - lowercase - uppercase.

    Cada uno de estos valores transforman el texto como sigue:

    capitalize: Dispone en mayúsculas el primer caracter de cada palabra.

    lowercase: Convierte a minúsculas todas las letras del texto.

    uppercase: Convierte a mayúsculas todas las letras del texto.

    none: No provoca cambios en el texto.
Confeccionaremos el siguiente problema:

Confeccionar una página que contenga un título de nivel 2 (h2) centrado y luego bloques donde muestre un nombre de una persona subrayado y un párrafo con un color de fondo y de las letras. Indentar la primer linea de cada párrafo.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>título página</title>
</head>
<body>
<h2 style="color:#0000ff;text-align:center">Comentarios</h1>
<h3 style="text-decoration:underline">Luis Barrionuevo</h3>
<p style="color:#888888;background-color:#ffffdd;text-indent:20px">
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
</p>
<h3 style="text-decoration:underline">Ana Rodriguez</h3>
<p style="color:#888888;background-color:#ffffdd;text-indent:20px">
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
</p>
</body>
</html>

El título general aparece centrado y de color azul:

<h2 style="color:#0000ff;text-align:center">Comentarios</h1>

El título donde se define el nombre:

<h3 style="text-decoration:underline">Luis Barrionuevo</h3>

aparece subrayado.

Por último los párrafos:

<p style="color:#888888;background-color:#ffffdd;text-indent:20px">

aparecen de color gris oscuro la letra sobre fondo amarillo claro y la primer línea tiene una indentación de 20 píxeles.

Elementos HTML <div> y <span>

ejé estos dos elementos HTML para luego de haber presentado los conceptos de CSS. Estas marcas se utilizan en conjunción con las hojas de estilo. Sin estas tiene poco sentido el empleo de estos elementos HTML.

Estos elementos "div" y "span" nos permiten agrupar un conjunto de elementos y aplicar reglas de estilo.

La diferencia entre estos dos elementos es que cuando utilizamos el elemento div produce un salto de línea previo y uno al final, es decir es una marca de bloque como lo son h1,h2,p etc. En cambio el elemento span no produce un salto de línea porque se trata de un elemento en línea como lo son a,em,strong,input etc.

Veamos un ejemplo creando una división (div) y la aplicación de algunas reglas de estilo, como así un elemento span.

Listar una serie de nombres y un bloque de comentarios para cada nombre. Indentar la primer linea de cada párrafo. Hacer que algunas palabras del párrafo aparezcan resaltadas en otro color. Disponer todos los comentarios con un color gris de fondo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>título página</title>
</head>
<body>
<div style="background-color:#eeeeee">
<h3>Luis Barrionuevo</h3>
<p style="color:#888888;text-indent:20px">
Aquí <span style="background-color:#eeee00">comentarios.</span> 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
</p>
<h3>Ana Rodriguez</h3>
<p style="color:#888888;text-indent:20px">
<span style="background-color:#eeee00">Aquí comentarios.</span> 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
Aquí comentarios. 
</p>
</div>
</body>
</html>

Veamos como definimos los elementos span:

<span style="background-color:#eeee00">comentarios.</span>

Como podemos ver luego en el resultado de la página el texto "comentarios" aparece con un color amarillo de fondo. El resto del párrafo continúa inmediatamente a la derecha, es decir el elemento span no produce salto de línea. Para ver la diferencia con el elemento div pruebe de remplazar la palabra span por div y vea los resultados (recuerde cambiar tanto la marca de apertura como la de cerrado del span) Como verá el texto aparece en un bloque independiente.

El div agrupa todos los títulos y párrafos y define la propiedad background-color que es heredado por todos los elementos contendidos por el div:

<div style="background-color:#eeeeee">
<h3>Luis Barrionuevo</h3>
<p style="color:#888888;text-indent:20px">
Aquí <span style="background-color:#eeee00">comentarios.</span> 
Aquí comentarios. 
.
.
.
.
Aquí comentarios. 
Aquí comentarios. 
</p>
</div>

Propiedades relacionadas a las fuentes en CSS.

Las propiedades relacionadas a las fuentes más importantes en CSS son:

  • font-family Define la fuente que se aplicará al elemento HTML. La fuentes más comunes presentes en los navegadores son: Arial, Arial Black, Courier New, Georgia, Impact, Tahoma, Times New Roman, Verdana
  • font-size Define el tamaño de la fuente. Entre otras medias podemos indicarla en píxeles.
  • font-style Podemos indicar alguno de los siguientes valores: normal, italic, oblique
  • font-weight Entre otros podemos indicar los siguientes valores: normal, bold, bolder,lighter
Para probar algunas de estas propiedades confeccionaremos una página que contenga un título de nivel 2 con fuente Arial, un párrafo con fuente de tipo Times New Roman de 14 píxeles en negrita y una serie de párrafos agrupados en un div con tamaño de fuente de 12 píxeles de tipo Verdana:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>título página</title>
</head>
<body>
<h2 style="font-family:Arial">Título principal</h2>
<p style="font-family:Times New Roman;font-size:14px;font-weight:bolder">
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
Párrafo en negrita. 
</p>
<div style="font-family:Verdana;font-size:12px">
<p>
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
Primer párrafo. 
</p>
<p>
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
Segundo párrafo.
</p>
</div>
</body>
</html> 

Para el título se debe definer una fuente Arial

<h2 style="font-family:Arial">Título principal</h2>

Para el primer párrofo seguido al título se debe definir una fuente de tipo Times New Roman de 14 píxeles en negrita

<p style="font-family:Times New Roman;font-size:14px;font-weight:bolder">

Para el resto de los párrafos agruparlos en un div con tamaño de fuente de 12 píxeles de tipo Verdana

<div style="font-family:Verdana;font-size:12px">

Solo se a visto los conceptos iniciales de CSS con el objetivo de no tentarse a utilizar los elementos HTML antiguos para asignación de fuentes y colores. Para un estudio ordenado y sitemático puede desarrollar el curso CSS Ya y ver por si mismo las ventajas enormes que presentan las hojas de estilo.

Elementos y propiedades de HTML que no se deben usar.
 
Nombraremos los elementos y propiedades de HTML que no se deben usar, ya que sus objetivos actualmente se resuelven utilizando CSS (Hojas de estilo), de todos modos se las encontrará en muchas páginas antiguas y otras no tanto:
Elementos
  • u Muestra un texto subrayado.
  • s Muestra un texto tachado.
  • strike Muestra un texto tachado.
  • center Muestra un texto centrado.
  • menu Crea una lista
  • dir Define una lista multicolumna
  • layer (solo Netscape) Agrupa un bloque de elementos HTML (utilizar div)
  • blink Resalta un texto
  • marquee Muestra un texto desplazandose de izquierda a derecha o viceversa. Tiene muchas propiedades para definir fuente, color, velocidad de avance etc.
  • font Permite definir mediante una serie de propiedades el tipo de fuente, tamaño y color
  • b Muestra el texto en negrita.
  • i Muestra el texto en itálica.
  • big Muestra el texto con fuente grande.
  • small Muestra el texto con fuente pequeña.
  • hr Muestra una línea horizontal.
  • basefont Establece el tamaño base de fuente.
  • isindex Crea un control de entrada de una línea.
Propiedades.
  • text Fija el color de texto para la página si se aplica al elemento body.
  • bgcolor Fija el color del fondo de texto si se aplica al elemento body.
  • background Fija una imagen de fondo a la página. Propiedad del elemento body.
  • link Fija el color de los enlaces no visitados. Se aplica al body.
  • alink Fija el color del enlace activo. Se aplica al body.
  • vlink Fija el color de los enlaces ya visitados. Se aplica al body.
  • align Se lo utiliza para alinear texto a izquierda, derecha, centro etc.
No daremos ejemplo del empleo de estos elementos y propiedades para evitar cualquier posibilidad de internalizar su funcionamiento y empleo.
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Lubuntu distribución estable y ligera instalada con UNebootin.

n120_by_comsl-d5y74ksTras haber probado esta distribución que me ha resultado de las más estables y ligeras que existe en la familia de Ubuntu, he vuelto a ser uso de ella instalándolo en una Samsung N120 que como bien sabemos carece de un lector de CD.

No hay magias en ésto, como casi todas éstas Netbook vienen con Windows, así que voy a describir lo que hice aunque ya hay bastante información en la red al respecto.

1- Me descargué la ISO de Lubuntu 12.10
2- Descargué UNebootin
3- Coloqué mi memoria flash o pendrive si quieren llamarlo así.
4- Ejecuté UNebootin
5- Escogí las opciones pertinentes
- Disk Image ISO: D:\Downloads\lubuntu-12.10-desktop-i386
- Type: USB Drive
- Drive: F:\ (en mi caso era la torre F la asignada a mi pendrive)

Instalacion.
 
  • Damos OK y esperamos que se instale en el pendrive que como todos sabemos ha tenido que ser previamente formateado.
  • Solo nos queda cambiar el arranque de nuestro equipo para que empiece por USB HDD y listo, ahora podremos instalar como siempre.
  • Aunque el instalador lo dice, asegúrese de estar conectado a Internet mediante un cable y tener un espacio libre en disco de no menor de 10 GB.

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Guia HTML: declaración DOCTYPE, HTML transitional y estricto.

html-questionsEn una reciente limpieza a mi disco duro he encontrado esta guia que tenia guardada por ahi y creo que esta muy buena para empezar y conocer las nociones basicas del HTML.

Declaración DOCTYPE.
Hasta ahora no hemos hablado de un concepto de vital importancia que es la utilización de elementos HTML estándares. De todos modos no hemos introducido elementos HTML propietarios o desaprobados (ej. font, center etc.)

La organización que define los estándares para la web es W3C.
Utilizar en lo posible las directivas de este comite de estándares nos traerá como ventanja que nuestras páginas en un futuro sigan viendose correctamente en las nuevas versiones de navegadores.

Ahora introduciremos una nueva sección de nuestra página que es la declaración del tipo de documento (DTD Document Type Declaration), esta sección se ubica en la primera línea del archivo HTML, es decir antes de la marca html.

Declaración transitoria:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 

Declaración estrícta:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

Veamos la sintaxis para definir la sección del DOCTYPE, la primera diferencia con cualquier otro elemento HTML es que el caracter siguiente del < es el signo de admiración (!), luego debe ir la palabra DOCTYPE indicando que se trata de un archivo HTML. Más adelante debemos indicar la versión de HTML y si se trata de HTML transitorio o estricto:

Si es HTML transitorio disponemos:

"-//W3C//DTD HTML 4.01 Transitional//EN"

Si es HTML estrícto

"-//W3C//DTD HTML 4.01//EN"

Es decir que cuando es HTML estricto no disponemos la palabra Transitional

Por último se define la dirección de internet donde se encuentra un archivo que enuncia los elemento y propiedades permitidos en el HTML 4.01, discriminando entre HTML estricto y transitorio.

Porqué utilizar HTML transitional, si lo más correcto sería utilizar HTML estricto?

Puede ser que tengamos muchas páginas desarrolladas en el pasado y nos lleve un tiempo hacerlas compatible con el HTML estricto.

Para ver si una página cumple el estandar específico podemos acceder a un programa validador que se encuentra en validator.w3.org

Pruebe de copiar la siguiente página y verifique si se valida correctamente en la dirección indicada en la línea anterior (copie al textarea de esta página este documento HTML y presione el botón check):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Enlaces a periódicos</title>
</head>
<body>
<ol>
<li>Argentina
<ul>
<li><a href="http://www.lanacion.com.ar">La Nación</a></li>
<li><a href="http://www.clarin.com.ar">Clarín</a></li>
<li><a href="http://www.pagina12.com.ar">Página 12</a></li>
</ul>
</li>
<li>España
<ul>
<li><a href="http://www.elpais.es">El País Digital</a></li>
<li><a href="http://www.abc.es">ABC</a></li>
<li><a href="http://www.elmundo.es">El Mundo</a></li>
</ul>
</li>
<li>México
<ul>
<li><a href="http://www.jornada.unam.mx">La Jornada</a></li>
<li><a href="http://www.el-universal.com.mx">El Universal</a></li>
</ul>
</li>
</ol>
</body>
</html>

Pruebe de borrar el elemento title, tanto su contenido como las marcas de comienzo y final. Valide nuevamente.

Pruebe de borrar la marca <ol> y valide.

Declaración DOCTYPE. HTML Transitional.

Cuando indicamos que una página utiliza HTML Transitional podemos hacer uso de algunos elementos HTML de presentacion (fuentes, alineamiento, colores), además la ubicación y anidamiento de elementos es más elástico.

Veamos si nuestra primer página que desarrollamos pasa la validación HTML Transitional (Agregandole la sección del DOCTYPE):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
</head>
<body>
PHP - Java - JavaScript - C - C++
</body>
</html>

Como veras después que lo valides dará un error indicando que faltan datos en la marca head. Como mínimo deberemos agregar el elemento title.

Luego la página queda:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<title>Mi primer pagina</title>
</head>
<body>
PHP - Java - JavaScript - C - C++
</body>
</html>

Ahora prácticamente valida correctamente, solo le falta un meta con la descripción de codificación:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Mi primer pagina</title>
</head>
<body>
PHP - Java - JavaScript - C - C++
</body>
</html>

Ahora si está totalmente correcta.

Declaración DOCTYPE. HTML Estricto.
 
En el DTD Estricto de HTML 4.01 se excluye los elementos y atributos de presentación que el W3C espera que dejen de utilizarse a medida que se extienda por parte de todos los navegadores el soporte de las hojas de estilo.

Los webmaster deben usar el DTD Estricto siempre que sea posible, pero pueden usar el DTD Transicional si es necesario el soporte de elementos y atributos de presentación.

Prácticamente todas las páginas que hemos desarrollado debemos hacerle algunos retoques para que cumplan con la validación de HTML estrícta.

Veremos varias de las páginas desarrolladas y los cambios que debemos hacer para que pasen la validación:

Problema 1:Confeccionar una página que muestre los nombres de 5 lenguajes de programación separados por un guión:

<html>
<head>
</head>
<body>
PHP - Java - JavaScript - C - C++
</body>
</html>

Con los cambios para que valide:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Página de prueba del DTD</title>
</head>
<body>
<p>PHP - Java - JavaScript - C - C++</p>
</body>
</html>

Que modificaciones hemos hecho?
  1. Definimos el DOCTYPE

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. Agregamos el meta:

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  3. Definimos el elemento title:

    <title>Página de prueba del DTD</title>
  4. Definimos el texto de la página dentro de un párrafo (no puede un texto depender directamente del body):

    <p>PHP - Java - JavaScript - C - C++</p>

Todos estos cambios son obligatorios para que valide como HTML 4.01 estricto.

Problema 2:Confeccionar una página principal que tenga un hipervínculo a otra página secundaria.

<html>
<head>
</head>
<body>
<h1>Página principal.</h1>
<a href="pagina2.html">Noticias</a>
</body>
</html>

Con los cambios para que valide:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Página de prueba del DTD</title>
</head>
<body>
<h1>Página principal.</h1>
<p><a href="pagina2.html">Noticias</a></p>
</body>
</html>

Que modificaciones hemos hecho?
  1. Definimos el DOCTYPE

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. Agregamos el meta:

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  3. Definimos el elemento title:

    <title>Página de prueba del DTD</title>
  4. Definimos el hipervínculo de la página dentro de un párrafo (no puede un hipervínculo depender directamente del body):

    <p><a href="pagina2.html">Noticias</a></p>
Problema 3:Confeccionar un formulario que solicite el ingreso del nombre de un usuario y su clave. Mostrar asteriscos donde se ingresa la clave. Disponer dos botones, uno para el envío de datos al servidor y otro para borrar el contenido de todos los controles (editores de texto) que contiene el formulario.

<html>
<head>
<title>Prueba de formulario</title>
</head>
<body>
<form action="/registrardatos.php" method="post">
Ingrese su nombre: 
<input type="text" name="nombre" size="20">
<br>
Ingrese su clave: 
<input type="password" name="clave" size="12">
<br>
<input type="submit" value="enviar">
<input type="reset" value="borrar">
</form>
</body>
</html>

Con los cambios para que valide:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Página de prueba del DTD</title>
</head>
<body>
<form action="/registrardatos.php" method="post">
<p>
Ingrese su nombre: 
<input type="text" name="nombre" size="20">
<br>
Ingrese su clave: 
<input type="password" name="clave" size="12">
<br>
<input type="submit" value="enviar">
<input type="reset" value="borrar">
</p>
</form>
</body>
</html>

  1. Definimos el DOCTYPE

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. Agregamos el meta:

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  3. Definimos el elemento title:

    <title>Página de prueba del DTD</title>
  4. Definimos todos el contenido del form dentro de un párrafo. No se puede disponer texto o controles de formulario que dependan directamente del elemento form.:

    <p> Ingrese su nombre: <input type="text" name="nombre" size="20"
Declaración DOCTYPE. para Frames.

Cuando empleamos frames debemos utilizar una declaración distinta para el elemento DOCTYPE.

Luego la sección del DOCTYPE para una página que implementa frames debe ser:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">

Es decir se incorpora la palabra Frameset donde disponíamos la palabra Transitional o estaba vacía si validamos HTML estrícto.

Confeccionar una ventana que contenga dos frames verticales. Dispondremos dos hipervínculos en el frame de la izquierda que al ser presionados actualicen el archivo a mostrar por el frame de la derecha.

pagina1.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>prueba de frames</title>
</head>
<frameset cols="20%,80%">
<frame src="pagina2.html">
<frame src="pagina3.html" name="ventanadinamica">
<noframes>
<p>El navegador no soporta frames</p>
</noframes>
</frameset>
</html>

pagina2.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>prueba de frames</title>
</head>
<body>
<h2>Enlaces.</h2>
<ul>
<li><a href="pagina3.html" target="ventanadinamica">Enlace 
1</a></li>
<li><a href="pagina4.html" target="ventanadinamica">Enlace 
2</a></li>
</ul>
</body>
</html>

Es importante notar que hemos definido la página HTML Transitional, esto se debe a que la propiedad target del elemento "a" no está permitida. Es decir si utilizamos frames deberemos trabajar con HTML Transitional.

pagina3.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>prueba de frames</title>
</head>
<body>
<h1>Página B</h1>
<h2>Este es el contenido de página del archivo:pagina4.html</h2>
</body>
</html>

pagina4.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>prueba de frames</title>
</head>
<body>
<h1>Página B</h1>
<h2>Este es el contenido de página del archivo:pagina4.html</h2>
</body>
</html>
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Guia HTML: declaración DOCTYPE.

html-questionsEn una reciente limpieza a mi disco duro he encontrado esta guia que tenia guardada por ahi y creo que esta muy buena para empezar y conocer las nociones basicas del HTML.

Declaración DOCTYPE.

Hasta ahora no hemos hablado de un concepto de vital importancia que es la utilización de elementos HTML estándares. De todos modos no hemos introducido elementos HTML propietarios o desaprobados (ej. font, center etc.)

La organización que define los estándares para la web es W3C.
Utilizar en lo posible las directivas de este comite de estándares nos traerá como ventanja que nuestras páginas en un futuro sigan viendose correctamente en las nuevas versiones de navegadores.

Ahora introduciremos una nueva sección de nuestra página que es la declaración del tipo de documento (DTD Document Type Declaration), esta sección se ubica en la primera línea del archivo HTML, es decir antes de la marca html.
Según el rigor de HTML  utilizado podemos declararla como:
Declaración transitoria:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 

Declaración estrícta:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

Veamos la sintaxis para definir la sección del DOCTYPE, la primera diferencia con cualquier otro elemento HTML es que el caracter siguiente del < es el signo de admiración (!), luego debe ir la palabra DOCTYPE indicando que se trata de un archivo HTML. Más adelante debemos indicar la versión de HTML y si se trata de HTML transitorio o estricto:

Si es HTML transitorio disponemos:

"-//W3C//DTD HTML 4.01 Transitional//EN"

Si es HTML estrícto

"-//W3C//DTD HTML 4.01//EN"

Es decir que cuando es HTML estricto no disponemos la palabra Transitional

Por último se define la dirección de internet donde se encuentra un archivo que enuncia los elemento y propiedades permitidos en el HTML 4.01, discriminando entre HTML estricto y transitorio.

Porqué utilizar HTML transitional, si lo más correcto sería utilizar HTML estricto?

Puede ser que tengamos muchas páginas desarrolladas en el pasado y nos lleve un tiempo hacerlas compatible con el HTML estricto.

Para ver si una página cumple el estandar específico podemos acceder a un programa validador que se encuentra en validator.w3.org

Pruebe de copiar la siguiente página y verifique si se valida correctamente en la dirección indicada en la línea anterior (copie al textarea de esta página este documento HTML y presione el botón check):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Enlaces a periódicos</title>
</head>
<body>
<ol>
<li>Argentina
<ul>
<li><a href="http://www.lanacion.com.ar">La Nación</a></li>
<li><a href="http://www.clarin.com.ar">Clarín</a></li>
<li><a href="http://www.pagina12.com.ar">Página 12</a></li>
</ul>
</li>
<li>España
<ul>
<li><a href="http://www.elpais.es">El País Digital</a></li>
<li><a href="http://www.abc.es">ABC</a></li>
<li><a href="http://www.elmundo.es">El Mundo</a></li>
</ul>
</li>
<li>México
<ul>
<li><a href="http://www.jornada.unam.mx">La Jornada</a></li>
<li><a href="http://www.el-universal.com.mx">El Universal</a></li>
</ul>
</li>
</ol>
</body>
</html>

Pruebe de borrar el elemento title, tanto su contenido como las marcas de comienzo y final. Valide nuevamente.

Pruebe de borrar la marca <ol> y valide.

Declaración DOCTYPE. HTML Transitional.

Cuando indicamos que una página utiliza HTML Transitional podemos hacer uso de algunos elementos HTML de presentacion (fuentes, alineamiento, colores), además la ubicación y anidamiento de elementos es más elástico.

Veamos si nuestra primer página que desarrollamos pasa la validación HTML Transitional (Agregandole la sección del DOCTYPE):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
</head>
<body>
PHP - Java - JavaScript - C - C++
</body>
</html>

Como veras después que lo valides dará un error indicando que faltan datos en la marca head. Como mínimo deberemos agregar el elemento title.

Luego la página queda:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<title>Mi primer pagina</title>
</head>
<body>
PHP - Java - JavaScript - C - C++
</body>
</html>

Ahora prácticamente valida correctamente, solo le falta un meta con la descripción de codificación:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Mi primer pagina</title>
</head>
<body>
PHP - Java - JavaScript - C - C++
</body>
</html>

Ahora si está totalmente correcta.

Declaración DOCTYPE. HTML Estricto.

En el DTD Estricto de HTML 4.01 se excluye los elementos y atributos de presentación que el W3C espera que dejen de utilizarse a medida que se extienda por parte de todos los navegadores el soporte de las hojas de estilo.

Los webmaster deben usar el DTD Estricto siempre que sea posible, pero pueden usar el DTD Transicional si es necesario el soporte de elementos y atributos de presentación.

Prácticamente todas las páginas que hemos desarrollado debemos hacerle algunos retoques para que cumplan con la validación de HTML estrícta.

Veremos varias de las páginas desarrolladas y los cambios que debemos hacer para que pasen la validación:

Problema 1:Confeccionar una página que muestre los nombres de 5 lenguajes de programación separados por un guión:

<html>
<head>
</head>
<body>
PHP - Java - JavaScript - C - C++
</body>
</html>

Con los cambios para que valide:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Página de prueba del DTD</title>
</head>
<body>
<p>PHP - Java - JavaScript - C - C++</p>
</body>
</html>

Que modificaciones hemos hecho?
  1. Definimos el DOCTYPE

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. Agregamos el meta:

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  3. Definimos el elemento title:

    <title>Página de prueba del DTD</title>
  4. Definimos el texto de la página dentro de un párrafo (no puede un texto depender directamente del body):

    <p>PHP - Java - JavaScript - C - C++</p>

Todos estos cambios son obligatorios para que valide como HTML 4.01 estricto.

Problema 2:Confeccionar una página principal que tenga un hipervínculo a otra página secundaria.

<html>
<head>
</head>
<body>
<h1>Página principal.</h1>
<a href="pagina2.html">Noticias</a>
</body>
</html>

Con los cambios para que valide:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Página de prueba del DTD</title>
</head>
<body>
<h1>Página principal.</h1>
<p><a href="pagina2.html">Noticias</a></p>
</body>
</html>

Que modificaciones hemos hecho?
  1. Definimos el DOCTYPE

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. Agregamos el meta:

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  3. Definimos el elemento title:

    <title>Página de prueba del DTD</title>
  4. Definimos el hipervínculo de la página dentro de un párrafo (no puede un hipervínculo depender directamente del body):

    <p><a href="pagina2.html">Noticias</a></p>

Problema 3:Confeccionar un formulario que solicite el ingreso del nombre de un usuario y su clave. Mostrar asteriscos donde se ingresa la clave. Disponer dos botones, uno para el envío de datos al servidor y otro para borrar el contenido de todos los controles (editores de texto) que contiene el formulario.

<html>
<head>
<title>Prueba de formulario</title>
</head>
<body>
<form action="/registrardatos.php" method="post">
Ingrese su nombre: 
<input type="text" name="nombre" size="20">
<br>
Ingrese su clave: 
<input type="password" name="clave" size="12">
<br>
<input type="submit" value="enviar">
<input type="reset" value="borrar">
</form>
</body>
</html>

Con los cambios para que valide:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Página de prueba del DTD</title>
</head>
<body>
<form action="/registrardatos.php" method="post">
<p>
Ingrese su nombre: 
<input type="text" name="nombre" size="20">
<br>
Ingrese su clave: 
<input type="password" name="clave" size="12">
<br>
<input type="submit" value="enviar">
<input type="reset" value="borrar">
</p>
</form>
</body>
</html>


  1. Definimos el DOCTYPE

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. Agregamos el meta:

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  3. Definimos el elemento title:

    <title>Página de prueba del DTD</title>
  4. Definimos todos el contenido del form dentro de un párrafo. No se puede disponer texto o controles de formulario que dependan directamente del elemento form.:

    <p> Ingrese su nombre: <input type="text" name="nombre" size="20"> <br> Ingrese su clave: <input type="password" name="clave" size="12"> <br> <input type="submit" value="enviar"> <input type="reset" value="borrar"> </p>

Todos estos cambios son obligatorios para que valide como HTML 4.01 estricto.

Declaración DOCTYPE. para Frames.
 
Cuando empleamos frames debemos utilizar una declaración distinta para el elemento DOCTYPE.

Luego la sección del DOCTYPE para una página que implementa frames debe ser:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">

Es decir se incorpora la palabra Frameset donde disponíamos la palabra Transitional o estaba vacía si validamos HTML estrícto.

Confeccionar una ventana que contenga dos frames verticales. Dispondremos dos hipervínculos en el frame de la izquierda que al ser presionados actualicen el archivo a mostrar por el frame de la derecha.

pagina1.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>prueba de frames</title>
</head>
<frameset cols="20%,80%">
<frame src="pagina2.html">
<frame src="pagina3.html" name="ventanadinamica">
<noframes>
<p>El navegador no soporta frames</p>
</noframes>
</frameset>
</html>

pagina2.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>prueba de frames</title>
</head>
<body>
<h2>Enlaces.</h2>
<ul>
<li><a href="pagina3.html" target="ventanadinamica">Enlace 
1</a></li>
<li><a href="pagina4.html" target="ventanadinamica">Enlace 
2</a></li>
</ul>
</body>
</html>

Es importante notar que hemos definido la página HTML Transitional, esto se debe a que la propiedad target del elemento "a" no está permitida. Es decir si utilizamos frames deberemos trabajar con HTML Transitional.

pagina3.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>prueba de frames</title>
</head>
<body>
<h1>Página B</h1>
<h2>Este es el contenido de página del archivo:pagina4.html</h2>
</body>
</html>

pagina4.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>prueba de frames</title>
</head>
<body>
<h1>Página B</h1>
<h2>Este es el contenido de página del archivo:pagina4.html</h2>
</body>
</html>
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog: