Как изменить цвет границы текстового поля на: focus


116

Простите меня, это глупый вопрос, но мне нужна помощь. Я хочу изменить цвет границы ТЕКСТАРА в фокусе. но мой код, похоже, не работает должным образом.

Пожалуйста, просмотрите код на скрипке .

<form name = "myform" method = "post" action="insert.php"  onsubmit="return validateform()" style="width:40%">
        <input type="text" placeholder="Enter Name." name="name" maxlength="300" class="input">
        <input type="email" placeholder="Enter E-mail." name="address" maxlength="300" class="input">
        <textarea placeholder="Enter Message." name="descrip" class="input" ></textarea>    
<br>
<input class="button secondary" type=submit name="submit" value="Submit" >
</form>

Вот CSS

.input {
border:0; 
padding:10px; 
font-size:1.3em; 
font-family:"Ubuntu Light","Ubuntu","Ubuntu Mono","Segoe Print","Segoe UI";
color:#ccc; 
border:solid 1px #ccc; 
margin:0 0 20px; 
width:300px;
-moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2); 
-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2); 
box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);
-webkit-border-radius: 3px; 
-moz-border-radius: 3px; 
border-radius: 3px;

}
input:focus { 
    outline: none !important;
    border-color: #719ECE;
    box-shadow: 0 0 10px #719ECE;
}

цвет, который вы выбрали для границы, выглядит как цвет по умолчанию ....
lologic

Ответы:


241
.input:focus {
    outline: none !important;
    border:1px solid red;
    box-shadow: 0 0 10px #719ECE;
}

2
Вы также можете изменить input: focus на .input: focus, поскольку вы уже используете этот класс в текстовом поле. Таким образом вы избавитесь от лишнего селектора.
Hoshts

1
Просто любопытно, почему нужны текстовые поля, outline: noneа обычные поля ввода нет?
Джастин Скилс

Я думаю, что лучше использовать контур и тень вместе "outline: solid 2px # 8dc63f; box-shadow: 0 0 21px # 8dc63f;" :-)
BG BRUNO

1
Эта ссылка на скрипт не существует.
Арпан Джайн

22

Есть input: focus, так как есть textarea: focus

input:focus { 
    outline: none !important;
    border-color: #719ECE;
    box-shadow: 0 0 10px #719ECE;
}
textarea:focus { 
    outline: none !important;
    border-color: #719ECE;
    box-shadow: 0 0 10px #719ECE;
}

11
Оба правила можно комбинировать следующим образом - input:focus, textarea:focus { outline: none !important; border-color: #719ECE; box-shadow: 0 0 10px #719ECE; }Если вы хотите, чтобы эффект для обоих типов элементов был одинаковым.
Hitesh

8

Вероятно, более подходящий способ изменения цвета контура - использование outline-colorправила CSS.

textarea {
  outline-color: #719ECE;
}

или для ввода

input {
  outline-color: #719ECE;
}

box-shadow Это не совсем то же самое, и он может выглядеть иначе, чем контур, особенно если вы примените индивидуальный стиль к своему элементу.


1
Да, но разве контур не прямоугольник? Не хорошо, если вы стилизуете кнопки / ввод с помощью border-radius.
Джозеф Крайфельс II 01

1
Схема - это то, что браузеры используют для выделения сфокусированных полей для доступности. Я бы рекомендовал придерживаться его, когда это возможно. Очевидно, что вы можете создавать обходные пути, если ваш дизайн очень конкретный :)
Гргур

3

так просто :

 outline-color : blue !important;

весь CSS для моей кнопки реакции-ускорения:

.custom-btn {
    font-size:1.9em;
    background: #2f5bff;
    border: 2px solid #78e4ff;
    border-radius: 3px;
    padding: 50px 70px;
    outline-color : blue !important;
    text-transform: uppercase;
    user-select: auto;
    -moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
    -webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.