Як видалити межу навколо сфокусованого задоволеного попередньо?


96

Коли я встановлюю попередній елемент на contenteditable і фокусую в ньому для редагування, він отримує пунктирну межу навколо нього, що виглядає не дуже красиво. Кордону немає, коли фокус знаходиться десь в іншому місці.
Як мені зняти цю межу?

Дякую

Відповіді:


188

Встановіть для outlineвластивості значення 0px solid transparent;. Можливо, вам доведеться встановити його також у :focusштаті, наприклад:

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

6
@Christoffer: outlineне працюватиме в IE7 або нижче. У цих браузерах вам потрібно встановити для hideFocusвластивості елемента значення true, тобто$('#myEl').get().hideFocus = true;
Andy E

13
Довідково:[contenteditable]:focus { outline: 0px solid transparent; }
Альф Ітон

Дякую усім. Врятував день. FYI Я бачу лише контур у Chrome. Firefox та IE11 цього не показують.
nevf

3
Ви також можете просто використовуватиoutline: none
Ів М.

Альф, ваш коментар слід позначити як відповідь:>
foreyez

14

Ви також можете додати :read-writeпсевдо-клас до елементів стилю, які можна редагувати.

Наприклад ( jsFiddle ) :

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

Детальніше читайте тут про краплі .

:read-writeСелектор псевдо-клас підтримується в Chrome, Safari і Opera 14+, так і на IOS. Він підтримується -moz-префіксом у Firefox у формі :-moz-read-write. :read-writeСелектор не підтримуються в Internet Explorer і на Android.


Яка різниця між цим і .element:focus?
JJJ

1
Це стосується лише селекторів, які задоволені.
morkro

4
Будь-яка вигода, використовуючи це [contenteditable]:focus?
Джоел

також: увімкнений псевдоселектор
Уолле Сіріл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.