CSS'de, statik (varsayılan) konumlandırma ile göreli konumlandırma arasındaki fark nedir?
Yanıtlar:
Statik konumlandırma, öğeler için varsayılan konumlandırma modelidir. Normal HTML akışının bir parçası olarak oluşturuldukları sayfada görüntülenirler. Statik olarak konumlandırılmış elemanlar uymayan left
, top
, right
ve bottom
kurallar:
Göreli konumlama Eğer spesifik bir göreli konum (belirlemenizi sağlar left
, top
HTML akışında öğenin normal konumuna göre değişir vs). Dolayısıyla, bir metin kutusu içinde bir div
metin kutum varsa, normalde aşağıdakiler içinde yerleştirileceği yere göre belirli bir yerde görüntülenmesini sağlamak için metin kutusuna göreceli konumlandırma uygulayabilirim div
:
Ayrıca mutlak konumlandırma da vardır - burada öğenin tüm belgeye göre tam konumunu veya öğe ağacının daha yukarısındaki görece konumlandırılmış sonraki öğeyi belirtirsiniz :
Ve position: relative
hiyerarşideki bir üst öğeye uygulandığında:
Mutlak konum öğemizin görece konumlandırılmış öğe tarafından nasıl bağlandığına dikkat edin.
Ve son olarak düzeltildi. Sabit konumlandırma, bir öğeyi, kaydırma sırasında yerinde kalan, görüntü alanındaki belirli bir konumla sınırlar:
Ayrıca, sabit konumlu öğelerin kaydırmaya neden olmadığı davranışını da gözlemleyebilirsiniz, çünkü bunlar, görünüm alanına bağlı olarak değerlendirilmezler:
Mutlak konumlandırılmış öğeler hala görüntü alanına bağlıdır ve kaydırmaya neden olur:
.. tabii ki ana öğeniz overflow: ?
kaydırmanın (varsa) davranışını belirlemek için kullanır .
Mutlak konumlandırma ve sabit konumlandırma ile öğeler HTML akışından çıkarılır.
static
ve relative
eleman aynıdır, ancak ikincisi ile onu içeren öğeye göre değil , orijinal konumuna göre yeniden konumlandırabilirsiniz - burada absolute
devreye girer. Ayrıca, static
kullanabileceğinizden farklı bir değer kullanılarak konumlandırılan herhangi bir öğe gibi z-index
.
position: static;
olarak basitçe değiştirmek yerine neden hala uygulandığını merak ediyorum position: relative;
? Biri başka bir öğeyi konumlandırmak istemiyorsa top: 0;
ve left: 0;
o zaman yapmayalım, değil mi? position: static;
CSS'nin bir parçası olarak hala gerekli olmasının altında yatan bir neden var mı ?
Burada basit bir genel bakış görebilirsiniz: W3School
Ayrıca, doğru hatırlıyorsam, bir elemanı göreceli olarak ilan ederken, varsayılan olarak olması gerektiği gibi aynı yerde kalacaktır, ancak içindeki elemanları bu elemana göre kesinlikle konumlandırma becerisi kazanırsınız ki bu çok yararlı buldum geçmişte.
"CSS neden hala konumu uyguluyor: statik" sorusuna yanıt olarak; bir senaryoda, bir ebeveyn için göreceli ve konum: çocuk için mutlak kullanımı, çocuğun ölçekleme genişliğini sınırlar. Bağlantıların 'sütunlarına' sahip olabileceğiniz yatay bir menü sisteminde, 'width: auto' kullanımı ilgili üst öğelerde çalışmaz. Bu durumda, onu 'statik' olarak değiştirmek, genişliğin içindeki içeriğe bağlı olarak değişken olmasına izin verecektir.
Birkaç saatimi, kapsayıcımı içindeki içerik miktarına göre neden ayarlayamadığımı merak ederek geçirdim. Bu yardımcı olur umarım!
Göreceli konum, normal akışa göre değişir. Bu elemanın göreceli konumu (ofsetlerle), o elemanın normal olarak hareket ettirilmediği takdirde olabileceği konuma bağlıdır.
Matthew Abbott'un gerçekten iyi bir cevabı var.
Mutlak ve bağıl konumlandırılmış öğeler itaat top
, left
, right
ve bottom
statik konumlandırılmış öğeler yok komutları (ofsetler).
Göreceli olarak konumlandırılmış öğeler ofsetleri normalde html'de olacakları yerden hareket ettirir.
Mutlak konumlandırılmış öğeler ofsetleri belgeden veya bir sonraki göreceli olarak konumlandırılmış öğeden DOM ağacının yukarısına taşır.
statik ve göreli konum öznitelikleridir. göreli, birçok kullanım için kullanılır. Biri için değil. Ancak statik ve göreli, Html'nin normal belge akışına zarar vermediğini unutmayın. statik, Html'ye herhangi bir öğe yazdığınızda varsayılan konumdur. Bir öğenin göreceli bir konumu varsa, bu öğe kendi yerine göre konumlandırılabilir. Öğeyi küçük boşluklardan ayarlamak istediğinizde, ilgili konumu kullanın, böylece öğenin göreceli bir konumu varsa ve bir alt öğesi varsa, kenar boşluğu, dolgu vb. eklemenize gerek kalmaz. Burada ebeveynine göre ölçümler yapabiliriz. Alt öğeye genişlik% 10 eklerseniz, bu (genişlik + dolgu) x% 10 anlamına gelir. Ancak ilgili anahtar sözcüğü eklemezseniz, genişlik% 10 elde edersiniz. Bunun dışında akrabanın en önemli kullanımı; herhangi bir öğeyi üstüne yerleştirebilirsiniz.
position: relative
ve asla yazınposition: static
:)