Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wycentrowanie diva (góra - dół)
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
Sexee
Mam na myśli wyśrodkowanie w pionie, która funkcja za to odpowiada? Dawno się w tym nie bawiłem i zapomniałem.

EDIT: Szukam i szukam ale chyba nic takiego nie ma, trzeba się bawić procentami, pikselami i tak dalej. A szkoda, bo to podstawa. W CSS 4 powinni to zrobić, bo w kółko ciągłe kombinacje - choćby jedną funkcję, która tylko centruje i jednocześnie zostawić obecny sposób, bo nie zawsze robi się takie rzeczy by coś wyśrodkować. Jak ktoś zna w miarę prosty sposób, ale na DIVA to niech napisze. Mi się tylko na czcionkę udaje znaleźć takie w miarę fachowe centrowanie.
by_ikar
A po co tutaj jakieś funkcje? Proste

  1. margin: auto;


czy nawet

  1. margin-top: 50%;


i nie trzeba tutaj żadnej wiedzy. A jeżeli to ma być jakiś div który ma się znajdować nad innymi, to

  1. position: absolute; top: 50%; left: 50%;


i po sprawie.
mortus
@by_ikar: Żaden z podanych przez Ciebie stylów CSS nie wyśrodkuje div-a w pionie. margin: auto nie zadziała w ogóle, margin-top: 50% przesunie div-a poniżej połowy strony, tak, że górna jego krawędź będzie w połowie. Jedynie trzecia propozycja przy ustawieniu dodatkowych atrybutów CSS zadziała jak trzeba:
  1. div {
  2. margin-top: -250px;
  3. margin-left: -300px;
  4. width: 600px;
  5. height: 500px;
  6. position: absolute;
  7. top: 50%;
  8. left: 50%;
  9. }

choć nie zagwarantuję, że będzie to działać na wszystkich przeglądarkach. Alternatywą jest obliczenie pozycji div-a w JavaScript i nadpisanie stylu CSS.
Sexee
No tak.. to nie ma tego co chciałem

Cytat
centering(#div);
I byłoby git a tak to jakieś pierniczenie się z marginesami. Jak to nie zadziała to odpuszczę to sobie bo szkoda na to czasu.

Plusy dla was biggrin.gif
by_ikar
Cytat(mortus @ 2.04.2012, 09:14:54 ) *
@by_ikar: Żaden z podanych przez Ciebie stylów CSS nie wyśrodkuje div-a w pionie. margin: auto nie zadziała w ogóle, margin-top: 50% przesunie div-a poniżej połowy strony, tak, że górna jego krawędź będzie w połowie. Jedynie trzecia propozycja przy ustawieniu dodatkowych atrybutów CSS zadziała jak trzeba


W przypadku margin: auto, nie byłem pewien, dlatego podałem margin-top: 50% jako dodatek, a nie jedyne użycie, tyle że o tym nie wspomniałem.. Można to również zrobić marginesem, tyle że nie będzie to tak uniwersalne, ponieważ margines górny/dolny trzeba określić w zależności od wielkości elementu: http://jsfiddle.net/4d7sb/ im większy element, tym margines dolny/górny jest mniejszy. Można dodać do tego position absolute, można pobawić się w position fixed. Jak komu jest to potrzebne.
adrianbienias.pl
dość proste i skuteczne rozwiązanie:

  1. <!DOCTYPE>
  2. #div{
  3. width:300px;
  4. height:400px;
  5. background:blue;
  6. display: table-cell;
  7. vertical-align: middle;
  8. }
  9. #center{
  10. height:50px;
  11. width:200px;
  12. margin:0 auto;
  13. background:red;
  14. }
  15. </head>
  16.  
  17.  
  18. <div id="div">
  19. <div id="center">
  20. wycentrowany wertykalnie div
  21. </div>
  22. </div>
  23.  
  24. </body>
  25. </html>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.