2010-04-12 10 views
26

Ostatnio klient poprosił, aby jego witryna była oparta na procentach, a nie na pikselach. Procent miał zostać ustawiony na 80%. Jak wiecie, bardzo łatwo jest wyśrodkować kontener, jeśli jest oparty na pikselach, ale jak wyśrodkować główny kontener oparty na procentach?Wyśrodkowanie elementu div opartego na wartości

#container 
{ 
    width:80%; 
    margin:0px auto; 
} 

To nie centrum pojemnik :(

+0

Więc po prostu dla śmiechu, można wyjaśnić rozumowanie klientów na podstawie układu opartego na procentach? –

+6

@Kyle: prawdopodobnie do obsługi różnych rozmiarów ekranu, gdzie układ oparty na pikselach może pozostawić dużo miejsca na monitorach panoramicznych, a także dużo przewijania w poziomie na mniejszych ekranach, takich jak telefony. – GSto

+0

@GSto: uzgodnione i to jest celem klienta. – Sarfraz

Odpowiedz

60

Obiekt margines obsługuje wartości procentowe:

margin-left: 10%; 
margin-right: 10%; 
+2

Nie mogę tego uwierzyć, jak mogłem tęsknić za tak prostą rzeczą !! Dzięki i tak :) – Sarfraz

+9

Jeszcze krócej: 'margin: 0 10%'. :-) –

0

Wiem, że to brzmi dziwnie, ale jak o uzyskanie szerokość w jQuery następnie zresetowanie więc jest to wartość pikseli?

Albo opierając szerokość ? off szerokości strony w jQuery

To dość dziwne, że chce układ w oparciu o procentowy

No i last but not least, dwie 10% szerokości div otaczających go;).

+0

.containerLeft { szerokość: 10%; float: left; } .pojemnik { szerokość: 80%; float: left; } .containerRight { szerokość: 10%; float: left; } –

9
#container 
{ 
    width:80%; 
    position:absolute; 
    margin-left:-40%; 
    left:50%; 
} 

lub po prostu

#container 
{ 
    width:80%; 
    margin-left:10%; 
} 
1

usuwając wartość px na marginesie, po prostu tak:

#container { width: 80%; margin: 0 auto; } 
+0

Czy 0px i 0 to dokładnie to samo? Z tego, co wiem, nie ma to znaczenia. –

+0

W niektórych przeglądarkach jest inaczej, ten kod działa dla mnie pod Chrome, Safari i FireFox (wszystko na OSX). To jest mój kod testowy: http://dl.dropbox.com/u/155873/centering.html – Adirael

0

To nie centrum pojemnika: (

Działa idealnie dla mnie.

Upewnij się, że jesteś w trybie standardowym itp

Pełny kod nie działa?

0
#container { width: 80%; margin: 0 auto; position relative; } 

i elementem dominującym "pojemnik" musi być pozycja względna lub bezwzględna

na przykład:

body{position:relative;} 
#container { width: 80%; margin: 0 auto; position relative; } 
0
position: absolute; 
width: 80%; 
left: 0; 
right: 0; 
margin: 0 auto; 
Powiązane problemy