2012-04-20 20 views
17

Hace poco estuve jugando con contenteditable en una página web y me irrité cuando necesitaba establecer un gran número de etiquetas span (terminé usando JavaScript para hacerlo). Si solo pudiera configurarlo a través de CSS ...¿Por qué no se puede contentar con un estilo?

¿Alguien sabe la razón detrás de por qué contenteditable fue diseñado como un atributo en lugar de un estilo?

+0

podrías haber puesto un 'div' alrededor de los tramos y dar ese' div' 'contentEditable', ya que' contentEditable' se hereda porque todos los apans también se podrían haber editado. – Bazzz

+0

No quería que las ediciones se "desbordaran" fuera de cada elemento del tramo. – Vanwaril

+2

Para usar contentEditable usted * necesita * javascript para leer los contenidos editados, por lo que no entiendo por qué le molesta usarlo para habilitar la edición. – AlfonsoML

Respuesta

19

La mayoría de la gente podría argumentar que contentEditable define el comportamiento, en lugar del estilo (que es cierto).

WebKit tiene una propiedad CSS que es similar a contentEditable: -webkit-user-modify.

8

La posibilidad de que el usuario edite o no contenido no tiene nada que ver con la presentación.

7

los estilos son opcionales; puedes (en teoría) renderizar cada página sin CSS y aún así debería funcionar bien. De hecho, eso es lo que hacen muchos navegadores de solo texto, o de solo audio.

contentEditable cambia el comportamiento de elementos. Un navegador que no utiliza el estilo, pero interpreta JavaScript, aún debe beneficiarse de la propiedad.

6

tratar

span { 
    -webkit-user-modify: read-write; 
    -moz-user-modify: read-write; 
    user-modify: read-write; 
} 

funcionó en Firefox, Chrome. Puedes encontrar más información sobre user-modify

+0

https://jsfiddle.net/dhL3oLwk/ – Squirrl

+0

Me funciona –

Cuestiones relacionadas