2015-05-11 10 views
5

Kiedy używam innego div, aby to zrobić, nie wpłynie to na inne klasy domen, więc muszę zmodyfikować każdą klasę domową, gdy chcę, aby cała strona stała się ciemniejsza.Jak przyciemnić całą stronę? (html)

Czy istnieje sposób nakładania się na cały dokument za pomocą szarej, przezroczystej płaszczyzny?

+1

http://stackoverflow.com/quest jony/18065927/button-to-darken-the-whole-page – tharif

Odpowiedz

4

Jest codepen ilustrating potrzeb. (Tworzenie dismissable okienko i ściemniania pogląd)

HTML:

<div class="wrapper"> 
    <button class="btn btn-success dim">Dim the page!</button> 
    <div class="dimmer"> 
    <span class="exit">&times;</span> 
    </div> 
    <div class="content"> 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Harum vel itaque fuga fugit fugiat enim excepturi nihil aperiam soluta ex nemo quam consectetur blanditiis dolores quisquam temporibus voluptatem veritatis distinctio neque labore ullam dicta delectus aspernatur odio ipsam. Sit est tempora odit neque fuga sapiente velit aliquid dignissimos ratione perspiciatis animi ullam incidunt veritatis quo eligendi esse aperiam qui vitae praesentium nam! Necessitatibus sequi maiores facere non numquam nesciunt veniam dignissimos aperiam consectetur saepe excepturi mollitia id tempora vero labore ducimus impedit iusto perspiciatis aliquam optio distinctio debitis quibusdam nulla dicta repellat praesentium ullam cupiditate totam soluta voluptatibus blanditiis recusandae!</p> 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Harum vel itaque fuga fugit fugiat enim excepturi nihil aperiam soluta ex nemo quam consectetur blanditiis dolores quisquam temporibus voluptatem veritatis distinctio neque labore ullam dicta delectus aspernatur odio ipsam. Sit est tempora odit neque fuga sapiente velit aliquid dignissimos ratione perspiciatis animi ullam incidunt veritatis quo eligendi esse aperiam qui vitae praesentium nam! Necessitatibus sequi maiores facere non numquam nesciunt veniam dignissimos aperiam consectetur saepe excepturi mollitia id tempora vero labore ducimus impedit iusto perspiciatis aliquam optio distinctio debitis quibusdam nulla dicta repellat praesentium ullam cupiditate totam soluta voluptatibus blanditiis recusandae!</p> 
    </div> 
</div> 

CSS:

.wrapper { 
    padding: 2.5em; 
    margin: 0 auto; 
    width: 80%; 
} 

.dimmer { 
    display: none; 
    background: #000; 
    opacity: 0.5; 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    z-index: 100; 
} 

.dim { 
    display: block; 
    margin: 2em auto; 
    z-index: 200; 
} 

.exit { 
    font-size: 100px; 
    color: red; 
    position: absolute; 
    top: 2px; 
    left: 2px; 
    opacity: 1; 
    cursor: pointer; 
} 

Javascript:

$(function() { 
    var dimmerButton = $('.dim'); 
    var dimmer = $('.dimmer'); 
    var exit = $('.exit'); 
    dimmerButton.on('click', function() { 
    dimmer.show(); 
    }); 
    exit.on('click', function() { 
    dimmer.hide(); 
    }); 
}); 

Uwaga: autor tego jest @srikarg

+1

Dzięki! To jest dokładnie to, czego potrzebuję :) – Sahkan

+1

Oznacz to jako postanowienie! :) –

2

Możesz dodać background-color do ciała z CSS:

#overlay { 
    background-color: rgba(0,0,0,0.5); /* your color */ 
    width: 100%; 
    height: 100%; 
    position: fixed; 
    top: 0; 
    left: 0; 
} 

Demo: http://jsfiddle.net/6gahqaej/2

+1

Dzięki, po przyciemnieniu całej strony muszę pokazać okno z normalnym nieprzezroczystością. ciemna strona wskazuje, że użytkownik powinien skupić się tylko na wyskakującym oknie. – Sahkan

3

Trzeba będzie pokazać div overlay

<div id="overlay"></div> 

Zrób to pozycja ustalona

#overlay { 
    background-color: rgba(0,0,0,0.5); 
    position:fixed; 
    left:0; 
    top: 0; 
    width:100%; 
    height:100%; 
} 

i uczynić go widoczne, gdy chcemy przyciemnić stronę, oto jak to zrobić

$(function(){ 
 
    //Am hiding the overlay after 2 sec 
 
    $("#overlay").delay(3000).hide(200); 
 
})
#overlay { 
 
     background-color: rgba(0,0,0,0.5); 
 
     position:fixed; 
 
     left:0; 
 
     top: 0; 
 
     width:100%; 
 
     height:100%; 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<body> 
 
    <div id="overlay"></div> 
 
    <h1>My Awesome Page</h1> 
 
</body>

Powiązane problemy