2013-04-12 74 views
6

Küçük bir sorunum var, altbilginin ekranın alt kısmında position: absolute ile kalmasını istiyorum. Ama benim ekranın ortasına koymak için benim margin: auto artık çalışmıyor.Pozisyon mutlak ve marjı: otomatik

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

Sorunuz kod biraz vardır. Daha iyi yardım için, bir [SSCCE (link)] gönderin (http://sscce.org). – Doorknob

+0

anwnser burada bulabilirsiniz: http://stackoverflow.com/questions/9998260/css-absolute-position-wont-work-with-margin-leftauto-margin-right-auto –

+0

Olası kopya: http: // stackoverflow. com/questions/9350775/set-position-absolute-and-margin – showdev

cevap

12

Eğer altbilgi (1100px) genişliğini bildiğimiz için, bunu ortalamak için bir left:50%;margin-left:-550px şeyi yapabilecek.

Örnek: kesinlikle konumlandırılmış elemanı
nedenle http://jsfiddle.net/vdWQG/

Merkezleme, altbilgi olacaktı:

#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; 
} 

Eğer eleman sayfanın alt olarak sopa istiyorsanız kullanıcı aşağı kaydırır, position:absolute

yerine position: fixed'u kullanın.
+0

Ancak sayfa ekrandan daha uzun olduğunda işe yaramıyor, bu pozisyonda kalıyor? ilk. Kaydettiğimde altta kalmıyor :( –

+0

@YoshiPeters, 'absolute' yerine 'position: fixed 'kullanmış – Jace

+1

güncellemesini şimdi kullanıyorum, teşekkürler, ben istiyorum! –

3

aşağıdaki CSS uygulayabilirsiniz, alt kısmında bir altbilgi, yatay merkezli olması için:

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

Bu sabit eleman ortalar, ancak tarayıcı sahip olduğunda o küçültmek gibi ayrıca, duyarlı tutacak altbilgiden daha az genişler.

bir örnek için bu Fiddle bakın