2013-03-16 5 views
17

Использование только html и css, как отключить синюю (в Firefox) подсветку цвета вокруг активного поля ввода. Я пробовал использовать input {outline:none;}, но без успеха. Спасибо за помощь! =)CSS - Удаление активного поля ввода

ОК, игнорируя предыдущий код о контуре, я выбрал неправильное свойство для изменения. То, что я пытаюсь получить, - просто удалить подсветку (независимо от того, какой браузер, его полужирная и цветная рамка, которая появляется) вокруг поля ввода активной формы, без изменения или отключения стиля. Thanks =)

+0

Работы для меня ... –

+0

Вы понимаете, что это функция доступности, не так ли? – cimmanon

+0

может кто-нибудь помочь? =) –

ответ

14

См. Это fiddle.

Кажется, что вам нужно установить свойство границы, чтобы сделать работу outline: none. Если вы прокомментируете в директиве border, контур исчезнет.

0

Для удаления выделения попробуйте добавить это правило в поле ввода (ы):

-moz-appearance:none; 

Это также может быть сделано для WebKit на основе браузеров, используя соответствующий префикс:

-webkit-appearance:none; 

Это должно заботиться о любых границах, набросках и т. Д., Используя только одно свойство CSS. Для браузеров, отличных от пары WebKit и Firefox - Opera и IE, желательно также включить border и outline свойства, обеспечивающие кросс-совместимость браузера.

+0

К сожалению, внешний вид не поддерживается IE и Opera. –

+0

Последний webkit, похоже, поддерживает контур: нет правильно (проверено на хром только сейчас). @ alex-shesterov, поэтому у этих свойств есть префиксы -moz или -webkit. – ohcibi

+0

@ alex-shesterov Я сейчас кое-что добавлю о них. – Blieque

6
input {border:0; outline:none;} 

следует удалить все границы/контуры.

+0

Вроде бы вы больше не видите вход. – ohcibi

+0

да, точно - но разве это не то, что вы хотели? :) try 'border: 1px solid # 000;' или 'border: thin inset;'. , пожалуйста, опишите, какой внешний вид вы ожидаете ... –

+0

Я ничего не хотел, но OP говорит, что он хочет избавиться от контура, который отображается в Firefox, когда фокус сосредоточен. Он не говорит, что хочет, чтобы граница, которая виден во всех браузерах, исчезла. Но настройка границы, похоже, делает трюк на FF, как я сказал в своем ответе. Chrome (ium), похоже, удовлетворен только контуром: none; – ohcibi

5

Ответ проще, чем я reliased:

box-shadow:none; 
13

Вы должны использовать: фокус декларации. В этом случае:

input:focus {outline:none;} 

Все входные находится в вашем проекте не будет иметь синюю границу.

Если вы хотите определенный атрибут, используйте:

input[type=text]:focus {outline:none;} 

Надеется, что это помогает.=)

-1

Это должно работать для большинства типов входных на Firefox:

input::-moz-focus-inner { border: 0; } 
+0

ОП запросил решение для любого браузера, а не только для FF – Jinandra

+0

А, я неправильно прочитал комментарий в скобках во втором абзаце. Это фиксирует «внутреннюю» границу, а не другую контурную/внешнюю границу. – Mark

-1

лучшего способ сделать это для всех браузеров в сохранности вашего ввода тега в другом сОн теге так, чтобы покрыть границы

HTML код

<div class='rel lef srch_blck'> 
    <input type='text' class='rel lef srch_pad' name='srch_inp'/> 
</div> 

к выше HTML позволяет добавить следующие CSS, чтобы удалить Border

.srch_blck{ overflow:hidden;width:298px;height:28px; } 
.srch_pad{ left:-1px;top:-1px;width:300px;height:31px; } 
1

Мое решение является первым убить браузерных по умолчанию на входах и дать ей границу по умолчанию, как это:

input[type="text"], 
input[type="password"], 
input[type="email"], 
input[type="tel"], 
input[type="url"], 
input[type="search"], 
textarea { 
    -moz-appearance: none; 
    -webkit-appearance: none; 
    border: 1px solid #ddd; 
} 

Затем сбросить данную коробку-тень и очертить так:

input[type="text"]:focus, 
input[type="password"]:focus, 
input[type="email"]:focus, 
input[type="tel"]:focus, 
input[type="url"]:focus, 
input[type="search"]:focus, 
textarea:focus { 
    border: 1px solid #ccc; 
    box-shadow: none !important; 
    outline: none !important; 
} 

Работал для меня во всех современных браузерах, прошедших проверку (IE, FF, Chrome, Operah & Safari).

+0

Не нужно было перезагружать раньше. Код работает для меня без реселлинга. Протестировано на FF, Chrome и Safari, и он отлично работает. –

+0

Правда - это не нужно, но для меня это просто чувствует себя безопаснее ..;) – Azragh

Смежные вопросы