【发布时间】:2017-10-31 12:57:01
【问题描述】:
我有一个带有输入的 angular 4 应用程序,我想在单击它时专注于该输入。所以我想使除焦点输入之外的所有页面变暗。所以我尝试添加一个黑色背景和 50% 不透明度的 div。
但是输入总是低于 div 而它的 z-index 更高。
这是我的 html 代码:
<router-outlet></router-outlet>
<div id="blanket"></div>
毯子的CSS代码:
#blanket {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: black;
opacity: 0.5;
z-index: 100;
visibility: hidden;
}
在组件中:
<input type="text" class="form-control" style="z-index: 2000000 !important;background-color: #fff" (focus)="focusOnInputName()" (blur)="blurOnInputName()" >
还有两个功能:
focusOnInputName(){
console.log('focus');
let d = document.querySelector('#blanket');
this.renderer.setStyle(d, "visibility", "visible");
}
blurOnInputName(){
console.log('blur');
let d = document.querySelector('#blanket');
this.renderer.setStyle(d, "visibility", "hidden");
}
当焦点或模糊时,blanket div 出现或消失,但输入总是被“毯子”隐藏。
我怎样才能得到我想要的?
编辑 我想做与引导模式相同的事情,但点击输入。
【问题讨论】:
-
那个问题应该有 CSS 标签
标签: javascript css angular typescript