我正在尝试将悬停和焦点效果添加到输入框中。
悬停时,框轮廓将为绿色。
在焦点上,方框轮廓将为蓝色。
目前我碰到了一个凹凸,如果输入框有焦点,它会变成蓝色,但如果我将鼠标悬停在它上面,它会变为绿色。
我想阻止该框启动“悬停”。如果框具有焦点,则会生效。
CSS:
input[type=text],
textarea {
-webkit-transition: all 0.30s ease-in-out;
-moz-transition: all 0.30s ease-in-out;
-ms-transition: all 0.30s ease-in-out;
-o-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,
textarea:focus {
box-shadow: 0 0 5px rgba(81, 203, 238, 1);
padding: 3px 0px 3px 3px;
margin: 5px 1px 3px 0px;
border: 1px solid rgba(81, 203, 238, 1);
}
input[type=text]:hover,
textarea:hover {
box-shadow: 0 0 5px rgba(46, 255, 138, 1);
padding: 3px 0px 3px 3px;
margin: 5px 1px 3px 0px;
border: 1px solid rgba(46, 255, 138, 1);
}
如何在输入框有焦点时阻止悬停效果执行?
谢谢!
答案 0 :(得分:3)
效果优先于你放置它们的顺序,所以如果你像这样放置它们,它应该可以工作
input[type=text],
textarea {
-webkit-transition: all 0.30s ease-in-out;
-moz-transition: all 0.30s ease-in-out;
-ms-transition: all 0.30s ease-in-out;
-o-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]:hover,
textarea:hover {
box-shadow: 0 0 5px rgba(46, 255, 138, 1);
padding: 3px 0px 3px 3px;
margin: 5px 1px 3px 0px;
border: 1px solid rgba(46, 255, 138, 1);
}
input[type=text]:focus,
textarea:focus {
box-shadow: 0 0 5px rgba(81, 203, 238, 1);
padding: 3px 0px 3px 3px;
margin: 5px 1px 3px 0px;
border: 1px solid rgba(81, 203, 238, 1);
}