【发布时间】:2023-03-27 16:20:02
【问题描述】:
我正在尝试仅使用 CSS 和 HTML 创建自定义组件。 组件的行为类似于:当输入被选中(具有焦点)时,另一个容器打开。 问题是当容器打开时输入失去焦点并且容器在第一次单击时关闭:(
那么当我在打开的容器上聚焦时,我怎样才能使输入焦点聚焦?
<div class="block">
<label>Field</label>
<input type="text" tabindex="-1"/>
<div tabindex="-1" class="infront">
Keep this bastard open.<br/>
<br/>
while clicking on this div
</div>
</div>
CSS
.block{
position: relative;
display: inline-block;
margin: 50px;
}
.infront{display: none;}
.block input[type="text"]:focus ~ .infront {
display: block;
position: absolute;
top:100%;
width: 80%;
right: 0;
background: #ccc;
opacity:0.8;
}
【问题讨论】:
-
对不起,我不能关注你,我真的不明白问题是什么
-
我认为您的代码运行良好
-
@MKAD 当输入聚焦时,“.infront”容器被打开,如果我点击进入因为输入失去焦点而隐藏的“.infront”容器。我需要的是,如果我单击内部,则打开该容器;如果单击该容器外部,则将其隐藏....
-
@Sharmila 不是真的,因为是的,“.infront”已打开,但如果您在该容器内单击将被隐藏,只有当我在该容器外单击时才需要隐藏。