Foros del Web » Creando para Internet » HTML »

ERRORES VALIDACION AL ENVOLVER <li> con <a>.

Estas en el tema de ERRORES VALIDACION AL ENVOLVER <li> con <a>. en el foro de HTML en Foros del Web. Hola a todos: Al ir a validar mi página he podido comprobar que no se pueden envolver elementos <li> con enlaces <a> (aunque funciona perfectamente ...
  #1 (permalink)  
Antiguo 23/07/2012, 04:09
 
Fecha de Ingreso: mayo-2012
Ubicación: Palma de Mallorca
Mensajes: 71
Antigüedad: 11 años, 11 meses
Puntos: 1
ERRORES VALIDACION AL ENVOLVER <li> con <a>.

Hola a todos:

Al ir a validar mi página he podido comprobar que no se pueden envolver elementos <li> con enlaces <a> (aunque funciona perfectamente en todos los navegadores que he probado). Pongo un ejemplo:

Código PHP:
<div id="menu">
            <
ul>
                <
a href="index.html"><li class="mnuActivo">Inicio</li></a>
                <
a href="quienesSomos.html"><li>¿Quiénes somos?</li></a>
                <
a href="tarifas.html"><li>Tarifas</li></a>
                <
a href="ofertas.html"><li>Ofertas</li></a>
                <
a href="talleres.html"><li>Talleres</li></a>
                <
a href="dondeEncontrarnos.html"><li>¿Dónde encontrarnos?</li></a>
                <
a href="contacto.html"><li>Contacto</li></a>
                <
a href="elegirAvanceBioMed.html"><li>¿Por qué elegir Avance BioMed?</li></a>
            </
ul>
</
div
Quiero hacerlo así porque me gusta que las etiquetas de los menús de navegación funcionen al pulsar sobre la propia etiqueta (a modo de botón, por decirlo de alguna manera) y no al pulsar sobre el texto. Me parece más intuitivo para el usuario.

¿Se puede hacer correctamente (que validen las páginas) con HTML/XHTML y CSS o es necesario acudir a algún tipo de script?

Gracias por la ayuda.

Saludos,

GMG.
  #2 (permalink)  
Antiguo 23/07/2012, 08:21
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: ERRORES VALIDACION AL ENVOLVER <li> con <a>.

lo que puedes hacer es ejecutar el link con el li:

<li onclick="window.location = this.childNodes[0].href;"><a href="url">link</a></li>

requiere javascript
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 23/07/2012, 08:58
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.263
Antigüedad: 19 años, 1 mes
Puntos: 2114
Respuesta: ERRORES VALIDACION AL ENVOLVER <li> con <a>.

Cita:
Iniciado por gmonterog Ver Mensaje
Quiero hacerlo así porque me gusta que las etiquetas de los menús de navegación funcionen al pulsar sobre la propia etiqueta (...)
Entiendo que si te preocupan los estándares—por algún motivo has ido a validar tu código—debieras respetarlos.

El markup que presentaste; no valida, porque está mal escrito. Podrá contentarte porque lo probaste en algún navegador y funciona según tus expectativas.

Pero ello no alcanza.

El algún dispositivo, ello fallará: smartphone, tablet, screen reader, smart TV, etc.

Cita:
Codifica siempre como si el tipo que finalmente mantendrá tu código fuera un psicópata violento que sabe donde vives


__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #4 (permalink)  
Antiguo 24/07/2012, 02:18
 
Fecha de Ingreso: mayo-2012
Ubicación: Palma de Mallorca
Mensajes: 71
Antigüedad: 11 años, 11 meses
Puntos: 1
Respuesta: ERRORES VALIDACION AL ENVOLVER <li> con <a>.

Gracias maycolalvarez, probaré lo que me dices, tiene buena pinta.

Saludos,

GMG
  #5 (permalink)  
Antiguo 24/07/2012, 02:22
 
Fecha de Ingreso: mayo-2012
Ubicación: Palma de Mallorca
Mensajes: 71
Antigüedad: 11 años, 11 meses
Puntos: 1
Respuesta: ERRORES VALIDACION AL ENVOLVER <li> con <a>.

Muy buena la cita del psicopata, Daniel, jeje.

Precisamente por que me preocupan los estandares he hecho esta consulta. Soy consciente de que el código está mal (no lo era cuando lo escribí). Ahora me queda el tedioso camino de arreglar este y otros entuertos para que el proyecto quede lo más correcto posible.

Gracias a todos nuevamente. Si sigo teniendo problemas volveré a dar la lata.

Saludos,

GMG.
  #6 (permalink)  
Antiguo 24/07/2012, 02:46
 
Fecha de Ingreso: mayo-2012
Ubicación: Palma de Mallorca
Mensajes: 71
Antigüedad: 11 años, 11 meses
Puntos: 1
Respuesta: ERRORES VALIDACION AL ENVOLVER <li> con <a>.

Estoy empleando la propuesta de maycolalvarez y me ha surgido un problemilla, algunos enlaces tienen el atributo target="blank" y parece no funcionar. Necesito que se abran en ventana o pestaña nueva. ¿Sabrías indicarme la sintaxis correcta?

Gracias de antemano.

Saludos,

GMG.

Cita:
Iniciado por maycolalvarez Ver Mensaje
lo que puedes hacer es ejecutar el link con el li:

<li onclick="window.location = this.childNodes[0].href;"><a href="url">link</a></li>

requiere javascript
  #7 (permalink)  
Antiguo 24/07/2012, 05:52
 
Fecha de Ingreso: mayo-2012
Ubicación: Palma de Mallorca
Mensajes: 71
Antigüedad: 11 años, 11 meses
Puntos: 1
Respuesta: ERRORES VALIDACION AL ENVOLVER <li> con <a>.

Hola nuevamente;

He indagado un poco y ya he podido dar con la sintaxis (javascript) para abrir los enlaces en una nueva ventana. Por si a algún que otro principiante como yo le interesa, la cosa queda así:

Código Javascript:
Ver original
  1. <li onclick="window.open (this.childNodes[0].href);"><a href="galeria.html" target="blank">Galería</a></li>

Usando window.open en vez de window.location.

Asunto cerrado.

Saludos,

GMG.
  #8 (permalink)  
Antiguo 24/07/2012, 17:51
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: ERRORES VALIDACION AL ENVOLVER <li> con <a>.

de hecho estaba por indicarte lo mismo, pero con una modificación interesante:

<li onclick="window.open (this.childNodes[0].href, this.childNodes[0].target);"><a href="galeria.html" target="blank">Galería</a></li>ç

en efecto, el 2do parámetro de windows.open es el target
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #9 (permalink)  
Antiguo 25/07/2012, 04:04
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 2 meses
Puntos: 998
Respuesta: ERRORES VALIDACION AL ENVOLVER <li> con <a>.

hay una forma muy sencilla que no requiere ni javascript ni nada, solo css básico.

Escribe el html de forma correcta (los A dentro de los LI) y dale a los A un display:block
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #10 (permalink)  
Antiguo 16/10/2012, 17:52
 
Fecha de Ingreso: mayo-2012
Ubicación: Palma de Mallorca
Mensajes: 71
Antigüedad: 11 años, 11 meses
Puntos: 1
Respuesta: ERRORES VALIDACION AL ENVOLVER <li> con <a>.

Hola webosiris,

Llevo "fuera" una temporadita. Gracias por tu aportación. Muy interesante. Lo probaré.

Saludos,

GMG

Cita:
Iniciado por webosiris Ver Mensaje
hay una forma muy sencilla que no requiere ni javascript ni nada, solo css básico.

Escribe el html de forma correcta (los A dentro de los LI) y dale a los A un display:block

Etiquetas: css, errores, página
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 04:39.