2011-01-11 5 views
19

Duplicar posible:
Why do /**/ comments work in stylesheets but // comments don't?¿Por qué no tenemos un // comentario en CSS?

En CSS sólo hay una manera de crear comentarios: /* I'm a comment */

El problema es que no es encajable.

¿Alguien sabe por qué no tenemos una sintaxis de comentario alternativa como //?

+0

Es una pregunta razonable para hacer. No sé si hay una buena respuesta que tener. – Spudley

+7

Aquí se responde a esta pregunta: http://stackoverflow.com/questions/2479351/why-do-comments-work-in-stylesheets-but-comments-dont. Y, parece haber una respuesta "real": minificación. –

+0

@Cody Gray - Bueno, creo que el punto es que no hay forma de definir un comentario 'no terminado'. Cuál es una buena pregunta. – UpTheCreek

Respuesta

14

Creo que la respuesta real es que CSS trata las nuevas líneas como cualquier otro espacio en blanco, por lo que no tendría sentido tener comentarios que finalicen con una nueva línea. Esto es de la especificación CSS1: http://www.w3.org/TR/REC-CSS1

Una hoja de estilo CSS, para cualquier versión de CSS, consiste en una lista de instrucciones. Hay dos tipos de declaraciones: reglas y reglas. Puede haber espacios en blanco (espacios, pestañas, líneas nuevas) alrededor de las declaraciones.

Por supuesto, esto también tiene mucho sentido en el contexto de la minificación, como se menciona aquí: Why do /**/ comments work in stylesheets but // comments don't?.

4

No está en la especificación, y como CSS es ampliamente utilizado y soportado, agregarlo es prácticamente imposible. No puedes simplemente publicar una nueva especificación y esperar que todos los navegadores la soporten mágicamente. IE6, un navegador de más de 10 años, todavía se usa ampliamente, por lo que puede suponer sin temor a equivocarse que incluso si se añadiera esta adición a la especificación, se necesitarían otros 10 años para recibir el soporte suficiente como para molestarse. El problema con los comentarios de estilo // es que no se escalan: a diferencia de las nuevas etiquetas HTML, que se pueden ignorar de manera segura siempre que el resto del documento tenga sentido, al agregar un //, el comentario romperá los agentes de usuario que no estén conscientes.

Así que la respuesta corta es que no la tenemos porque no la tenemos.

Si realmente significa mucho para usted, escriba una secuencia de comandos o una macro que convierta // -comentarios en /* */ -comentarios, y aplíquela antes de ejecutar su aplicación web.

2

Hay una manera de tener // comentarios en css. Si usa SASS/brújula. me gusta mucho el uso de la brújula, ya que me da todo lo que extraño de CSS, como Funktions, variables y así sucesivamente ..

Aquí hay un enlace para rodear http://compass-style.org/ ya la SASS-lenguaje que subyace http://sass-lang.com/

Compass es muy agradable porque solo tienes un programa ejecutándose en segundo plano que compila tu código SASS en CSS real, por lo que tu flujo de trabajo es exactamente igual a lo normal pero en otros archivos (scss o sass) ¡y con una funcionalidad muy extendida!

Cuestiones relacionadas