2009-07-30 8 views
20

Szukam sposobu na wyświetlenie okna dialogowego potwierdzenia, które jest zawsze wyśrodkowane na stronie i pływające po stronie.Jak zaprojektować CSS dla wyśrodkowanego pływającego okna potwierdzenia?

Próbowałem, ale nie jest to „zawsze skoncentrowane” w ogóle, ponieważ pozycja jest ustalona:

.Popup 
{ 
    text-align:center; 
    position: absolute; 
    bottom: 10%; 
    left: 27%; 
    z-index:50; 
    width: 400px; 
    background-color: #FFF6BD; 
    border:2px solid black; 
} 

jakiś pomysł? Dzięki

Odpowiedz

34

Spróbuj użyć tego CSS

#centerpoint { 
 
    top: 50%; 
 
    left: 50%; 
 
    position: absolute; 
 
} 
 

 
#dialog { 
 
    position: relative; 
 

 
    width: 600px; 
 
    margin-left: -300px; 
 

 
    height: 400px; 
 
    margin-top: -200px; 
 
}
<div id="centerpoint"> 
 
    <div id="dialog"></div> 
 
</div>

#centerpoint powinna być div pojemnik dialogowym

Uwaga że #centerpoint DIV powinny być w środku e body element lub elementy wewnętrzne, które nie mają pozycji : względne; nieruchomość

+1

Wow, to naprawdę niesamowite, na pewno się na to przekopię! – Vinzz

+0

Próbowałem, działa w IE, Firefox, Chrome, Safari i Opera. –

+1

Czy powinienem zobaczyć coś, gdy kliknę przycisk Uaktywnij fragment kodu? –

1
.Popup 
{ 
width:400px; 
margin-left:auto; 
margin-right:auto; 
} 

to poziome wyrównanie; Wyrównanie w pionie jest nieco trudniejsze. Po prostu Google za "centrum pionowe css" lub coś takiego.

+0

że tylko centruje okno w To kontenera nadrzędnego. Ale nie przenosi go po stronie. –

+1

Jep, masz rację. –

+0

+1 dla "jep": D –

17

porównaniu @ odpowiedź Toma, można to zrobić na jednym elemencie

#theDiv { 
 
    position: fixed; 
 
    top: 50%; 
 
    left: 50%; 
 
    width: 200px; 
 
    margin-left: -100px; 
 
    height: 50px; 
 
    margin-top: -25px; 
 
    background: yellow; 
 
}
<div id="theDiv" />

ta pozwala na umieszczenie go w dowolnym miejscu na stronie, niezależnie od pojemników dominujących i ich position nieruchomości.

8

CSS3 przekształcić mogą być stosowane w celu uniknięcia szerokość sztywno i marginesy:

.dialog { 
    top: 50%; 
    left: 50%; 
    -webkit-transform: translateX(-50%) translateY(-50%); 
    -moz-transform: translateX(-50%) translateY(-50%); 
    -ms-transform: translateX(-50%) translateY(-50%); 
    transform: translateX(-50%) translateY(-50%); 
} 

Przykład użycia: http://tympanus.net/codrops/2013/06/25/nifty-modal-window-effects/

Powiązane problemy