¿Cambiar atributos de CSS personalizados sin Javascript?

Así que estoy haciendo una edición de wiki, y lamentablemente Javascript no está habilitado. Por lo tanto, necesito la ayuda de los gurús de CSS que están ahí fuera.

Entiendo que puede agregar un atributo HTML personalizado como este:

 

Y puedes custom_attr elementos con custom_attr como este:

 span[custom_attrib] { /* styling here */ } 

Ahora, ¿hay una manera de editar el atributo HTML dentro del CSS?

Ejemplo (que no funciona por supuesto ..):

   .some-class { /* Original code here */ } .some-class[custom_attr = "yes"] { /* Change code here */ } #some-id:hover ~ .some-class[custom_attr = "no"] { custom_attr : "yes"; }    ... ... ... ...  

Por supuesto que puedes editar el HTML con CSS!

Desde su código de ejemplo, parece que desea cambiar el “No” a “Sí” cuando el usuario se hovers sobre él. Así es cómo:

http://jsfiddle.net/ENZQU/

  a { font-size: 3em; } a:after { content: attr(default); } a:hover:after { content: attr(mouseover); } 

¿Lo querías click lugar? ¡Fácil!

http://jsfiddle.net/ENZQU/1/

   #cbox { display: none; } label { font-size: 3em; } label:after { content: "YES" } #cbox:checked + label:after { content: "NO" } 

Sin embargo, te sugiero encarecidamente que encuentres otra forma de hacer esto. La wiki no quiere que cambies dinámicamente las cosas en la página, y probablemente se construya de esa manera por una razón.

Desafortunadamente, no puedes cambiar tu código HTML con CSS, solo puedes hacerlo con JavaScript.

Andy Davies propuso esa característica a CSS en su blog personal . Creo que esta es una propuesta muy interesante. Puedes ver y unirte a la discusión creada por Andy Davies aquí .

introduzca la descripción de la imagen aquí

CSS 3 es increíble, ¿cómo podemos saber si en el futuro cercano CSS no tendrá algo así?


La pregunta es:

¿ Realmente no puedes usar JavaScript en tu página? Esta es la única forma en que puede cambiar su código HTML, CSS simplemente estilo el HTML.

Puede estar seguro de eso en el W3C , las personas que “desarrollan la web”.