<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Tema: XHTML | Sentido Web</title>
<link>http://sentidoweb.com/</link>
<description>Actualidad y maneras de hacer en Internet (programación, diseño, tendencias, negocios...)</description>
<language>es</language>
<copyright>Copyright 2008</copyright>
<lastBuildDate>Fri, 20 Jun 2008 11:45:00 +0000</lastBuildDate>
<generator>http://www.movabletype.org/?v=3.2</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 

<item>
<title>Menú radial mediante XHTML</title>
<description><![CDATA[<p>Buen tutorial que nos explica cómo realizar un menú radial, es decir, un menú en el que las opciones se sitúan alrededor de un punto.</p>
<p><img alt="menu_radial.png" src="http://sentidoweb.com/img/2008/06/menu_radial.png" width="240" height="227" class="center" /></p>
<p>El tutorial nos indica cómo crear la estructura XHTML, los estilos, y el código Javascript para que funcione el menú.</p>
<p>Siendo algo puristas, no me gusta el uso del XHTML y el de los estilos, incluso podría sobrar Javascript. El código XHTML no es semántico. Aúnque claro, quizás lo haya hecho porque la solución que os paso ahora no sirve para IE6.</p>
<p><img alt="menu_radial2.png" src="http://sentidoweb.com/img/2008/06/menu_radial2.png" width="161" height="159" class="center"/></p>
<p>El HTML sería el siguiente:</p>
<pre><code lang="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="1.html"&gt;1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2.html"&gt;2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="3.html"&gt;3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="4.html"&gt;4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</code></pre>
<p>Y los estilos:</p>
<pre><code lang="css">ul {
  width: 150px;
  height: 150px;
  display: block;
  padding: 0px;
  margin: 0px;
}
li {
  width: 48px;
  height: 48px;
  display: block;
  border: 1px solid #008585;
  background: #24B8B8;
  margin: 0px;
  padding: 0px;
  float: left;
  text-align: center;
}
li + li + li {
  margin-left: 50px;
}
li:first-child {
  margin: 0px 50px;
}
a {
  font-size: 250%;
  font-family: Arial;
  text-decoration: none;
  color: #DEDED2;
}</code></pre>
<p><a href="http://blog.paranoidferret.com/index.php/2008/06/17/javascript-tutorial-radial-menus-part-1/">Javascript Tutorial - Radial Menus Part 1</a></p>]]></description>
<link>http://sentidoweb.com/2008/06/20/menu-radial-mediante-xhtml.php</link>
<guid>http://sentidoweb.com/2008/06/20/menu-radial-mediante-xhtml.php</guid>
<category>XHTML</category>
<pubDate>Fri, 20 Jun 2008 11:45:00 +0000</pubDate>
</item>
<item>
<title>CAPTCHA DHTML y CSS con PHP</title>
<description><![CDATA[<p>Sí, demasiadas siglas para un título, pero se trata de eso, de generar un CAPTCHA mediante PHP, pero la característica de este CAPTCHA es que se realiza mediante CSS y HTML, para lo cual presentará una tabla con celdas y solo una de ellas con un color diferente que será la que hay que pulsar para poder pasar el CAPTCHA.</p>

<p><img alt="csscaptcha.png" src="http://sentidoweb.com/img/2008/03/csscaptcha.png" width="382" height="207" class="center" /></p>

<p>La clase envía mediante AJAX una petición al servidor pasando las coordenadas de los clicks del usuario hasta que se envían un numero total de clicks a cajas coloreadas.</p>

<p><a href="http://phpclasses.masbytes.es/browse/package/4413.html">DHTML and CSS CAPTCHA</a></p>]]></description>
<link>http://sentidoweb.com/2008/03/12/captcha-dhtml-y-css-con-php.php</link>
<guid>http://sentidoweb.com/2008/03/12/captcha-dhtml-y-css-con-php.php</guid>
<category>PHP</category>
<pubDate>Wed, 12 Mar 2008 17:45:00 +0000</pubDate>
</item>
<item>
<title>Laboratorio: indicador de calidad de password</title>
<description><![CDATA[<p>Cuando un usuario se registra en una aplicación web, suele haber casos que cuando se está introduciendo la contraseña, el sistema indica si la password cumple unos mínimos de seguridad o no. En algunas ocasiones suele darnos solo un aviso informativo, pero en otros o cumple todos los requisitos o no admite la contraseña.</p>
<p>En este caso vamos a crear un script que modificará los <em>input password</em> para añadirle una funcionalidad que indique la calidad de la contraseña que se va introduciendo.</p>
<p><img alt="password.png" src="http://sentidoweb.com/img/2007/07/password.png" width="308" height="28" class="center" /></p>
<p>El script añadirá el evento de control de tecla pulsada (onkeyup) y <strong>realizará una serie de comprobaciones para conocer la calidad de la contraseña</strong>, una contraseña válida será la que cumpla todas las condiciones. Las condiciones que incluimos en el ejemplo son las típicas que suelen pedir: <strong>que existan mayúsculas y minúsculas, algún número, caracteres especiales y una longitud mayor de 6</strong>.</p>
<p>Para chequear cada condición usaremos expresiones regulares y llevaremos un contador para saber cuántas se cumplen. Cuando hayamos finalizado las comprobaciones calcularemos el porcentaje de calidad y lo indicaremos con una barra de progreso. Esta barra se crecerá según aumente la calidad de la contraseña e irá cambiando de color desde un color rojo para la poca calidad hasta un color verde que indique mucha calidad.</p>
<p>El efecto de barra de progreso lo vamos a realizar de la siguiente manera, tenemos <strong>una imagen que va a funcionar como máscara</strong>, tendrá dos partes, de igual tamaño y cada parte del mismo tamaño que el ancho del input. Cada mitad tendrá una funcionalidad, la mitad de la derecha servirá para ocultar y la de la izquierda para mostrar, según queramos que se vaya mostrando la barra de progreso, iremos desplazando el fondo hacia la derecha para que se vaya viendo la barra de progreso. Inicialmente la línea discontinua de la imagen que mostramos como ejemplo estará en el lado izquierdo del input.</p>
<p><img alt="mascara.gif" src="http://sentidoweb.com/img/2007/07/mascara.gif" width="200" height="100" class="center"/></p>
<p>El código sería el siguiente:</p>
<pre><code>var __PASSWORD__ = {
  colorKO: [255, 0, 0], // Color de contraseña no válida
  color50: [127, 127, 0], // Color para el 50% para que no haya un cambio tan brusco
  colorOK: [0, 255, 0], // Color de contraseña válida
  width: 150,
  
  // Añade el evento onkeyup a la caja input:password y le añade el evento checkpassword
  init: function() {
    var inputs = document.getElementsByTagName("INPUT");
    for (var i=0; i&lt;inputs.length; i++) {
      if (inputs[i].type == 'password') {
        inputs[i].addEventListener("keyup", __PASSWORD__.checkPassword, false);
        inputs[i].className = 'password';
      }
    }
  },
  
  // Obtiene el color porcentual entre un color inicial y otro final, teniendo en cuenta un color intermedio
  getColor: function(porc) {
    var color = new Array();
    var color1 = porc &lt; 50? __PASSWORD__.colorKO:__PASSWORD__.color50;
    var color2 = porc &lt; 50? __PASSWORD__.color50:__PASSWORD__.colorOK;
    color[0] = parseInt(color1[0]-((color1[0] -color2[0])*porc/100));
    color[1] = parseInt(color1[1]-((color1[1] -color2[1])*porc/100));
    color[2] = parseInt(color1[2]-((color1[2] -color2[2])*porc/100));
    
    return color;
  },
    
  // Comprueba la calidad de la contraseña
  checkPassword: function() {
    var valor = this.value;
    
    var cont = 0;
    
    var comprobaciones = new Array(
      /[A-Z]/, // mayúsculas
      /[a-z]/, // minúsculas
      /\d/,    // números 
      /.{6}/,  // más de 6 caracteres
      /(\s|\\|\/|!|"|·|\$|%|&amp;|\(|\)|=|\?|¿|\||@|#|¬|€|\^|`|\[|\]|\+|\*|¨|´|\{|\}|\-|_|\.|:|,|;|&gt;|&lt;)/ // Caracteres especiales
      );
    // Miro todas las condiciones
    for (var i=0; i&lt;comprobaciones.length; i++) {
      if (valor.match(comprobaciones[i])) {
        cont++;
      }
    }
    
    // Valores posibles en caso de 5 condiciones: 0, 20, 40, 60, 80, 100, pero el valor mínimo tiene que ser 20 para que coincida con el colorKO, ya que si no, al pulsar una tecla ya cambia de color a un paso colorKO+1
    var porc = parseInt((cont*100/(comprobaciones.length-1))-(1/(comprobaciones.length-1)*100));
    // Desplazo el background tratándolo como una máscara
    this.style.backgroundPosition = (parseInt(cont*__PASSWORD__.width/comprobaciones.length)-(__PASSWORD__.width))+"px 0px";
    // Cambio el color de fondo
    var color = __PASSWORD__.getColor(porc);
    if (porc &lt; 0) {
      this.style.backgroundColor = '';
    } else {
      this.style.backgroundColor = 'rgb('+color[0]+', '+color[1]+', '+color[2]+')';
    } 
  }
  
  
};

window.addEventListener("load", function() {__PASSWORD__.init();}, false);</code></pre>
<p><a href="http://sentidoweb.com/lab/codes/js/password/password.html">Demo</a></p>]]></description>
<link>http://sentidoweb.com/2007/07/16/laboratorio-indicador-de-calidad-de-password.php</link>
<guid>http://sentidoweb.com/2007/07/16/laboratorio-indicador-de-calidad-de-password.php</guid>
<category>Laboratorio</category>
<pubDate>Mon, 16 Jul 2007 15:30:00 +0000</pubDate>
</item>
<item>
<title>HTML Purifier: filtro HTML en PHP</title>
<description><![CDATA[<p><img alt="htmlpurifier.png" src="http://sentidoweb.com/img/2007/06/htmlpurifier.png" width="91" height="91" class="right"/><strong>HTML Purifier</strong> es un filtro HTML para PHP que no solo elimina código XSS, sino que asegura que tus HTML cumplan los estándares.</p>

<p>A parte admite configurar el filtro con una serie de parámetros, pudiendo decir si se quiere que sea XHTML Strict o Transitional, HTML o XHTML, indicar el nivel de filtro.</p>

<p><a href="http://htmlpurifier.org">HTML Purifier</a></p>

<p>Vía / <a href="http://www.dzone.com/rsslinks/html_purifier_200_released.html">dzone</a></p>]]></description>
<link>http://sentidoweb.com/2007/06/22/html-purifier-filtro-html-en-php.php</link>
<guid>http://sentidoweb.com/2007/06/22/html-purifier-filtro-html-en-php.php</guid>
<category>XHTML</category>
<pubDate>Fri, 22 Jun 2007 10:30:00 +0000</pubDate>
</item>
<item>
<title>Paso a paso de un diseño web</title>
<description><![CDATA[<p>La gente de SitePoint han publicado un gran artículo en el que explican cómo hacer un diseño (<em>layout</em>) mediante XHTML y CSS. </p>

<p>Hace tiempo alguien nos preguntaba por un comentario en un artículo cómo podía pasar de su forma de diseñar por tablas a diseñar sin tablas. Creo que con este artículo podrá aprender la transición de forma muy sencilla y rápida.</p>

<p>Empieza explicándonos los pasos que hay que llevar a cabo para la fase inicial de nuestro diseño. Dibujar los contenidos (cabecera, panel, contenido, pie de página) y cómo crear la estructura de capas y sus estilos.</p>

<p>Después nos indica como añadir fondos y contenidos a las distintas partes de nuestra página, como por ejemplo las imágenes con <em>float</em>. No solo se centra en lo estrictamente desarrollo, sino también un poco en diseño. Añade imágenes de fondo al pie y a la cabecera que realmente quedan bastante bien.</p>

<p>Y por último nos indica como dividir el contenido en rejillas para darle un aspecto más uniforme.</p>

<p><a href="http://www.sitepoint.com/article/breaking-out-of-the-box">Breaking Out of the Box</a></p>]]></description>
<link>http://sentidoweb.com/2007/05/25/paso-a-paso-de-un-diseno-web.php</link>
<guid>http://sentidoweb.com/2007/05/25/paso-a-paso-de-un-diseno-web.php</guid>
<category>XHTML</category>
<pubDate>Fri, 25 May 2007 10:15:00 +0000</pubDate>
</item>
<item>
<title>30 scripts para galerías, presentaciones y lightboxes</title>
<description><![CDATA[<p>Una gran colección de scripts que nos ayudarán a incluir nuestras galerías de fotos, presentaciones y lightboxes. 30 scripts en total, organizadas por:</p>
<ul><li>Galerías y lightboxes en Ajax.</li>
<li>Galerías de imágenes basadas en Ajax.</li>
<li>Galerías CSS+Javascript.</li></ul>
<p>De las 30 me gustaría destacar unas cuantas que son las que más me han gustado:</p>
<ul><li><a href="http://smoothgallery.jondesign.net/showcase/gallery/">JonDesign’s SmoothGallery </a>: usando mootools v1.0 para su desarrollo, se trata de un script de tan solo 16k, que añade <em>fade</em>, transparencias, thumbnails, vistas preliminares y todo ello con un diseño muy sencillo y llamativo.<img alt="galeria1.png" src="http://sentidoweb.com/img/2007/05/galeria1.png" width="350" height="269" class="center" /></li>
<li><a href="http://www.couloir.org/js_slideshow/">Couloir.org</a>: otra galería de imágenes en forma de presentación, con <em>fade</em>, redimensionamiento de la ventana y sonido.<img alt="galeria2.png" src="http://sentidoweb.com/img/2007/05/galeria2.png" width="350" height="257" class="center" /></li>
<li><a href="http://www.huddletogether.com/projects/lightbox2/#example">Lightbox2</a>: uno de los mejores y de los más conocidos, transparencias, fade y posibilidad de navegar entre las diferentes imágenes.<img alt="galeria3.png" src="http://sentidoweb.com/img/2007/05/galeria3.png" width="350" height="297" class="center" /></li>
<li><a href="http://slideshow.triptracker.net/">TripTracker</a>: muy parecido a los anteriores, en este caso permite también acceder a la primera y última y enviar por email la ruta de la imagen en cuestión.<img alt="galeria4.png" src="http://sentidoweb.com/img/2007/05/galeria4.png" width="350" height="439" class="center" /></li>
<li><a href="http://www.cssplay.co.uk/menu/lightbox.html#flower8">Cross Browser Multi-Page Photograph Gallery</a>: Increible galería basada totalmente en CSS de la que ya hemos hecho referencia anteriormente, pero que siempre merece una mención.<img alt="galeria5.png" src="http://sentidoweb.com/img/2007/05/galeria5.png" width="350" height="288" class="center" /></li></ul>
<p><a href="http://www.smashingmagazine.com/2007/05/18/30-best-solutions-for-image-galleries-slideshows-lightboxes/">30 Scripts For Galleries, Slideshows and Lightboxes</a></p>
]]></description>
<link>http://sentidoweb.com/2007/05/21/30-scripts-para-galerias-presentaciones-y-lightboxes.php</link>
<guid>http://sentidoweb.com/2007/05/21/30-scripts-para-galerias-presentaciones-y-lightboxes.php</guid>
<category>CSS</category>
<pubDate>Mon, 21 May 2007 11:00:00 +0000</pubDate>
</item>
<item>
<title>Revisión sobre HTML5</title>
<description><![CDATA[<p>Aunque ya en su momento hablamos de las <a href="http://sentidoweb.com/2007/01/15/nuevos-elementos-y-atributos-para-html-5.php">etiquetas que traerá HTML5</a>, no hemos llegado a hablar del resto de novedades que quieren introducir en HTML5. </p>
<p>Aunque en otros sitios ya se ha hablado de ello, al no haber encontrado un artículo que me pareciera sencillo y completo, sobre todo porque no solo comenta aspectos técnicos, sino un poco de base y explicación de por qué es necesaria esta nueva versión. En este caso se trata de un artículo que nos indica los cambios/novedades principales: </p>
<ul><li><strong>Nuevos elementos</strong>, los cuales ya hemos mencionado y que están divididos en las siguientes categorías: elementos metadata (title, base, link), elementos de sección para dividir las páginas en secciones (body, section, nav y article), elementos de bloque (blockquote, section, p y  div), elementos inline (a, meter e img), elementos estructurados ol, blockquote y table), elementos interactivos entre el usuario y la página vía teclado o ratón (a, button y radio), control de formularios y otros.</li>
<li><strong>Cambios de programación en el DOM</strong>, introduciendo la <a href="http://www.w3.org/TR/DOM-Level-2-HTML/">nueva versión del DOM</a>.</li>
<li><strong>Formularios web actualizados</strong>.</li>
<li><strong>Eventos <a href="http://www.whatwg.org/specs/web-apps/current-work/#server-sent">server-sent</a></strong>.</li>
<li><strong>Capacidades para gráficos dinámicos</strong>.</li></ul>
<p><a href="http://www.devx.com/webdev/Article/34389">An Overview of HTML 5</a></p>
<p>Vía / <a href="http://www.dzone.com/rsslinks/an_overview_of_html_5.html">dzone</a></p>]]></description>
<link>http://sentidoweb.com/2007/04/25/revision-sobre-html5.php</link>
<guid>http://sentidoweb.com/2007/04/25/revision-sobre-html5.php</guid>
<category>Estándares</category>
<pubDate>Wed, 25 Apr 2007 16:00:00 +0000</pubDate>
</item>
<item>
<title>Personaliza los radio y los checkbox</title>
<description><![CDATA[<p>Muchas veces los diseños no suelen ir de acuerdo con el aspecto de los radio y los checkbox que nos ofrecen los navegadores. </p>

<p>Crear controles que sustituyan los ya existentes puede darnos problemas de accesibilidad, salvo en este caso (bueno, y supongo que en otros), ya que lo que hace este script es <strong>aprovechar la funcionalidad de las etiquetas <em>label</em></strong> para que el funcionamiento recaiga sobre estas etiquetas y no sobre las checkbox o los radio.</p>

<p><img alt="radiocheckbox.png" src="http://sentidoweb.com/img/2007/03/radiocheckbox.png" width="259" height="176" class="center"/></p>

<p>El script buscará los inputs radio y checkbox y los ocultará y cambiará el estilo de las label asociadas para que el funcionamiento sea el mismo.</p>

<p><a href="http://www.flog.co.nz/index.php/journal/arc-adams-radiocheckbox-customisation/">ARC - Adam’s Radio/Checkbox customisation</a></p>

<p>Vía / <a href="http://www.infectedfx.net/2007/03/06/enlaces-rapidos-xvi-2/">Infected-FX</a></p>]]></description>
<link>http://sentidoweb.com/2007/03/08/personaliza-los-radio-y-los-checkbox.php</link>
<guid>http://sentidoweb.com/2007/03/08/personaliza-los-radio-y-los-checkbox.php</guid>
<category>XHTML</category>
<pubDate>Thu, 08 Mar 2007 16:00:00 +0000</pubDate>
</item>
<item>
<title>___layouts: crear layouts de forma sencilla</title>
<description><![CDATA[<p><strong>___layouts</strong> te ayuda a crear tus layouts de forma fácil y automática (mediante un <a href="http://layout.constantology.com/builder/index.html">constructor</a> para Firefox).</p>
<p><img alt="____layouts.png" src="http://sentidoweb.com/img/2007/02/____layouts.png" width="341" height="151" class="center"/></p>
<p>Permite:</p>
<ul><li>Diseño fluido con ancho 100%.</li>
<li>Diseño estático con tamaños de 640px, 760px, , 900px y 1000px</li>
<li>Personalización del ancho para diseños estáticos de forma sencilla</li>
<li>Posibilidad de hacer diseños flexibles en respuesta a configuraciones iniciales del tamaño de fuente realizadas por el usuario.</li>
<li>Centrado en la página para diseños de ancho menor de 100%.</li>
<li>Facilidad para reescribir las clases CSS para aquellos que quieran diseños con tamaños exactos.</li></ul>
<p><a href="http://layout.constantology.com/">___layouts</a></p>
<p>Vía / <a href="http://ajaxian.com/archives/___layouts-simple-layout-builder">Ajaxian</a></p>]]></description>
<link>http://sentidoweb.com/2007/02/15/___layouts-crear-layouts-de-forma-sencilla.php</link>
<guid>http://sentidoweb.com/2007/02/15/___layouts-crear-layouts-de-forma-sencilla.php</guid>
<category>XHTML</category>
<pubDate>Thu, 15 Feb 2007 10:30:00 +0000</pubDate>
</item>
<item>
<title>Nuevos elementos y atributos para HTML 5</title>
<description><![CDATA[<p>En <acronym title="Web Hypertext Application Technology  Working Group">WHATWG</acronym> están trabajando en el borrador de la especificación de HTML 5. Entre los elementos y atributos nuevos que nos encontramos esta:</p>
<ul><li><strong>article</strong>: una sección de la página que es una parte independiente de un documento, página o sitio.</li>
<li><strong>aside</strong>: contenido que está relacionado tangencialmente al contenido, suele representarse con los <em>sidebars</em>.</li>
<li><strong>dialog</strong>: una conversación.</li>
<li><strong>footer</strong>: pie de página de una sección.</li>
<li><strong>header</strong>: cabecera de una sección.</li>
<li><strong>nav</strong>: representa la navegación de la página.</li>
<li><strong>section</strong>: documento genérico o parte de una aplicación.</li></ul>
<p>A parte de los que se mencionan en el artículo, yo he encontrado otros que también me han llamado la atención:</p>
<ul><li><strong>ping</strong>: atributo de los enlaces que contiene una lista de URIs que son interesantes de ser notificadas si el usuario sigue por ese enlace.</li>
<li><strong>datagrid</strong>: corresponde a una represntación interactiva de una lista, árbol o datos tabulados.</li>
<li><strong>progress</strong>: barra de progreso para representar el desarrollo de una tarea.</li></ul>
<p><a href="http://simon.html5.org/html5-elements">HTML5 Elements and Attributes</a></p>
<p>Vía / <a href="http://www.456bereastreet.com/archive/200701/elements_and_attributes_in_html_5/">456 Berea Street</a></p>]]></description>
<link>http://sentidoweb.com/2007/01/15/nuevos-elementos-y-atributos-para-html-5.php</link>
<guid>http://sentidoweb.com/2007/01/15/nuevos-elementos-y-atributos-para-html-5.php</guid>
<category>XHTML</category>
<pubDate>Mon, 15 Jan 2007 12:30:00 +0000</pubDate>
</item>
<item>
<title>Referencia HTML con ejemplos</title>
<description><![CDATA[<p>Muchas de las veces, cuando estamos realizando páginas web y no usamos un editor HTML completo, nos puede ocurrir que no nos acordamos de una etiqueta HTML, de su utilización o de sus atributos. </p>

<p>Si te encuentras en esa situación, <strong>HTML Playground</strong> puede serte de mucha utilidad, ya que te muestra todas las etiquetas HTML, con su descripción y un código de ejemplo, el cual se puede visualizar y modificar.</p>

<p><img alt="htmlplayground.png" src="http://sentidoweb.com/img/2006/12/htmlplayground.png" width="300" height="199" class="center"/></p>

<p><a href="http://htmlplayground.com">HTML Playground</a></p>

<p>Vía / <a href="http://ajaxian.com/archives/htmlplayground-gwt-based-reference-guide">Ajaxian</a></p>]]></description>
<link>http://sentidoweb.com/2006/12/04/referencia-html-con-ejemplos.php</link>
<guid>http://sentidoweb.com/2006/12/04/referencia-html-con-ejemplos.php</guid>
<category>XHTML</category>
<pubDate>Mon, 04 Dec 2006 09:02:11 +0000</pubDate>
</item>
<item>
<title>Opciones de una SELECT agrupadas</title>
<description><![CDATA[<p>Algo que no mucha gente suele conocer es que en una <em>select</em> de un HTML se pueden agrupar opciones. Algunos pensarán que esto es una tontería y que es imposible no saberlo, pero conozco bastantes casos de gente que usa <em>selects</em> y que no se fija en toda su <a href="http://www.w3.org/TR/html4/interact/forms.html#h-17.6">especificación</a>, lo cual no me extraña, porque yo jamás he tenido que crear una select agrupada, y supongo que es porque la "opción" que agrupa no es seleccionable.</p>
<p>Para agrupar opciones se necesita la etiqueta <strong>optgroup</strong>, la cual encerrará las opciones que pertenecen al mismo grupo, y dispondrá de un atributo <strong>label</strong> que será el texto que aparecerá agrupando las opciones.</p>
<pre><code>&lt;select name="prueba"&gt;
 &lt;option value="1"&gt;Opción 1&lt;/option&gt;
 &lt;optgroup label="Opción 2"&gt;
   &lt;option value="2.1"&gt;Opción 2.1&lt;/option&gt;
   &lt;option value="2.2"&gt;Opción 2.2&lt;/option&gt;
   &lt;option value="2.3"&gt;Opción 2.3&lt;/option&gt;
 &lt;/optgroup&gt;
 &lt;option value="3"&gt;Opción 3&lt;/option&gt;
 &lt;optgroup label="Opción 4"&gt;
   &lt;option value="4.1"&gt;Opción 2.1&lt;/option&gt;
   &lt;option value="4.2"&gt;Opción 4.2&lt;/option&gt;
 &lt;/optgroup&gt;
&lt;/select&gt;</code></pre>
<p>A la hora de modificar los estilos de <em>optgroup</em>, hay que tener cuidado que algunos los heredarán las opciones que contenga, por ejemplo el color de la letra.</p>
<p><a href="http://sentidoweb.com/lab/codes/html/optgroup/optgroup.html">Ejemplo</a></p>]]></description>
<link>http://sentidoweb.com/2006/11/20/opciones-de-una-select-agrupadas.php</link>
<guid>http://sentidoweb.com/2006/11/20/opciones-de-una-select-agrupadas.php</guid>
<category>XHTML</category>
<pubDate>Mon, 20 Nov 2006 10:22:00 +0000</pubDate>
</item>
<item>
<title>37 pasos para un perfecto etiquetado HTML</title>
<description><![CDATA[<p>Para aquellos que empiecen o para quienes aún sean un poco de la vieja escuela, el artículo al que hacemos referencia puede ser de gran ayuda ya que te explica desde lo más elemental a lo más semántico.</p>

<p>Hay un total de 37 puntos que nos explican qué es lo que debemos hacer o qué es cada cosa dentro de una página web. Empieza explicando lo que es un HTML, luego un XHTML, los diferentes tipos de XHTML, el <em>DOCTYPE</em>, la validación del documento, la codificación (recomendando UTF-8), el BOM dentro de un archivo UTF-8, las entidades, la semántica (el uso de cabeceras y de <em>em</em> o <em>strong</em>), los párrafos o los saltos de línea y muchas otras cosas más que recomendamos que leaís.</p>

<p><a href="http://www.sitepoint.com/article/html-37-steps-perfect-markup">Bulletproof HTML: 37 Steps to Perfect Markup</a></p>]]></description>
<link>http://sentidoweb.com/2006/10/26/37-pasos-para-un-perfecto-etiquetado-html.php</link>
<guid>http://sentidoweb.com/2006/10/26/37-pasos-para-un-perfecto-etiquetado-html.php</guid>
<category>XHTML</category>
<pubDate>Thu, 26 Oct 2006 14:15:00 +0000</pubDate>
</item>
<item>
<title>Los mejores textos sobre CSS y estándares web en castellano</title>
<description><![CDATA[<p>Uno de las obsesiones de Sentido Web es que la mayoría de la información se encuentra en inglés. A raíz de esta <a href="http://spellbook.infinitiv.it/2006/09/03/css-best-articles.htm">lista</a>, hemos realizado, junto a José Luis Antúnez, esta selección de los que consideramos los mejores artículos sobre CSS y estándares web en español.</p>]]></description>
<link>http://sentidoweb.com/2006/09/05/los-mejores-textos-sobre-css-y-estandares-web-en-castellano.php</link>
<guid>http://sentidoweb.com/2006/09/05/los-mejores-textos-sobre-css-y-estandares-web-en-castellano.php</guid>
<category>CSS</category>
<pubDate>Tue, 05 Sep 2006 12:00:00 +0000</pubDate>
</item>
<item>
<title>Crea una guía de estilos</title>
<description><![CDATA[<p>Un gran consejo que deberíamos llevar todos a cabo, es crearnos una guía con los estilos que tiene nuestra aplicación. <strong>No solo si trabajamos en nuestro propio diseño</strong>, porque siempre se nos acaban olvidando y podemos caer en el error de crearnos estilos repetidos, sino también <strong>para cuando trabajamos en proyectos grandes y o bien los estilos ya están creados pero no los conocemos</strong>, porque una cosa es leer un css y otra es adivinar que pinta tiene, o bien porque creamos alguno para que se sepa que existe.</p>

<p><img alt="cssguide.png" src="http://sentidoweb.com/img/2006/08/cssguide.png" width="230" height="169" class="center"/></p>

<p>Uno de esos documentos que odiamos hacer, pero que siempre echamos de menos tener.</p>

<p><a href="http://www.willjessup.com/?p=25">Creating a Style-Guide for your site</a></p>

<p>Vía / <a href="http://www.sitepoint.com/blogs/2006/08/30/aug-29-2006-news-wire/">SitePoint</a></p>]]></description>
<link>http://sentidoweb.com/2006/08/30/crea-una-guia-de-estilos.php</link>
<guid>http://sentidoweb.com/2006/08/30/crea-una-guia-de-estilos.php</guid>
<category>XHTML</category>
<pubDate>Wed, 30 Aug 2006 15:35:36 +0000</pubDate>
</item>


</channel>
</rss>