top
, bottom
, left
Ve right
özellikleri, bir elemanın yerleştirilmesini ayarlamak için pozisyon ile birlikte kullanılır. Yalnızca, position
özelliği dışında herhangi bir değere ayarlanmış öğeler olan konumlandırılmış öğeler üzerinde etkisi vardır static
. Örneğin: relative
, absolute
, fixed
ya da sticky
.
div ( : || || auto || inherit; )
Örneğin, bir simgeyi yerine itmek için kullanabilirsiniz:
button .icon ( position: relative; top: 1px; )
Veya bir kabın içine özel bir eleman yerleştirin.
.container ( position: relative; ) .container header ( position: absolute; top: 0; )
Değeri için top
, bottom
, left
ve right
aşağıdakilerden herhangi biri olabilir:
- geçerli CSS uzunluklarından herhangi biri
- içeren öğenin yüksekliğinin (için
top
vebottom
) veya genişliğinin (içinleft
veright
) yüzdesi auto
inherit
Öğe, genellikle değeri pozitif olduğunda belirli bir taraftan uzaklaşır ve değer negatif olduğunda ona doğru hareket eder. Aşağıdaki örnekte top
, elemanı aşağı (yukarıdan uzağa) top
hareket ettirmek için pozitif bir uzunluk ve elemanı yukarı (yukarı doğru) hareket ettirmek için negatif bir uzunluk :
CodePen'de Matsuko Friedland (@missmatsuko) tarafından Kalem Üstü: pozitif ve negatif değerler
.
Durum
Bir değere sahip bir elemanın yerleştirilmesi top
, bottom
, left
, veya right
onun değerine bağlıdır position
. top
Farklı değerlere sahip öğeler için aynı değeri ayarladığımızda ne olduğuna bir bakalım position
.
static
top
Mülkiyet unpositioned elemanları ile (elemanlar üzerinde hiçbir etkisi yoktur position
için sette static
). Öğeler varsayılan olarak bu şekilde konumlandırılır. Bir öğe üzerindeki position: static;
etkisini geri almak için bir yöntem olarak kullanabilirsiniz top
.
relative
Değerine top
ayarlanmış bir öğeye position
ayarlandığında relative
, öğe belgedeki orijinal yerleşimine göre yukarı veya aşağı hareket eder.
CodePen'de Matsuko Friedland (@missmatsuko) tarafından Kalem Üstü: göreli
.
absolute
Değerine top
ayarlanmış bir öğeye position
ayarlandığında absolute
, öğe en yakın konumlandırılmış atasına (veya konumlandırılmış üst öğeler yoksa belge) göre yukarı veya aşağı hareket eder.
Bu demoda, soldaki pembe kutu, konumlandırılmış üst öğe içermediği için sayfanın üst kısmından 50px aşağı konumlandırılmıştır. Ebeveyn çünkü sağdaki pembe kutu Onun ailesine üstünden 50px aşağı konumlandırılmış position
bir relative
.
CodePen'de Matsuko Friedland (@missmatsuko) tarafından Kalem Üstüne bakın : mutlak
.
fixed
Değerine top
ayarlanmış bir öğeye position
ayarlandığında fixed
, öğe tarayıcının görüntü alanına göre yukarı veya aşağı hareket eder.
Kalem
Üstü:
CodePen'de CSS-Tricks (@ css-tricks) tarafından düzeltildi.
İlk bakışta, absolute
ve arasında bir fark yokmuş gibi görünebilir fixed
. Aradaki fark, kaydırmak için yeterli içeriğe sahip bir sayfada bunları karşılaştırdığınızda görülebilir. Siz aşağı kaydırdıkça fixed
, absolute
konum öğesi uzaklaşırken konum öğesi her zaman görünür durumdadır.
Kalem
Kaydırma'ya bakın :
CodePen'de CSS-Tricks (@ css-tricks) ile sabit ve mutlak karşılaştırması.
sticky
Değerine top
ayarlanmış bir öğeye position
ayarlandığında sticky
, öğe, en yakın ataya göre bir kaydırma kutusu (veya herhangi bir atanın bir kaydırma kutusu yoksa görünüm penceresi), kapsayıcı öğesinin sınırları ile sınırlı olarak yukarı veya aşağı hareket eder.
Ayarlama top
bir üzerinde sticky
konumlandırılmış elemanın kabını olduğundan daha uzun boylu olmadıkça çok fazla bir şey ve kaydırma için yeterli içeriğe sahip değil. İle olduğu fixed
gibi, siz kaydırdıkça öğe görüntüde kalacaktır. Aksine fixed
, içerdiği öğenin kenarlarına ulaştığında öğe görüntüden düşecektir.
Kalem
Kaydırma:
CodePen'de CSS-Püf Noktaları (@ css-tricks) tarafından düzeltilene karşı yapışkan'a bakın.
Gotchas
Zıt tarafların belirlenmesi
Sen her biri için bir değer ayarlayabilirsiniz top
, bottom
, left
, ve right
tek bir eleman. Zıt taraflar ( top
ve bottom
, veya left
ve right
) için değerler belirlediğinizde , sonuç her zaman beklediğiniz gibi olmayabilir.
Çoğu durumda, bottom
eğer yok sayılır top
zaten ayarlanır ve right
eğer yok sayılır left
zaten ayarlanır. Yön rtl
(sağdan sola) olarak ayarlandığında , left
bunun yerine yok sayılır right
. Bir etkiye sahip her değer için amacıyla, eleman bir zorunluluk position
için grubu absolute
ya da fixed
ve height
kümeyi auto
(varsayılan).
Bu örnekte, set top
, bottom
, left
ve right
20px` 'için ve dış kutunun kenarlarına uzak 20 piksel için, iç kutunun her iki yanına beklemek:
CodePen'de
CSS-Tricks (@ css-tricks) tarafından üst, alt, sol ve sağ Kalem Ayarına bakın
.
Sabit olduğunda, görüntü alanına göre değil
Değerine position
ayarlanmış öğeler fixed
her zaman görünüm alanına göre konumlandırılmaz. Bu bir ile en yakın atası göre konumlanacak olan transform
, perspective
ya filter
dışında bir özellik seti none
eğer varsa.
Boşluk ekleme veya kaldırma
Bir öğeyi konumlandırdıysanız ve şimdi boş bir alan olduğunu veya beklediğiniz yerde yeterli alan olmadığını fark ettiyseniz, öğenin belge akışının içinde veya dışında olmasıyla ilgili olabilir.
Bir öğe belgenin akışından çıkarıldığında, sayfada başlangıçta kapladığı alanın kaybolduğu anlamına gelir. Bu, bir eleman konumlandırıldığında absolute
veya fixed
. Bu örnekte, mutlak olarak konumlandırılmış öğenin belge akışından kaldırılması nedeniyle mutlak konumlandırılmış öğenin kapsama kutusu daraltılmıştır:
CodePen'de Matsuko Friedland (@missmatsuko) tarafından hazırlanan Kalem Belgesi akışına bakın
.
Tarayıcı Desteği
Bir göz atabilirsiniz, ancak top
mülk için tarayıcılar arası herhangi bir endişeniz yoktur . İstediğiniz zaman kullanın.