2011-03-16 28 views
25

Mutlak & göreceli konumun ne olduğunu biliyorum ama bazı noktalar hala silinmedi. referans için mutlak vs göreli konum genişlik ve yükseklik

CSS:

.rel{ 
    position:relative; 
    background:red; 
} 
.abs{ 
    position:absolute; 
    background:blue; 
} 

html:

hemen
<div class="rel">rel</div> 
<div class="abs">abs</div> 

noktalar şunlardır:

  • nispi div% 100 genişliği otomatik olarak alır ancak mutlak div yalnızca içerik genişliği alır . niye ya? Nede% 100 verdiğimde

  • orada göreceli div ama mutlak div hiçbir etkisi% 100 yüksekliğini alır. niye ya? o da mutlak div shift var 30px ama üst verdiğinde:

  • i margin-top verdiğimde 30px sonra sadece göreli div kayması. niye ya?

  • i bu kadar mutlak div top:0 , left:0 vermeyin

    div yüksekliği yukarıda sürer. niye ya? position:absolute Ayar

+0

@BoltClock: başvurular? – fabrik

+0

@BoltClock: http://css-tricks.com/absolute-relative-fixed-positioining-how-do-they: Beni buradan spec – sandeep

+4

bağlantısını verin pozisyonların türleri farklılıkları açıklayan için iyi bir referanstır -differ/ – Dan

cevap

37
  1. belge yapısının normal akışından söz konusu öğeyi kaldırır. Yani, bir genişliği açıkça belirlemedikçe, ne kadar geniş olacağını bilmezsiniz. width:100%'u açık bir şekilde ayarlayabilirsiniz, eğer bu etkiyi takip ederseniz.

  2. position:relative numaralı bir öğe, position:static öğesinin yaptığı gibi aynı şekilde davranır. Bu nedenle, üst öğenin tanımlı bir yüksekliğe sahip olmaması durumunda height:100% ayarının hiçbir etkisi olmayacaktır. Buna karşılık, mutlak olarak konumlandırılmış elemanlar belge akışından çıkarılır, böylece mevcut elemanlarının sahip oldukları yüksekliğe göre ayarlanması serbesttir.

  3. Bu, muhtemelen HTML'nizdeki ana öğelerle ilgili bir şeydir, ancak sayfanızın tam HTML'sini ve CSS'sini sağlamadıkça daha fazla yardımcı olamam.

  4. üst ve sol özelliklerini varsayılan değeri otomatik olduğunu. Bu, tarayıcının bu ayarları sizin için hesaplayacağı ve position:absolute yoksa öğenin nerede oluşturulacağını ayarlaacağı anlamına gelir.

+0

cevapları için teşekkürler.İlk ve 4. nokta gibi çok yararlıdır ama 3. nokta için lütfen daha iyi bir anlayış için yukarıdaki koddaki değeri uygulayınız – sandeep

+0

@sandeep, yukarıdaki kodunuzda herhangi bir bilgi bulunmuyor Bu iki divın ana öğesi. Sorunuzu tam olarak cevaplamak için ebeveynin nasıl tarzını bilmem gerekiyor. – warmanp

+0

Ancak, "öğe: mutlak", hala ana öğeye göre değil? [w3schools.com] (http://www.w3schools.com/cssref/pr_class_position.asp) "Öğe, ilk konumlandırılmış (statik olmayan) ata öğesinin öğesine göre konumlandırılmıştır". Bu aslında ne anlama geliyor? Bir ata elemanı nedir ve mutlak konumlandırılmalı mıdır? Bir element ata elemanını nasıl buluyorsunuz? –

İlgili konular