Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[CSS] Wyśrodkowanie strony
#1
Za pomocą generatora zrobiłem sobie taki szablon. Jednak za pomocą css za nic nie mogę go wyśrodkować.
Ustawiam margin: 0 auto; wszystko biorę w <div id="wrapper"> i nic.
Kod:
*{
margin:0;
padding:0;
}
div#wrapper {
width: 894px;
margin-left: auto;
margin-right: auto;
padding: 5px 5px 5px 5px;
margin: 0;
}
#block_1
    {
    float: left;
    width: 2px;
    margin-left: 567px;
background:url('/images/separator.gif') repeat center;
    }
* html #block_1
    {
    display: inline;
    }
#block_2
    {
    float: left;
    width: 567px;
    margin-left: -569px;
background-color: gray;
    }
#block_3
    {
    float: left;
    width: 305px;
    }
/* Start Mac IE5 filter \*/
#block_1, #block_2, #block_3
    {
    padding-bottom: 32767px !important;
    margin-bottom: -32767px !important;
    }
@media all and (min-width: 0px) {
#block_1, #block_2, #block_3
    {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    }
#block_1:before, #block_2:before, #block_3:before
    {
    content: '[DO NOT LEAVE IT IS NOT REAL]';
    display: block;
    background: inherit;
    padding-top: 32767px !important;
    margin-bottom: -32767px !important;
    height: 0;
    }
}
/* End Mac IE5 filter */
/* IE Win can be a bit out - you might need to adjust  
bottom value by -1px or as required */
.verticalalign
    {
    position: absolute;
    bottom: 0;
    }
#block_1 .verticalalign
    {
    width: 2px;
    }
#block_2 .verticalalign
    {
    width: 567px;
    }
#block_3 .verticalalign
    {
    width: 305px;
    }
/* hack for Opera 7+ */
@media all and (min-width: 0px){
.verticalalign
    {
    width: 100% !important;
    }
/* But Opera 9 does it right, so CSS3 hax to the max */
div[id^="container"] #block_1 .verticalalign
    {
    width: 2px !important;
    }
div[id^="container"] #block_2 .verticalalign
    {
    width: 567px !important;
    }
div[id^="container"] #block_3 .verticalalign
    {
    width: 305px !important;
    }
}
/* hack for IEs of all persuasions before IE7 */
* html .verticalalign
    {
    width: 100% !important;
    }
.verticalalign p
    {
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 0;
    padding: 0;
    background: #996666;
    }
#container_extra
    {
    position: relative;
    }
* html #container
    {
    position: relative;
    }
#container
    {
    width: 874px;
    overflow: hidden; /* This hides the excess padding in non-IE browsers */
    }
/* we need this for IE 5.01 - otherwise the columns vanish */
* html #container_extra
    {
    float: right;
    width: 100%;
    }
/* we need this for IE 5.01 - otherwise the wrapper does not expand to the
necessary height (unless fixed, this problem becomes even more acute
weirdness as the method is enhanced */
#container
    {
/* Normally a Holly-style hack height: 1% would suffice but that causes
IE 5.01 to completely collapse the wrapper - instead we float it */
    float: right;
/* NB. possibly only IE 5.01 needs to get this float value - otherwise 5.5 sometimes
(I saw it happen many moons ago) makes the width of wrapper too small
the float: none with the comment is ignored by 5.01,
5.5 and above see it and carry on about their business
It's probably fine to just remove it, but it's left here
just in case that many moons ago problem rears its head again */
    float/**/: none;
    }
/* easy clearing */
#container:after
    {
    content: '[DO NOT LEAVE IT IS NOT REAL]';
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    }
#container
    {
    display: inline-block;
    }
/*\*/
#container
    {
    display: block;
    }
/* end easy clearing */
#footer
    {
    clear: both;
    }
#header, #footer
    {
    width: 874px;
    }
/* Safari needs this - otherwise the ghost overflow, though painted
correctly obscures links and form elements that by rights should be above it.
An unintended side-effect is that it cause such elements to vanish in IE 5.01
and 5.5, hence the child selector hack */
* > #footer, * > form, * > #notes, * > .output
    {
    position: relative;
    z-index: 1000;
    }
Odpowiedz
#2
Nie możesz go wyśrodkować, bo najpierw go środkujesz ustawiając margin-left:auto i margin-right:auto a potem obie deklaracje nadpisujesz ustawiając margin:0; Ten ostatni zapis zeruje wszystkie marginesy. Najlepiej ustaw margin: 0 auto;
Odpowiedz
#3
(21-06-2011, 17:33)nd_macias napisał(a): Nie możesz go wyśrodkować, bo najpierw go środkujesz ustawiając margin-left:auto i margin-right:auto a potem obie deklaracje nadpisujesz ustawiając margin:0; Ten ostatni zapis zeruje wszystkie marginesy. Najlepiej ustaw margin: 0 auto;

Po usunięciu margin: 0; też nie działa. Na początku miałem samo width, margin-left i margin-right i też nie działało.
Kod:
*{
padding:0;
}
div#wrapper {
width: 894px;
margin-left: auto;
margin-right: auto;
padding: 5px 5px 5px 5px;
}

margin: 0 auto; też próbowałem. Gdyby to była taka błahostka nie pisałbym tego na forum.
Odpowiedz
#4
To pokaż jeszcze htmla.
Odpowiedz
#5
(21-06-2011, 18:00)nd_macias napisał(a): To pokaż jeszcze htmla.

Kod:
<div id="wrapper">
<div id="container_extra">
<div id="container">
<div id="block_1"><div class="verticalalign"></div></div>
<div id="block_2"><div class="verticalalign"></div></div>
<div id="block_3"><div class="verticalalign"></div></div>
</div>
</div>
</div>
Odpowiedz
#6
Cytat:Gdyby to była taka błahostka nie pisałbym tego na forum.

To następnym razem uprzedzaj, że wklejany kod jest nieaktualny. Przecież nikt tu nie jest wróżką.

Generalnie #wrapper jak najbardziej się środkuje. Problem polega na tym, że nie wiem po co jest taki zapis dla diva o id #block_2 :

Kod:
margin-left: -569px;

To on sprawia, że cały blok przesuwa się w lewo i wygląda to tak, jakby strona faktycznie nie była wyśrodkowana. Po co ten ujemny margines? Zlikwiduj go.
Odpowiedz
#7
(21-06-2011, 18:40)nd_macias napisał(a):
Cytat:Gdyby to była taka błahostka nie pisałbym tego na forum.

To następnym razem uprzedzaj, że wklejany kod jest nieaktualny. Przecież nikt tu nie jest wróżką.

Generalnie #wrapper jak najbardziej się środkuje. Problem polega na tym, że nie wiem po co jest taki zapis dla diva o id #block_2 :

Kod:
margin-left: -569px;

To on sprawia, że cały blok przesuwa się w lewo i wygląda to tak, jakby strona faktycznie nie była wyśrodkowana. Po co ten ujemny margines? Zlikwiduj go.

Dokładnie to nie wiem jaką funkcję pełnił zapis margin-left: - 569px;. Faktem jest to że po usunięciu tej linijki nic się nie zmienia - przynajmniej u mnie w IE8. Ten układ generowałem na: http://fu2k.org/alex/css/onetruelayout/example/interactive
Odpowiedz
#8
Faktem jest, że przykleiłem cały kod HTML + CSS do pliku i po usunięciu tego zapisu + wywaleniu margin:0; wszystko się elegancko środkuje, więc przejrzyj z łaski swojej swój kod raz jeszcze i jesli dalej jest coś nie tak to wklej go dokładnie w takiej samej postaci, w jakiej masz go u siebie.
Odpowiedz
#9
(21-06-2011, 19:20)nd_macias napisał(a): Faktem jest, że przykleiłem cały kod HTML + CSS do pliku i po usunięciu tego zapisu + wywaleniu margin:0; wszystko się elegancko środkuje, więc przejrzyj z łaski swojej swój kod raz jeszcze i jesli dalej jest coś nie tak to wklej go dokładnie w takiej samej postaci, w jakiej masz go u siebie.

margin-left: -569px; nie jest powodem tego że strona nie chce się wyśrodkować. Zobacz że to wcale nie przeszkadza. Ja już wiem co było nie tak - napewno nie margin-left. Z margin: 0 słuszna uwaga, ale ten zapis pojawił się w kodzie gdy już byłem bezradny i próbowałem wszystkiego. Niepotrzebnie się tak unosisz Wink
Odpowiedz
#10
Kolego ty się tutaj nie rozpisuj. Daj linka do swojego pełnego kodu i będzie po sprawie. Jak nie masz to masz co innego - problem.
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  wyśrodkowanie obrazka discoratka 4 4,513 23-08-2013, 03:29
Ostatni post: Kartofelek
  wyśrodkowanie obiektów w <div><ul><li><a> [email protected] 5 4,301 02-01-2013, 03:30
Ostatni post: macder
Sad [Problem] Wyśrodkowanie div'a LAron 2 2,934 04-12-2012, 03:30
Ostatni post: LAron
  [css] wysrodkowanie szerokiego diva grzesiek77 3 3,981 18-05-2012, 00:41
Ostatni post: Heyek
  [CSS] Wyśrodkowanie elementu z automatyczną szerokością dawc 1 2,443 16-05-2012, 16:16
Ostatni post: Kartofelek

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl