:before
ve gerekli:after
değil yerini elemanları işe, ve CSS özellikleri onlar için çalışacak ve değiştirilen eleman kavramı biraz muğlak nasıl belirtmez.
CSS 2.1 spesifikasyonu açıkça anlaşılacağı onlar olabilir sadece nasıl “tam tanımlamak” olmadığını söyleyerek, değiştirilen elemanlar için çalışıyorum. Bu, değiştirilen bir öğenin CSS tarafından kontrol edilmeyen kendi görsel sunumuna sahip olmasının beklendiği, oysa sözde öğelerin öğenin içeriğine bir şeyler eklemesi gerektiği sorunuyla ilgilidir. Spesifikasyon, bunun gelecekteki bir spesifikasyonda "daha detaylı" tanımlanacağını eklemektedir, ancak bu şimdiye kadar gerçekleşmemiştir.
Tarayıcı satıcıları, bu sözde öğeleri bazı öğeler için uygulamayarak sorunlardan kaçınmaya karar verdiler.
“Değiştirilen öğenin” ne anlama geldiği hiç de net değil ve anlam bir şekilde değişmiş gibi görünüyor. Genellikle boş öğe ile aynı anlama geldiği şeklinde yorumlanır ( EMPTY
bildirilen içeriğe sahip bir öğe , yani herhangi bir içeriğe sahip olamayan bir öğe), ancak CSS 2.1 , seçici ile birlikte örnek bir stil sayfası gösterir br:before
(tarayıcılar bunu görmezden gelip br
kendi yol). En azından kısmen CSS oluşturma kapsamına giderek daha fazla sayıda öğenin taşındığı iddia edilebilir. Örneğin, input
modern tarayıcılarda bir öğe (yazı tipi, renkleri vb. Dahil) büyük ölçüde CSS ile kontrol edilebilir.
Mevcut tarayıcılar (Firefox, IE, Chrome), dışındaki boş öğeler için :after
ve :before
sözde öğeleri desteklemiyor gibi görünüyor hr
. İçin hr
, IE ve Chrome uygulanmasıdır bir sınırlanmıştır kutu, içinde oluşturulan içeriği yerleştirmek hr
; içerik kutuyu daha uzun hale getirir. Firefox, her iki (!) Sözde öğenin içeriğini, uygulaması olan yatay kuralın sonrasına yerleştirir hr
. Bu varyasyon, CSS 2.1'de atıfta bulunulan “etkileşim” problemlerinin türlerini göstermektedir.
Genellikle bu sözde öğelerin, HTML tanımları herhangi bir içeriğe izin vermediği için boş öğeler için kullanılamayacağı iddia edilir. Bu bir kategori hatasıdır. Bir biçimlendirme dilinin sözdizimi kuralları, CSS'de yapabileceklerinizi kısıtlamaz
Sonuç olarak, :after
ve :before
şu anda boş elemanlar için kullanılamazlar (marjinal olarak hariç hr
), ancak bu esas olarak uygulamalardan kaynaklanmaktadır ve gelecekte değişebilir.
<before></before>
, kaynakta " " gibi bir şey bulabilirseniz şaşırırdım.