2013-04-12 13 views
6

Mam mały problem, chcę, aby moja stopka pozostała u dołu ekranu z position: absolute. Ale mój margin: auto, aby umieścić go na środku ekranu, nie działa.Pozycja bezwzględna i margines: auto

html:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv='Content-Type' content='Type=text/html; charset=utf-8'> 
     <link rel="shortcut icon" href="../IMAGES/favicon.ico"> 
     <title>TEST</title> 
     <link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro' rel='stylesheet' type='text/css'> 
     <link rel="stylesheet" href="../css/stylesheet.css"> 
    </head> 
    <body> 
     <div id="header"> 
      <div id="logo"> 
       <img src="../IMAGES/logo.png" /> 
      </div> 
      <div id="logotitel"> 
       Den Allerstrafste "Ful-Ambi" Live-Band van groot Antwerpen en omstreken! 
      </div> 
     </div> 
     <div id="nav"> 
      <div id="links"> 
       <a href="index.php"><div class="link">Home</div></a> 
       <a href="wie.php"><div class="link">Wie is wie</div></a> 
       <a href="fotos.php"><div class="link">Foto's</div></a> 
       <a href="repertoire.php"><div class="link">Repertoire</div></a> 
       <a href="links.php"><div class="link">Links</div></a> 
       <a href="contact.php"><div class="link">Contact</div></a> 
      </div> 
     </div> 
     <div class="clear"></div> 
     <div id="content"> 
      TEST 
     </div> 
     <div class="clear"></div> 
     <div id="footer"> 
      <div id="copy"> 
       Developed by Yoshi &copy vAntstAd 
      </div> 
     </div> 
    </body> 
</html> 

CSS:

/* PAGE LAYOUT */ 
html 
{ 
     padding: 0px; 
     margin: 0px; 
} 

body 
{ 
     background-image: url(../IMAGES/background.png); 
     padding: 0px; 
     margin: 0px; 
     color: white; 
     font-family: 'Source Sans Pro', serif, sans-serif; 
} 

.clear 
{ 
     clear: both; 
} 

/* HEADER */ 
#header 
{ 
     width: 1100px; 
     height: 150px; 
     background-color: #282828; 
     margin: auto; 
     border-bottom: solid; 
     border-color: red; 
} 

#logo 
{ 
     width: 283px; 
     height: 100px; 
     margin: auto; 
} 

#logotitel 
{ 
     width: 1100px; 
     height: 50px; 
     line-height: 50px; 
     text-align: center; 
     font-size: x-large; 
} 

/* NAV */ 
#nav 
{ 
     width: 1100px; 
     height: 50px; 
     margin-top: 25px; 
     margin-right: auto; 
     margin-left: auto; 
     margin-bottom: 25px; 
     background-color: red; 
} 

#links 
{ 
     width: 600px; 
     height: 50px; 
     margin: auto; 
} 

.link 
{ 
     width: 100px; 
     height: 50px; 
     line-height: 50px; 
     float: left; 
     text-align: center; 
     color: white; 
     text-decoration: none; 
} 

.link:hover 
{ 
     color: #282828; 
     text-decoration: underline; 
} 

/* CONTENT */ 

#content 
{ 
     width: 1100px; 
     height: auto; 
     margin: auto; 
     color: #282828; 
     position: relative; 
} 

/* FOOTER */ 

#footer 
{ 
     width: 1100PX; 
     height: 50px; 
     position: absolute; 
     bottom: 0; 
     margin: auto; 
     background-color: #282828; 
} 

#copy 
{ 
     width: auto; 
     float: right; 
     margin-right: 5px; 
     height: 50px; 
     line-height: 50px; 
} 
+1

Twoje pytanie ma sporo kodu. Aby uzyskać lepszą pomoc wcześniej, opublikuj [SSCCE (link)] (http://sscce.org). – Doorknob

+0

anwnser można znaleźć tutaj: http://stackoverflow.com/questions/9998260/css-absolute-position-wontwork-with-margin-leftauto-margin-right-auto –

+0

Możliwy duplikat: http: // stackoverflow. com/questions/9350775/set-position-absolute-and-margin – showdev

Odpowiedz

12

Ponieważ wiesz, szerokość stopki (1100px), można po prostu zrobić left:50%;margin-left:-550px aby je wyśrodkować.

Przykład: Centrowanie absolutnie umieszczonego elementu
http://jsfiddle.net/vdWQG/

Dlatego stopka staną:

#footer 
{ 
    width: 1100PX; 
    height: 50px; 
    position: absolute; 
    bottom: 0; 
    left:50%;   /* Add this */ 
    margin-left:-550px; /* Add this (this is half of #footers width) */ 
    background-color: #282828; 
} 

Jeśli chcesz element trzymać na dole strony jako użytkownik przewija w dół, użyj position: fixed zamiast position:absolute

+0

Ale to nie działa, gdy strona jest dłuższa niż ekran, pozostaje na tej pozycji? renderowany? pierwszy. Nie jest na dole, kiedy przewijam :( –

+0

@YoshiPeters używa 'position: fixed' zamiast' absolute' .aktualizowana odpowiedź – Jace

+1

dziękuję teraz działa tak, jak chcę! –

3

Aby mieć stopkę na dole, wyśrodkowany w poziomie, można zastosować następującą CSS:

footer{ 
    width: 100%; 
    max-width: 600px; 
    position: fixed; 
    left: 0; 
    right: 0; 
    bottom: 0; 
    margin: 0 auto; 
} 

ten skoncentruje się stałym elementem, ale także utrzymać ją czuły, jak będzie kurczyć, gdy przeglądarka ma stają się mniej szerokie niż stopka.

Zobacz ten Fiddle na przykład

Powiązane problemy