<a> <p/> </ a> no válidos, pero a> span (display: bloque) válida?

  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Registrado: Feb 10, 2004
  • Mensajes: 13455
  • Loc: Florida
  • Status: Offline

Nota Julio 28th, 2009, 5:18 am

Im no supone colocar un elemento en bloque dentro de un elemento en línea, pero no puedo configurar la pantalla de un elemento en línea anidado dentro de otro elemento en línea para bloquear.

Por ejemplo, esto sería válido y que los navegadores de torcerse.

Código: [ Select ]
<a><p>Word</p></a>


Sin embargo, esto parece estar perfectamente bien.

Código: [ Select ]
<style type="text/css">
a > span {display:block;}
</style>
 
<!-- ... -->
 
<a><span>Word</span></a>
  1. <style type="text/css">
  2. a > span {display:block;}
  3. </style>
  4.  
  5. <!-- ... -->
  6.  
  7. <a><span>Word</span></a>


¿Por qué es eso?
¿Qué me estoy perdiendo?
Strong with this one, the sudo is.
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Julio 28th, 2009, 5:18 am

  • spork
  • Brewmaster
  • Silver Member
  • Avatar de Usuario
  • Registrado: Sep 22, 2003
  • Mensajes: 6130
  • Loc: Seattle, WA
  • Status: Offline

Nota Julio 28th, 2009, 6:58 am

<p> elemento es un bloque, mientras que <span> y <a> son elementos en línea. Elementos en línea se pueden anidar dentro de cada bloque y en otros elementos, pero los elementos de bloque no se pueden anidar dentro de elementos en línea.

editar: didnt ver la parte sobre el espacio que muestra como un bloque. Extraño.
The Beer Monocle. Classy.
  • graphixboy
  • Control + Z
  • Mastermind
  • Avatar de Usuario
  • Registrado: Jul 11, 2005
  • Mensajes: 1828
  • Loc: In the Great White North
  • Status: Offline

Nota Julio 28th, 2009, 8:47 am

No creo que el problema es realmente un elemento que su nivel de bloque. Sus más que los navegadores utilizan elementos a nivel de bloque para determinar qué es el diseño de lo que es el contenido. De los navegadores tienen dificultades para comprender dónde están los límites de los objetos, haga clic en poder ampliar en el orden de apilamiento si el contenido de un ancla no está en línea (es decir, diseño). Supongo que esto es un retroceso desde los primeros días cuando la gente no tenía vínculos con otra cosa que el texto. Especie de la misma manera que IE6 no entiende li: hover.

Coincidentemente este podría ser un mecanismo de seguridad, así que el navegador que tendría un tiempo muy duro con algo como
Código: [ Select ]
<a href="#">
<div id="myDropDownMenu">
     <a href="#">Some Link</a>
     <a href="#">Some Link</a>
     <a href="#">Some Link</a>
</div>
</a>
  1. <a href="#">
  2. <div id="myDropDownMenu">
  3.      <a href="#">Some Link</a>
  4.      <a href="#">Some Link</a>
  5.      <a href="#">Some Link</a>
  6. </div>
  7. </a>

En un caso como el que soy bastante seguro de que la mayoría de los navegadores se freakout y quién sabe qué elemento recibirá un clic

Mi instinto me dice que su permitiendo la declaración de bloqueo en la CSS desde un navegador sí sabe qué hacer con un <a> sin depender de la CSS para más información fuera de estilo el contenido. Lo CSS es una solución muy buena para cuando se necesita un gran bloque de contenido que se puede hacer clic sin embargo.
If at first you don't succeed F1... If that doesn't work try Google!
//// Designer, Developer & Teacher - Interactive, Motion and 3D \\\\
Portfolio at WhenImNotSleeping.com

Publicar Información

  • Total de mensajes en este tema: 3 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 116 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC