CSS/HTML:在输入字段周围创建发光边框
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/5670879/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
CSS/HTML: Create a glowing border around an Input Field
提问by Hans
I want to create some decent inputs for my form, and I would really like to know how TWITTER does their glowing border around their inputs.
我想为我的表单创建一些不错的输入,我真的很想知道 TWITTER 如何在输入周围制作发光边框。
Example/Picture of the Twitter border:
Twitter 边框示例/图片:
I also don't quite know how to create the rounded corners.
我也不太知道如何创建圆角。
回答by ?ime Vidas
Here you go:
干得好:
.glowing-border {
border: 2px solid #dadada;
border-radius: 7px;
}
.glowing-border:focus {
outline: none;
border-color: #9ecaed;
box-shadow: 0 0 10px #9ecaed;
}
Live demo:http://jsfiddle.net/simevidas/CXUpm/1/show/
现场演示:http : //jsfiddle.net/simevidas/CXUpm/1/show/
(to view the code for the demo, remove "show/" from the URL)
(要查看演示代码,请从 URL 中删除“show/”)
label {
display:block;
margin:20px;
width:420px;
overflow:auto;
font-family:sans-serif;
font-size:20px;
color:#444;
text-shadow:0 0 2px #ddd;
padding:20px 10px 10px 0;
}
input {
float:right;
width:200px;
border:2px solid #dadada;
border-radius:7px;
font-size:20px;
padding:5px;
margin-top:-10px;
}
input:focus {
outline:none;
border-color:#9ecaed;
box-shadow:0 0 10px #9ecaed;
}
<label> Aktuelles Passwort: <input type="password"> </label>
<label> Neues Passwort: <input type="password"> </label>
回答by Hristo
How about something like this... http://jsfiddle.net/UnsungHero97/Qwpq4/1207/
这样的事情怎么样... http://jsfiddle.net/UnsungHero97/Qwpq4/1207/
CSS
CSS
input {
border: 1px solid #4195fc; /* some kind of blue border */
/* other CSS styles */
/* round the corners */
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
/* make it glow! */
-webkit-box-shadow: 0px 0px 4px #4195fc;
-moz-box-shadow: 0px 0px 4px #4195fc;
box-shadow: 0px 0px 4px #4195fc; /* some variation of blue for the shadow */
}
回答by SLaks
Use a normal blue border
, a medium border-radius
, and a blue box-shadow
with position 0 0
.
使用普通蓝色border
、中border-radius
色box-shadow
和带位置的蓝色0 0
。
回答by DaOgre
SLaks hit the nail on the head but you might want to look over the changes for inputs in CSS3 in general. Rounded corners and box-shadow are both new features in CSS3 and will let you do exactly what you're looking for. One of my personal favorite links for CSS3/HTML5 is http://diveintohtml5.ep.io/.
SLaks 一针见血,但您可能希望查看 CSS3 中输入的总体变化。圆角和框阴影都是 CSS3 中的新功能,可以让您完全按照自己的意愿行事。我个人最喜欢的 CSS3/HTML5 链接之一是http://diveintohtml5.ep.io/。
回答by user1218947
I combined two of the previous answers (jsfiddle).
我结合了之前的两个答案(jsfiddle)。
input {
/* round the corners */
border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
}
input:focus {
outline:none;
border: 1px solid #4195fc;
/* create a BIG glow */
box-shadow: 0px 0px 14px #4195fc;
-moz-box-shadow: 0px 0px 14px #4195fc;
-webkit-box-shadow: 0px 0px 14px #4195fc;
}?
回答by Shabbir Hussain
Modified version with little less glowing version.
修改后的版本少了一些发光版本。
input {
/* round the corners */
//background-color: transparent;
border: 1px solid;
height: 20px;
width: 160px;
color: #CCC;
border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
}
input:focus {
outline:none;
border: 1px solid #4195fc;
/* create a BIG glow */
box-shadow: 0px 0px 5px #4195fc;
-moz-box-shadow: 0px 0px 5px #4195fc;
-webkit-box-shadow: 0px 0px 5px #4195fc;
}
回答by Dhaval Patel
$('.form-fild input,.form-fild textarea').focus(function() {
$(this).parent().addClass('open');
});
$('.form-fild input,.form-fild textarea').blur(function() {
$(this).parent().removeClass('open');
});
.open {
color:red;
}
.form-fild {
position: relative;
margin: 30px 0;
}
.form-fild label {
position: absolute;
top: 5px;
left: 10px;
padding:5px;
}
.form-fild.open label {
top: -25px;
left: 10px;
/*background: #ffffff;*/
}
.form-fild input[type="text"] {
padding-left: 80px;
}
.form-fild textarea {
padding-left: 80px;
}
.form-fild.open textarea,
.form-fild.open input[type="text"] {
padding-left: 10px;
}
textarea,
input[type="text"] {
padding: 10px;
width: 100%;
}
textarea,
input,
.form-fild.open label,
.form-fild label {
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="row">
<form>
<div class="form-fild">
<label>Name :</label>
<input type="text">
</div>
<div class="form-fild">
<label>Email :</label>
<input type="text">
</div>
<div class="form-fild">
<label>Number :</label>
<input type="text">
</div>
<div class="form-fild">
<label>Message :</label>
<textarea cols="10" rows="5"></textarea>
</div>
</form>
</div>
</div>
回答by shadi omar
input[type="text"]{
@include transition(all 0.30s ease-in-out);
outline: none;
padding: 3px 0px 3px 3px;
margin: 5px 1px 3px 0px;
border: 1px solid #DDDDDD;
}
input[type="text"]:focus{
@include box-shadow(0 0 5px rgba(81, 203, 238, 1));
-webkit-box-shadow: 0px 0px 5px #007eff;
-moz-box-shadow: 0px 0px 5px #007eff;
box-shadow: 0px 0px 5px #007eff;
}
回答by Shital Shah
Below is the code that Bootstrap uses. Colors are bit different but the concept is same. This is if you are using LESS to compile CSS:
下面是 Bootstrap 使用的代码。颜色有点不同,但概念是一样的。这是如果您使用 LESS 来编译 CSS:
// Form control focus state
//
// Generate a customized focus state and for any input with the specified color,
// which defaults to the `@input-focus-border` variable.
//
// We highly encourage you to not customize the default value, but instead use
// this to tweak colors on an as-needed basis. This aesthetic change is based on
// WebKit's default styles, but applicable to a wider range of browsers. Its
// usability and accessibility should be taken into account with any change.
//
// Example usage: change the default blue border and shadow to white for better
// contrast against a dark gray background.
.form-control-focus(@color: @input-border-focus) {
@color-rgba: rgba(red(@color), green(@color), blue(@color), .6);
&:focus {
border-color: @color;
outline: 0;
.box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}");
}
}
If you are not using LESS then here's the compiled version:
如果您没有使用 LESS,那么这里是编译版本:
.form-control:focus {
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
回答by rubo77
This will create glowing input fields and textareas:
这将创建发光的输入字段和文本区域:
textarea,textarea:focus,input,input:focus{
transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;
border: 1px solid #c4c4c4;
border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
box-shadow: 0px 0px 8px #d9d9d9;
-moz-box-shadow: 0px 0px 8px #d9d9d9;
-webkit-box-shadow: 0px 0px 8px #d9d9d9;
}
input:focus,textarea:focus {
outline: none;
border: 1px solid #7bc1f7;
box-shadow: 0px 0px 8px #7bc1f7;
-moz-box-shadow: 0px 0px 8px #7bc1f7;
-webkit-box-shadow: 0px 0px 8px #7bc1f7;
}