2013-10-24 7 views

答えて

29

まず、ドキュメントの構造を変更する必要があります。 それはこの

<body> 
    <div class="supreme-container">all your content goes here except for the modal</div> 
    <div id="myModal" class="modal fade">This is your modal.</div> 
</body> 

ようになるはずです。そして、CSS

body.modal-open .supreme-container{ 
    -webkit-filter: blur(1px); 
    -moz-filter: blur(1px); 
    -o-filter: blur(1px); 
    -ms-filter: blur(1px); 
    filter: blur(1px); 
} 
+0

しかし、MSIE 9とFirefoxで動作しません。 – eugenes

+1

IEとFirefoxで動作させる方法があります。[here](http://stackoverflow.com/a/15813429/1563940)私は確かにそれが動作するかどうかはわかりません。 – lucian

+0

モーダルの内側の容器は? – lifecom

4

に私はこれを達成する最も簡単な方法は、モーダルが開いているときにjQueryを使用してバックグラウンド要素にblurクラスを適用することだと思います。あなたがブートストラップを使用している場合は、あなたのコンテンツがコンテナのいくつかの種類にすでにあるblurモーダルが閉じている...

.blur { 
    box-shadow: 0px 0px 20px 20px rgba(255,255,255,1); 
    text-shadow: 0px 0px 10px rgba(51, 51, 51, 0.9); 
    transform: scale(0.9); 
    opacity: 0.6; 
} 

http://bootply.com/74705

6

を削除します。 だから、これは変更することなく、私の作品HTMLまたは任意の追加のJSことがあります。

.modal-open .container-fluid, .modal-open .container { 
    -webkit-filter: blur(5px) grayscale(90%); 
} 
+0

これが最適なソリューションです。 –

+0

これは私が探しているものです!ありがとう! –

+0

私はこれを試しましたが、本当にトリックはしませんでした(私はReactとReact Bootstrapを使用しています)。あなたの答えに基づいて何をしてくれたのですか? 'body.modal-open #root { -webkit-filter:blur(5px)grayscale(90%); } ' –

関連する問題