¿Cómo elimino el borde alrededor de un pre-contento enfocado?


96

Cuando configuro un elemento pre en contenteditable y le pongo foco para editarlo, recibe un borde punteado a su alrededor que no se ve muy bien. El borde no está ahí cuando el enfoque está en otro lugar.
¿Cómo elimino ese borde?

Gracias

Respuestas:


188

Establezca la outlinepropiedad en 0px solid transparent;. Es posible que también deba configurarlo en el :focusestado, por ejemplo:

[contenteditable]:focus {
    outline: 0px solid transparent;
}

6
@Christoffer: outlineno funcionará en IE7 o versiones anteriores . En estos navegadores, debe establecer la hideFocuspropiedad del elemento en true, es decir$('#myEl').get().hideFocus = true;
Andy E

13
Para referencia:[contenteditable]:focus { outline: 0px solid transparent; }
Alf Eaton

Gracias a todos. Salvó el día. Para su información, solo veo el esquema en Chrome. Firefox e IE11 no lo muestran.
nevf

3
También puede usar simplementeoutline: none
Yves M.

Alf, tu comentario debe marcarse como la respuesta:>
foreyez

14

También puede agregar la :read-writepseudoclase a los elementos de estilo que son editables.

Por ejemplo ( jsFiddle ) :

.element:read-write:focus {
     outline: none;
}

Lea más aquí sobre bacalao .

El :read-writeselector de pseudoclase es compatible con Chrome, Safari y Opera 14+, y con iOS. Es compatible con el -moz-prefijo en Firefox en el formulario :-moz-read-write. El :read-writeselector no es compatible con Internet Explorer y Android.


¿Cuál es la diferencia entre esto y .element:focus?
JJJ

1
Solo se aplica a los selectores que son satisfechos.
morkro

4
¿Algún beneficio al usar eso [contenteditable]:focus?
Joel

también: pseudo selector habilitado
Walle Cyril
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.