2016-11-11 8 views
2

フォームにオーバーレイを挿入しようとしています。基本的には、ユーザーがフォームにアクセスしてオーバーレイを追加するだけでコンテンツをブロックすることは望ましくありません。私はオーバーレイを追加しましたが、まだ入力フィールドに入力を与えることができます。それをどうやって止めるの?このようdiv要素にオーバーレイを追加した後、div要素を無効にするにはどうすればよいですか?

.overlay { 
 
    background: rgba(0, 0, 0, .75); 
 
    text-align: center; 
 
    opacity: 0; 
 
    width: 100 %; 
 
    height: 100 %; 
 
    -webkit-transition: all 0.3s ease - in -out; 
 
    -moz-transition: all 0.3s ease - in -out; 
 
    -o-transition: all 0.3s ease - in -out; 
 
    -ms-transition: all 0.3s ease - in -out; 
 
    transition: all 0.3s ease - in -out; 
 
    opacity: 1; 
 
}
<h1>Hello Plunker!</h1> 
 
<div class="overlay"> 
 
    <input type="text">First name 
 
</div>

+0

あなたの 'input'は' '.overlay''要素の子です。親には '' relative''を配置し、その親の中には ''絶対配置 ''を持つオーバーレイが必要です。 – Crowes

+0

ポインタイベントを使用するCSSの場合:なし。これをオーバーレイクラスに追加します。 –

答えて

1

.content { 
 
    text-align: center; 
 
    opacity: 0; 
 
    width: 100%; 
 
    height: 100%; 
 
    position: relative; 
 
    -webkit-transition: all 0.3s ease - in -out; 
 
    -moz-transition: all 0.3s ease - in -out; 
 
    -o-transition: all 0.3s ease - in -out; 
 
    -ms-transition: all 0.3s ease - in -out; 
 
    transition: all 0.3s ease - in -out; 
 
    opacity: 1; 
 
} 
 

 
.overlay { 
 
    background: rgba(0, 0, 0, .75); 
 
    position: absolute; 
 
    width: 100%; 
 
    height: 100%; 
 
}
<h1>Hello Plunker!</h1> 
 
<div class="content"> 
 
    <div class="overlay"> 
 
    </div> 
 
    
 
    <input type="text">First name 
 
</div>

この情報がお役に立てば幸いです。

1

この

.wrapper { 
 
    position: relative; 
 
} 
 
.overlay{ 
 
    position: absolute; 
 
    width: 100%; 
 
    height: 100%; 
 
} 
 
.form-wrapper { 
 
    text-align: center 
 
}
<div class="wrapper"> 
 
    <div class="overlay"></div> 
 
    <div class="form-wrapper"> 
 
    <input type="text">First name 
 
    </div> 
 
</div>

1

疑似クラスの後に::使用している余分な&不要の​​divせずにこれを行うのは非常に簡単な&効率的な方法を試してみてください。 レイヤリングが非常に簡単になります。これはそれを行う必要があります:) をここで

HTML

<div class="form"> 
    First name 
    <input type="text"> 
</div> 

CSS

.form{ 
width:300px; /*Or what ever width you choose*/ 
height:400px;  /*Or what ever height you choose*/ 
position: relative; 
z-index:1; 
} 

.form:after{ 
position:absolute; 
height: 100%; 
width:100%; 
content:''; 
z-index:5; /* Make sure this value is higher than the .form class */ 
top:0; 
left:0; 
} 

は、作業のデモ用fiddleです。

関連する問題