Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/12/2011, 01:11
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: duda con maquetacion

cuando usas xhtml, lo correcto sería pasarlos como application/xhtml+xml, aunque generalmente se hace como text/html.
Si el caso fuese el primero, ciertos selectores de css pueden producir errores en la lectura del xml ( por ejemplo E > F, puede interpretarse el > como un cierre de etiqueta, las expresiones dinámicas que usas IE, width:expression(document.body.clientWidth > 800? "800px": "auto" );), usando CDATA, se previenen esos errores porque el parser de xml no los analiza.


Es algo similar a lo que se hacía para que los navegadores viejos que no entendían el css, no provocasen fallos, para eso encerrabas el css en comentarios html

<style type="text/css">
<!--

/* código CSS */
html, body {
padding: 0;
margin: 0;
}

-->
</style>

Volviendo al CDATA, obviamente si servimos el archivo como text/html, se hace innecesario.

Pero en la práctica el caso es que en mi editor de texto tengo creadas plantillas para xhtml, y las mismas incluyen los bloques CDATA, tanto para el CSS, como prara javascript, asi que no me cuesta nada ponerlas.

Para CSS es

Código CSS:
Ver original
  1. <style type="text/css">
  2. /*<![CDATA[*/
  3.  
  4. /* codigo css */
  5. html, body {
  6. padding: 0;
  7. margin: 0;
  8. }
  9.  
  10. /*]]>*/
  11. </style>
para javascript es

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. //<![CDATA[
  3.  
  4. /* código jscript */
  5. alert('hola');
  6.  
  7. //]]>
  8. </script>

Notá la diferencia en la sintáxis, ya que uno usa el estilo de comentarios de css /* */
Y el otro el de comentarios de javascript //

Demás no están, y como te dije , no me cuesta nada ponerlas cuando creo un archivo de ejemplo

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.