Foros del Web » Creando para Internet » HTML »

Problema con el W3C

Estas en el tema de Problema con el W3C en el foro de HTML en Foros del Web. Hola, Tengo el siguiente menu: Código: <a href="#"><div id="opcMenu">INICIO</div></a> <a href="#"><div id="opcMenu">COCHES</div></a> <a href="#"><div id="opcMenu">PISOS</div></a> Os pongo el CSS: Código: #menu { height:36px; width:526px; margin:0 ...
  #1 (permalink)  
Antiguo 18/10/2008, 19:29
DMR
 
Fecha de Ingreso: noviembre-2003
Mensajes: 105
Antigüedad: 21 años
Puntos: 0
Pregunta Problema con el W3C

Hola,

Tengo el siguiente menu:

Código:
   <a href="#"><div id="opcMenu">INICIO</div></a>
    <a href="#"><div id="opcMenu">COCHES</div></a>
    <a href="#"><div id="opcMenu">PISOS</div></a>

Os pongo el CSS:

Código:
#menu {
	height:36px;
	width:526px;
	margin:0 auto;
	border:2px solid #3399ff;
	font-size:0.8em;
	
}

#opcMenu {
	cursor:hand;	
	font-weight:bold;
	float:left;
	padding:10px;
}
#opcMenu:hover {
	background-color:#333;
}

Vale, la cosa es que queda muy bonito, pero no me pasa la validacion W3C.

Me da el error:

Cita:
Line 281, Column 33: document type does not allow element "div" here; missing one of "object", "applet", "map", "iframe", "button", "ins", "del" start-tag.

<a href="#"><div id="opcMenu">INICIO</div></a>

The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.

One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").
Yo se porque da el error (*), pero no se me ocurre ahora como arreglarlo sin complicarme mucho la vida, pero que siga haciendo el mismo efecto.

Alguna sugerencia?

Gracias.


(*) Que pongo la etiqueta <a href... antes del div y ahi esta el fallo... pero al tenerlo asi cuando paso el raton por la "BARRA DE MENU DE LA PAGINA" se cambia el fondo de color y mola.

PD: Tb da error pq repito el nombre de la etiqueta ID... ¿?
  #2 (permalink)  
Antiguo 19/10/2008, 03:31
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 8 meses
Puntos: 36
Respuesta: Problema con el W3C

¿Y por qué no cambias tu HTML por este? Queda igual y respeta los estándares:
Código HTML:
 <a href="#" class="opcMenu">INICIO</a>
    <a href="#" class="opcMenu">COCHES</a>
    <a href="#" class="opcMenu">PISOS</a> 
Y cambia en tu CSS las # por .
Además, te funcionará en IE6.
  #3 (permalink)  
Antiguo 19/10/2008, 04:22
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Problema con el W3C

estas definiendo las class como id en el css .
  #4 (permalink)  
Antiguo 19/10/2008, 07:08
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Problema con el W3C

jejeje.... yo soy partidario de que sea estandar
  #5 (permalink)  
Antiguo 19/10/2008, 07:13
DMR
 
Fecha de Ingreso: noviembre-2003
Mensajes: 105
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema con el W3C

Cita:
Iniciado por Raulmmmm Ver Mensaje
¿Y por qué no cambias tu HTML por este? Queda igual y respeta los estándares:
Código HTML:
 <a href="#" class="opcMenu">INICIO</a>
    <a href="#" class="opcMenu">COCHES</a>
    <a href="#" class="opcMenu">PISOS</a> 
Y cambia en tu CSS las # por .
Además, te funcionará en IE6.

Perfecto.
Muchas gracias.
  #6 (permalink)  
Antiguo 19/10/2008, 09:36
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 9 meses
Puntos: 998
Respuesta: Problema con el W3C

si eso es un menu, semánticamente está incorrecto. un menú basicamente es una lista desordenada de enlaces, así que debes de usar UL LI y no divs
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #7 (permalink)  
Antiguo 19/10/2008, 11:16
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 8 meses
Puntos: 36
Respuesta: Problema con el W3C

Es verdad webosiris. Para que valide y quede igual debería estar así:
Código HTML:
<ul id="menu">
<li><a href="#" class="opcMenu">INICIO</a></li>
<li><a href="#" class="opcMenu">COCHES</a></li>
<li><a href="#" class="opcMenu">PISOS</a></li>
</ul> 
Y el CSS:
Código:
#menu {
	height:36px;
	width:526px;
	margin:0 auto;
	border:2px solid #3399ff;
	font-size:0.8em;
	list-style: none;
	
}

.opcMenu {
	cursor:hand;	
	font-weight:bold;
	float:left;
	padding:10px;
}
.opcMenu:hover {
	background-color:#333;
}
Gracias por el apunte .
  #8 (permalink)  
Antiguo 19/10/2008, 14:00
 
Fecha de Ingreso: enero-2008
Ubicación: #Callao {Lima:Perú;}
Mensajes: 144
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: Problema con el W3C

También podria ser de está manera:

Código:
<ul id="menu">
<li><a href="#">Inicio</a></li>
<li><a href="#">Coches</a></li>
<li><a href="#">Pisos</a></li>
</ul>
Código:
#menu {
	height:36px;
	width:526px;
	margin:0 auto;
	border:2px solid #3399ff;
	font-size:0.8em;
	list-style: none;
}

#menu li {
	cursor:hand;	
	font-weight:bold;
	float:left;
	padding:10px;
        text-transform: uppercase;
}
#menu li a:hover {
	background-color:#333;
}
  #9 (permalink)  
Antiguo 19/10/2008, 14:00
DMR
 
Fecha de Ingreso: noviembre-2003
Mensajes: 105
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema con el W3C

Lo he probado tal cual y no da el mismo resultado...

habria algun problema en dejarlo sin los ul e li?
  #10 (permalink)  
Antiguo 19/10/2008, 16:02
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 18 años, 1 mes
Puntos: 280
Respuesta: Problema con el W3C

No da el mismo resultado porque hay que hacer unos retoques en la css. Empieza por aquí:

HTML
Cita:
<div id="menu">
<ul>
<li><a href="#">Inicio</a></li>
<li><a href="#">Coches</a></li>
<li><a href="#">Pisos</a></li>
</ul>
</div>
CSS
Cita:
#menu {
height:36px;
width:526px;
margin:0 auto;
border:2px solid #3399ff;
font-size:0.8em;
list-style: none;
}
#menu ul {list-style-type: none;}

#menu li a {display: block;
font-weight:bold;
float:left;
padding:10px;
text-transform: uppercase;
}
#menu li a:hover {
background-color:#333;
}
Y con esta base ya retoca lo que necesites.
__________________
Visita mi nueva web idplus.org
  #11 (permalink)  
Antiguo 20/10/2008, 09:43
DMR
 
Fecha de Ingreso: noviembre-2003
Mensajes: 105
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema con el W3C

Perfecto.

Ahora si me sale aunque he tenido que usar el clasico:
<!--[if IE]>
<style type="text/css">
#menu ul { margin:0 40px; }
.enlacesPics { margin-bottom:11px; float: left; }
</style>
<![endif]-->
  #12 (permalink)  
Antiguo 20/10/2008, 10:01
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Problema con el W3C

el clasico hack para IE que asco !
  #13 (permalink)  
Antiguo 20/10/2008, 10:06
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 18 años, 1 mes
Puntos: 280
Respuesta: Problema con el W3C

Cita:
Iniciado por nfo Ver Mensaje
el clasico hack para IE que asco !
Este comentario sería más interesante si le aportaras una alternativa sin usar el comentario condicional para IE.
__________________
Visita mi nueva web idplus.org

Última edición por Mikmoro; 20/10/2008 a las 11:03
  #14 (permalink)  
Antiguo 20/10/2008, 10:12
Avatar de daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 16 años, 8 meses
Puntos: 142
Respuesta: Problema con el W3C

Yo no le veo el lado asqueroso (Excepto la propia idea que debamos usarlo o~o).

Un mal necesario... Aunque no debería ser

Lo bueno es que ya arreglaron lo de la página
__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...
  #15 (permalink)  
Antiguo 20/10/2008, 11:04
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 18 años, 1 mes
Puntos: 280
Respuesta: Problema con el W3C

Cita:
Iniciado por DMR Ver Mensaje
Perfecto.

Ahora si me sale aunque he tenido que usar el clasico:
<!--[if IE]>
<style type="text/css">
#menu ul { margin:0 40px; }
.enlacesPics { margin-bottom:11px; float: left; }
</style>
<![endif]-->
Pero entonces... ¿dónde sigues usando la clase .enlacesPics?
__________________
Visita mi nueva web idplus.org
  #16 (permalink)  
Antiguo 20/10/2008, 12:10
DMR
 
Fecha de Ingreso: noviembre-2003
Mensajes: 105
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema con el W3C

Cita:
Iniciado por Mikmoro Ver Mensaje
Pero entonces... ¿dónde sigues usando la clase .enlacesPics?
Lo de .enlacesPics lo uso en otro sitio que no es el menu.

Pero entonces el rollo este del "hack de IE" es malo?

Yo pensaba que era algo normal cuando no se comportaba como deberia...

¿Debo hacerlo de otra forma?

Por cierto, ya que estamos... alguien me puede decir la diferencia basica entre id y class?... a parte de que el id es unico (o debe serlo)...
  #17 (permalink)  
Antiguo 20/10/2008, 12:15
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años, 5 meses
Puntos: 177
Respuesta: Problema con el W3C

ID --> es unico e irrepetible dentro del HTML
CLASS --> lo podemos utilizar las veces que querramos dentro de nuestro HTML

__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #18 (permalink)  
Antiguo 20/10/2008, 12:16
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 18 años, 1 mes
Puntos: 280
Respuesta: Problema con el W3C

Cita:
Iniciado por DMR Ver Mensaje
Lo de .enlacesPics lo uso en otro sitio que no es el menu.
Entendido.

Cita:
Iniciado por DMR Ver Mensaje
Pero entonces el rollo este del "hack de IE" es malo?

Yo pensaba que era algo normal cuando no se comportaba como deberia...

¿Debo hacerlo de otra forma?
No, no es malo. Efectivamente es lo que se usa cuando no queda otro remedio. Siempre es bueno intentar encontrar código compatible que funcione bien sin hacks, que suele ser posible pero no siempre. Y cuando no hay manera, se usa un comentario condicional y listo.

Cita:
Iniciado por DMR Ver Mensaje
Por cierto, ya que estamos... alguien me puede decir la diferencia basica entre id y class?... a parte de que el id es unico (o debe serlo)...
Pues esa es la diferencia: ID es único y se referencia en la CSS con una almohadilla (#), y class es para poder ser usado en varios elementos (del mismo tipo o no), y se referencia con un punto (.)
__________________
Visita mi nueva web idplus.org
  #19 (permalink)  
Antiguo 20/10/2008, 12:18
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 18 años, 1 mes
Puntos: 280
Respuesta: Problema con el W3C

Cita:
Iniciado por DragonX Ver Mensaje
ID --> es unico e irrepetible dentro del HTML
CLASS --> lo podemos utilizar las veces que querramos dentro de nuestro HTML

Buen choque Te has adelantado. Sobraba ya mi tercera respuesta entonces.
__________________
Visita mi nueva web idplus.org
  #20 (permalink)  
Antiguo 20/10/2008, 12:39
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años, 5 meses
Puntos: 177
Respuesta: Problema con el W3C

no, no, no es preferible que sobre y no que falte
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #21 (permalink)  
Antiguo 20/10/2008, 13:10
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Problema con el W3C

Cita:
Iniciado por DMR Ver Mensaje
Lo de .enlacesPics lo uso en otro sitio que no es el menu.

Pero entonces el rollo este del "hack de IE" es malo?

Yo pensaba que era algo normal cuando no se comportaba como deberia...

¿Debo hacerlo de otra forma?

Por cierto, ya que estamos... alguien me puede decir la diferencia basica entre id y class?... a parte de que el id es unico (o debe serlo)...
no es malo, pero si no queda otro remedio.... hay que usarlo, es por los navegadores.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:49.