1

我的问题是,当我开始在输入中写入时,如果我将鼠标滑出“.box”div,是否不会消失。

想知道是否有任何选择器或可能的方法可以在没有任何 Javascript 的情况下进行。

这是示例:

http://jsfiddle.net/vzRqY/

<div class="box">
    <div class="overlay"><input/></div>
LOREM IPSUM LOREM IPSUM <br/>
LOREM IPSUM LOREM IPSUM LOREM IPSUM
</div>

谢谢

4

2 回答 2

2

是的,它需要你重新排列它的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;
}
于 2012-04-06T13:59:40.927 回答
-2

作品中有一个规范允许这样的事情:

.box &.overlay input:focus

如果输入框有焦点(即正在输入),此选择器将匹配,但样式将影响.overlay(这是您需要使其可见)。

不幸的是,很少有浏览器支持此功能......

于 2012-04-06T13:54:40.773 回答