<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>flapa, el blog de humor &#187; css</title>
	<atom:link href="http://www.flapa.es/etiqueta/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flapa.es</link>
	<description>Blog de humor irreverente: vídeos, podcast de humor, tiras cómicas, viñetas y sobre todo, mucha mala leche</description>
	<lastBuildDate>Mon, 13 Feb 2012 08:30:23 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<copyright>2006-2007 </copyright>
	<managingEditor>hola@flapa.es (flapa, el blog de humor)</managingEditor>
	<webMaster>hola@flapa.es (flapa, el blog de humor)</webMaster>
	<ttl>1440</ttl>
	<image>
		<url>http://www.flapa.es/wp-content/images/autores/caratula-podcast.jpg</url>
		<title>flapa, el blog de humor</title>
		<link>http://www.flapa.es</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>Blog de humor irreverente: vídeos, podcast de humor, tiras cómicas, viñetas y sobre todo, mucha mala leche</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>flapa, el blog de humor</itunes:author>
	<itunes:owner>
		<itunes:name>flapa, el blog de humor</itunes:name>
		<itunes:email>hola@flapa.es</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://www.flapa.es/wp-content/images/autores/caratula-podcast.jpg" />
		<item>
		<title>[Día Serio] Crear un menú horizontal en WordPress utilizando sólo CSS</title>
		<link>http://www.flapa.es/autores/astracan/dia-serio-crear-un-menu-horizontal-en-wordpress-utilizando-solo-css/</link>
		<comments>http://www.flapa.es/autores/astracan/dia-serio-crear-un-menu-horizontal-en-wordpress-utilizando-solo-css/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 12:00:09 +0000</pubDate>
		<dc:creator>astracan</dc:creator>
				<category><![CDATA[Astracán]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[día serio]]></category>
		<category><![CDATA[maquetación]]></category>
		<category><![CDATA[menú horizontal]]></category>
		<category><![CDATA[menú wordpress]]></category>

		<guid isPermaLink="false">http://www.flapa.es/?p=10093</guid>
		<description><![CDATA[Te recordamos que hoy nos ha dado por ahí y éste es el día serio de flapa El código utilizado, en el siguiente artículo sólo es válido para WordPress 2.7.0 o superior, salvo el CSS Hasta el momento los desarrolladores en WordPress teníamos ligeros problemas para mostrar el menú de navegación de nuestros blogs. Con [...]]]></description>
			<content:encoded><![CDATA[<div class="nota">
<blockquote>Te recordamos que hoy nos ha dado por ahí y éste es el <a href="http://www.flapa.es/etiqueta/dia-serio/">día serio de flapa</a></p></blockquote>
</div>
<div class="advertencia">
<blockquote>El código utilizado, en el siguiente artículo sólo es válido para WordPress 2.7.0 o superior, salvo el CSS</p></blockquote>
</div>
<p>Hasta el momento los desarrolladores en <a href="http://www.wordpress.org" onclick="pageTracker._trackPageview('/outgoing/www.wordpress.org?referer=');">WordPress</a> teníamos ligeros problemas para mostrar el menú de navegación de nuestros blogs. Con la llegada de <strong>WordPress 2.7</strong> (y superiores) también llegaron varias funciones que nos facilitaban la vida, en la medida de lo posible. Una de ellas es <strong>wp_page_menu</strong>.</p>
<h4>¿Para qué sirve wp_page_menu?</h4>
<p>Básicamente muestra un listado de páginas a modo de enlaces y además, y he aquí lo novedoso, nos da la oportunidad de incluir una opción de &#8220;Inicio&#8221; para acceder a la portada de nuestra página, algo que hasta ahora teníamos que realizarlo casi manualmente, en mi caso utilizando una función en function.php.</p>
<h4>¿Cómo la utilizo?</h4>
<p>La sintaxis es la siguiente:</p>
<pre><code>&lt;?php wp_page_menu( $args ); ?&gt;</code></pre>
<p>Los parámetros los podéis encontrar en el Codex de WordPress, donde además os ponen algunos ejemplos para que os vayáis familiarizando con esta reciente función.</p>
<h4>¿Y tanto bombo para tanto?</h4>
<p>No seas impaciente, que ya que estamos picando código, vamos a enseñarte cómo maquetar un menú horizontal de dos niveles de profundidad utilizando únicamente CSS, algo sencillo y para newbies (que nos vamos a poner serios en flapa, pero no tanto joder).</p>
<p>Lo primero es generar nuestro menú. Antes realmente habría que crear una estructura de páginas, de dos niveles de profundidad como máximo. En nuestro ejemplo las páginas serán: Portada, Seccion1 (subpagina1,subpagina2), Seccion3 (subpagina3,subpagina4).</p>
<p>Para generar el menú utilizaremos la función <strong>wp_page_menu</strong> que os mostramos antes. En nuestro caso, ordenaremos mediante el orden impuesto a la página. Además, pondremos el nombre &#8220;Portada&#8221; al enlace que lleve a la home de nuestro blog y le daremos la clase &#8220;horizontal-menu&#8221; a la estructura HTML generada:</p>
<pre><code>&lt;?php wp_page_menu( array( 'show_home' =&gt; 'Portada', 'sort_column' =&gt; 'menu_order', 'menu_class' =&gt; 'horizontal-menu' ) ); ?&gt;</code></pre>
<p>Esto generaría un menú parecido al siguiente:</p>
<pre><code>&lt;div class="horizontal-menu"&gt;
  &lt;ul&gt;
    &lt;li class="current_page_item"&gt;
      &lt;a href="http://urldetublog"&gt;Portada&lt;/a&gt;
    &lt;/li&gt;
    &lt;li class="page_item page_item_1"&gt;
      &lt;a href="http://urldetublog/seccion1"&gt;Seccion1&lt;/a&gt;
      &lt;ul&gt;
        &lt;li class="page_item page_item_2"&gt;
          &lt;a href="http://urldetublog/seccion1/subpagina1"&gt;subpagina1&lt;/a&gt;
        &lt;/li&gt;
        &lt;li class="page_item page_item_3"&gt;
          &lt;a href="http://urldetublog/seccion2/subpagina2"&gt;subpagina2&lt;/a&gt;
        &lt;/li&gt;
      &lt;/ul&gt;
    &lt;li class="page_item page_item_4"&gt;
      &lt;a href="http://urldetublog/seccion1"&gt;Seccion1&lt;/a&gt;
      &lt;ul&gt;
        &lt;li class="page_item page_item_5"&gt;
          &lt;a href="http://urldetublog/seccion1/subpagina1"&gt;subpagina1&lt;/a&gt;
        &lt;/li&gt;
        &lt;li class="page_item page_item_6"&gt;
          &lt;a href="http://urldetublog/seccion2/subpagina2"&gt;subpagina2&lt;/a&gt;
        &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;</code></pre>
<div class="nota">
<blockquote>Las clases del tipo <em>page_item_#</em>, el número que aparece es el ID de la página en cuestión y se genera de forma automática al crear la página. Los que hemos puesto son un ejemplo, no necesariamente deben ser los mismos que los tuyos.</p></blockquote>
</div>
<h4>Toma ya. ¿Ya hora qué?</h4>
<p>Pues vamos a maquetar. Y aquí viene la bola extra y el por qué mola tanto <strong>wp_page_menu</strong>. Nos crea clases muy útiles en cada elemento <em>li</em> y que nos ayudan a maquetar. Por ejemplo, cada vez que hago click sobre un enlace, al <em>li</em> que lo contiene le pone la clase <em>current_page_item</em>. Si se trataba de una subpágina, al <em>li</em> de la página padre le aplica las clases <em>current_page_antecesor</em> y <em>current_page_parent</em>.</p>
<p>Ahora viene la magia:</p>
<pre><code>
.horizontal-menu ul li{
  display: inline;
  float: left;
  margin-left: 5px; /* cambiar este margen para aumentar la separación entre las opciones de 1er nivel */
  width: 200px; /* os recomiendo poner un ancho fijo, el motivo lo explico después */
}

/* para controlar el estilo de los enlaces de primer nivel */
.horizontal-menu ul li a{
  display:block;
  padding:10px 13px;
  text-decoration:none;
  cursor:pointer;
}

/* para controlar los li de segundo nivel */
.horizontal-menu li ul li{
  margin: 0;
  float: none;
  display: block;
  background-color: #CCC;
}

/* para controlar el estilo de los enlaces de segundo nivel */
.horizontal-menu li ul a{
  padding: 5px 10px 5px 10px;
}

.horizontal-menu li ul{
  display: none;
  position: absolute;
}

.horizontal-menu li:hover ul{
  display: block;
}

/* para controlar el color de las opciones sobre las que paso el ratón */
.horizontal-menu li:hover{
  background-color: #AAA;
}

/* para controlar el color de los li seleccionados, sobre los que paso el ratón,
los li padres y los li padres sobre los que paso el ratón */
.horizontal-menu .current_page_item,
.horizontal-menu .current_page_item:hover,
.horizontal-menu .current_page_parent,
.horizontal-menu .current_page_parent:hover{
  background-color: #FFBD25;
}

/* para controlar el color de los li de segundo nivel seleccionados */
.horizontal-menu .current_page_parent .current_page_item{
  background-color: #CCC;
}                    

/* para controlar el color de los li de segundo nivel seleccionados
sobre los que paso el ratón */
.horizontal-menu .current_page_parent .current_page_item:hover{
  background-color: #AAA;
}
</code></pre>
<div class="nota">
<blockquote>Con este CSS podemos controlar todo el comportamiento de nuestro menú horizontal. Donde digo colores, podéis cambiarlos por imágenes y demás virguerías, para ponerlo bonito dentro de la medida de lo posible. Por cierto, no lo he testeado en Internet Explorer (ni ganas).</p></blockquote>
</div>
<p>Pues hasta aquí todo por hoy y para siempre jamás. ¿A que mola? Pues ahora viene lo divertido: La verdad es que <strong>no mola nada</strong>. Es decir, para blogs con <strong>poca profundidad en su arquitectura de información</strong> esta opción <strong>no es para nada recomendable</strong>. ¿Por qué? Porque ocultar información no es una buena práctica desde el punto de vista de la experiencia de usuario. Obligamos a que el usuario tenga que situar el ratón sobre un elemento en cuestión para descubrir qué se oculta detrás, y se convierte en algo bastante tedioso.</p>
<p>Dejando que esto sea un blog de&#8230; a sí, humor, que ya se me había olvidado&#8230; pues espero que algunos os resulte útil. O no.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flapa.es/autores/astracan/dia-serio-crear-un-menu-horizontal-en-wordpress-utilizando-solo-css/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

