Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/03/2012, 19:22
navegantes
 
Fecha de Ingreso: abril-2009
Ubicación: Barcelona
Mensajes: 113
Antigüedad: 15 años
Puntos: 9
Respuesta: Ubicar bien el texto en el div

No, no hiciste lo que te dije

No cambiaste los <div> de tu menu por una lista jeje

El <div id="top_nav"> tiene que desaparecer y sustituirlo por esto

Código HTML:
Ver original
  1. <ul id="top_nav">  
  2.       <li id="top_nav_home">Home</li>
  3.       <li id="top_nav_forums">forums</li>
  4.       <li id="top_nav_cp">Control Panel</li>
  5.       <li id="top_nav_client">Client</li>
  6. </ul>

Para que no te salga el punto de la lista usa esta regla
Código CSS:
Ver original
  1. #top_nav{ list-style:none;}

Sería cuestión de ajustar un poco las cosas, pero creo que esto es lo que pedías.

El problema radica en el <p> que ponías delante de cada menú. Solo quitando eso se arreglaba, pero ya que estamos cambiando cosas, te cambio un poco más.

Piensa que el navegador tiene su propia hoja de estilos interna, así que todo aquello que no controles manualmente con tus propias reglas el navegador se encarga de gestionarlo. En este caso <p> tiene margenes a sus lados y por eso se desplaza. Piensa también que las etiquetas tienen su función. Una <p> se pensó para marcar párrafos no listas. Y un menú es una lista de cosas.

Tienes muchos <div> anidado y eso puede ser una locura, cuidado porque al final te puedes volver loco.
Y otra cosa más he visto que llamas a dos hojas de estilo por separado.Por los nombres diría que es para centrarte en lo que hay en cada una. Me parece bien, pero cuando la web esté lista mejor junta todo en una sola hoja.
El navegador no tendrá que revisar dos ficheros y a la larga es más cómodo gestionarlo. A no ser que sean miles de reglas entonces vale, pero por lo que he visto por el momento mejor todo en uno.

Espero que todo esto te sirva un poco de ayuda.

Ya que estamos... edito esto un poco.

Lo anterior estaba bien, pero usas demasiadas reglas para hacer una cosa. De la siguiente manera se simplifica todo mucho más:

Código HTML:
Ver original
  1. <ul id="top_nav">  
  2.       <li>Home</li>
  3.       <li>forums</li>
  4.       <li>Control Panel</li>
  5.       <li>Client</li>
  6.     </ul>

Y mediante selectores descendientes:

Código CSS:
Ver original
  1. #top_nav li{
  2.     font-size: 16px;
  3.     font-family: Tahoma, Geneva, sans-serif;
  4.     font-weight: normal;
  5.     text-align: center;
  6.     padding-top: 0px;
  7.     float:left;
  8.     margin-right:40px;
  9. }

Todo el resto de reglas que tenias asignadas con tantos id puedes quitarlas. En este caso como es una lista todo se posiciona uno debajo del otro. Con float:left hace que todo se monte a la izquierda y margin-right le da un margen a la derecha sino todo saldría seguido.

Así la cosa queda más limpia todavía.

;)

Última edición por navegantes; 23/03/2012 a las 19:32