我的问题是,当我开始在输入中写入时,如果我将鼠标滑出“.box”div,是否不会消失。
想知道是否有任何选择器或可能的方法可以在没有任何 Javascript 的情况下进行。
这是示例:
<div class="box">
<div class="overlay"><input/></div>
LOREM IPSUM LOREM IPSUM <br/>
LOREM IPSUM LOREM IPSUM LOREM IPSUM
</div>
谢谢
我的问题是,当我开始在输入中写入时,如果我将鼠标滑出“.box”div,是否不会消失。
想知道是否有任何选择器或可能的方法可以在没有任何 Javascript 的情况下进行。
这是示例:
<div class="box">
<div class="overlay"><input/></div>
LOREM IPSUM LOREM IPSUM <br/>
LOREM IPSUM LOREM IPSUM LOREM IPSUM
</div>
谢谢
是的,它需要你重新排列它的input
位置,但它可以做到。
HTML
<div class="box">
<input/>
<div class="overlay"></div>
LOREM IPSUM LOREM IPSUM <br/>
LOREM IPSUM LOREM IPSUM LOREM IPSUM
</div>
CSS
.box{
background : red;
padding: 20px;
position: relative;
width: 200px;
}
.overlay{
position: absolute;
left: 0;
right: 0;
bottom: 0;
top: 0;
background: rgba(0,0,0,0.6);
visibility: hidden;
opacity: 0;
z-index: 1;
}
.box input {
position: absolute;
visibility: hidden;
opacity: 0;
width: 50%;
top: 0;
left: 50%;
margin-left: -25%;
z-index: 2;
}
.box:hover .overlay,
.box:hover input,
.box input:focus,
.box input:focus + .overlay
{
visibility: visible;
opacity: 1;
}
作品中有一个规范允许这样的事情:
.box &.overlay input:focus
如果输入框有焦点(即正在输入),此选择器将匹配,但样式将影响.overlay
(这是您需要使其可见)。
不幸的是,很少有浏览器支持此功能......