İlk / Son Öğeler için Kenar Boşluklarını Kaldır - CSS Hileleri

Anonim

Bazen bir kaptaki ilk elemandan üst veya sol kenar boşluğunun kaldırılması istenebilir. Aynı şekilde, bir kaptaki son öğenin sağ veya alt kenar boşluğu. Bunu, sınıfları HTML'ye manuel olarak uygulayarak yapabilirsiniz:

.first ( margin-top: 0 !important; margin-left: 0 !important; ) .last ( margin-bottom: 0 !important; margin-right: 0 !important; )

"Üst" / "alt" sıfırlama, dikey bir öğe yığınıyla kullanışlıdır, "sol" / "sağ" sıfırlama (genel olarak) yatay sıralar için yararlıdır. Ancak… bu yöntem, HTML’ye kendiniz sınıf eklemenize bağlıdır. Sözde seçiciler, daha az müdahaleci bir yol olabilir:

* > :first-child ( margin-top: 0 !important; margin-left: 0 !important; ) * > :last-child ( margin-bottom: 0 !important; margin-right: 0 !important; )

* İhtiyaçlarınıza göre daha özel seçicilerle değiştirmek isteyebilirsiniz.

"Her Üçte Bir" vb.

Diyelim ki 3'e 3 olmak üzere 9 öğeden oluşan bir kayan blokunuz var. 3., 6. ve 9. öğelerden sağ marjı kaldırmanız çok yaygın bir durumdur. Nth-child sözde-seçici burada yardımcı olabilir:

* > :nth-child(3n+3) ( margin-right: 0; )

Oradaki denklem, 3n + 3, şu şekilde çalışır:

(3 × 0) +3 = 3
(3 × 1) +3 = 6
(3 × 2) +3 = 9
vb.

jQuery

jQuery, aşağıdakileri içeren CSS3 seçicilerini kullanır: birinci-çocuk,: son-çocuk ve: nth-çocuk (). Bu, bu seçicileri desteklemeyen veya tam olarak desteklemeyen tarayıcılarda jQuery'de çalışacakları anlamına gelir, böylece CSS desteğini JavaScript desteği ile değiştirebilirsiniz. Örneğin:

$("* > :nth-child(3n+3)").css("margin-right", 0);

Tarayıcı desteği

: first-child ve: last-child, tüm büyük tarayıcılardan en son sürümde çalışır, ancak IE 6'da değildir.: first-child, IE 7+ sürümünde desteklenir. : nth-child, Safari 3+, Firefox 3.5+ ve Chrome 1+ ile çalışır, ancak yine de IE8'de çalışmaz.

Ayrıca David Oliver'ın makalesine bakın.