Ver Mensaje Individual
  #8 (permalink)  
Antiguo 26/03/2012, 12:41
kseso?
Colaborador
 
Fecha de Ingreso: junio-2007
Mensajes: 5.798
Antigüedad: 16 años, 10 meses
Puntos: 539
Respuesta: especificar conjunto de caracteres en las cabeceras HTTP

Css al igual que cualquier otro lenguaje provee soluciones propias para estas circunstancias.


En css sólo hay dos posibilidades donde utilizar caracteres "extraños" al propio lenguaje: en el nombre de los selectores y en el valor de content cuando es una cadena.

Pues al igual que html tiene una solución para cuando se desconoce el destino final de un código: las "html entities", css tiene su propia codificación de esos símbolos "impropios" a él. Porque recordemos que css no procesa el contenido de content. Sólo lo muestra. Así que sólo es cuestión de codificar dichos caracteres para el lenguaje que lo va a tratar: css.

Así en el caso del ejemplo sólo es cuestión de escribir:
Código CSS:
Ver original
  1. elemento::before {content: 'Oferta del m''\00E9''s';}
y tendré la absoluta certeza de que se mostrará bien con independencia de la codificación de la/las páginas por donde pase.

Y no sólo con acentos o caracteres más o menos habituales en español. Casi cualquier símbolo, dingbats, flechas, carácter hebreo o hiragana o cherokee o... se podrá mostrar vía css sea cual sea la codificación del documento o el lenguaje del SO del usuario que lo vea.

Resumiendo todo el tocho, que sí, que se puede declarar charset por defecto en el css, pero la especificación está clara: se han concebido para su uso en hojas de estilo vinculadas y sólo es conveniente cuando el css contiene caracteres no ASCII.

Pero mejor que utilizar un charset u otro es, en los pocos casos que puedan darse, es utilizar solucciones propias de css: codificación css.
Y como nadie va a aprenderse de memoria dicha codificación hay herramientas como la que menciono aquí.
__________________
Por una web con mucho estilo
+++ CUENTA ABANDONADA. ¿la quieres? +++