如何实现这一效果:专注

时间:2013-04-03 12:20:15

标签: html css css3 focus border

我在网站上看到了这个:

enter image description here

然后,当你点击它... enter image description here

你会如何重现这个?不仅仅是一个简单的固体边框,而是像那个边框。我扫描了源代码但找不到任何东西。不在css或javascript中。

我得到的网站是: http://www.minecraft-schematics.com/search/

我很确定这会是:focus效果,但我在源代码中找不到它,就像我说的那样......

有什么想法吗?

3 个答案:

答案 0 :(得分:6)

从您引用的页面上的特定元素的来源:

input[type="text"]:focus {
    border-color: rgba(82, 168, 236, 0.8);
    outline: 0;
    outline: thin dotted 9;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);
    -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);
}

我通过强制元素进入焦点状态然后检查应用的CSS规则来通过Chrome获得此功能。在Chrome Devtools中,您可以右键单击检查器中的任何DOM元素,然后选择“强制元素状态” - > “:聚焦”

旁注:从它的外观来看,该页面是在流行的UI框架Twitter Bootstrap上构建的。

答案 1 :(得分:3)

看起来它是引导程序的一部分。

jsFiddle

.fancy {
    background-color: #fff;
    border: 1px solid #ccc;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    -webkit-transition: border linear .2s,box-shadow linear .2s;
    -moz-transition: border linear .2s,box-shadow linear .2s;
    -o-transition: border linear .2s,box-shadow linear .2s;
    transition: border linear .2s,box-shadow linear .2s;
    display: inline-block;
    height: 20px;
    padding: 4px 6px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 20px;
    color: #555;
    vertical-align: middle;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
.fancy:focus {
    border-color: rgba(82, 168, 236, 0.8);
    outline: 0;
    outline: thin dotted 9;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);
    -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);
}

答案 2 :(得分:1)

文本框使用CSS3 box-shadow:。下面的CSS会将阴影效果放在焦点上的所有文本框中:

input[type^="text"] {
    background: #fff;
    border: 1px solid #0077cc;
    border-radius: 5px;
    padding: .2em;
    outline: none; /*Stops Chrome putting a yellow border on the textbox*/
}
input[type^="text"]:focus {
    box-shadow: 0px 0px 10px #0077cc;
}