Temelde kodunuzda daha fazla karışıklık yaratan daha fazla karmaşa eklediniz, bu yüzden ilk önce gerçek sorunu anlamayı engelleyen karmaşayı kaldırmaya çalışıyorum.
Öncelikle, asıl sorunun ne olduğunu belirlemeliyiz?
Bu yüzden " inline-block
" öğesi aşağıya doğru itilir.
Şimdi anlamaya başlıyoruz ve önce dağınıklığı ortadan kaldırıyoruz.
1 -
Neden üç divın tümüne aynı kenar genişliği vermiyorsunuz?
Hadi verelim.
2 - Kayan elemanın inline blok eleman aşağıya doğru itilmesi ile herhangi bir bağlantısı var mı? Hayır, onunla hiçbir ilgisi yok.
Yani, bu div'i tamamen kaldırdık . Ve aynı satır içi blok elemanının aşağı doğru itilmesine tanık oluyorsunuz.
İşte bazı edebiyatların sırası, satır kutuları fikrini ve aynı satırda nasıl sıralandığını kavramak için geliyor .
'Satır içi bloğun' taban çizgisi, akış içi satır kutuları yoksa veya 'taşma' özelliği 'görünür' dışında bir hesaplanmış değere sahip değilse, normal akıştaki son satır kutusunun taban çizgisidir. bu durumda taban çizgisi alt kenar boşluğudur.
Eğer taban çizgisinden emin değilseniz, basit kelimelerle kısa bir açıklama burada.
'Gjpqy' dışındaki tüm karakterler, taban çizgisinde, bu "rastgele karakterlerin" hemen altını çizerek aynı basit bir yatay çizgi çiziyormuş gibi yazabilirsiniz. aynı satırdaki karakter (ler) varsa, bu karakterlerin alt kısmı satırın altına düşecektir.
Yani, 'gjpqy' dışındaki tüm karakterlerin taban çizgisinin tamamen üzerine yazılırken, bu karakterlerin bir kısmı taban çizgisinin altına yazıldığını söyleyebiliriz.
3 - Neden hattımızın taban çizgisinin nerede olduğunu kontrol etmiyorsunuz? Hattımızın taban çizgisini gösteren birkaç karakter ekledim .
4 - Neden div'de taban çizgilerini bulmak için div'imize bazı karakterler eklemiyoruz? Burada, taban çizgisini netleştirmek için div karakterlerine bazı karakterler eklendi .
Şimdi taban çizgisi hakkında bilgi sahibi olduğunuzda, satır içi blokların taban çizgisi hakkında aşağıdaki basitleştirilmiş sürümü okuyun.
i) Söz konusu satır içi blokun taşma özelliği görünür olarak ayarlanmışsa (varsayılan olarak ayarlanmasına gerek yoktur). Daha sonra taban çizgisi, hattın ihtiva eden bloğunun taban çizgisi olacaktır.
ii) Söz konusu satır içi blokun taşma özelliği görünür olan DİĞER THAN olarak ayarlanmışsa. Daha sonra alt kenar boşluğu, kutu kutusunun çizgisinin taban çizgisinde olacaktır.
Şimdi yeşil div ile neler olup bittiğine dair fikrinizi açıklığa kavuşturmak için buna tekrar bakın . Yine de herhangi bir karışıklık varsa, burada, yeşil bloğa yakın daha fazla karakter eklenir ve içeren bloğun taban çizgisini oluşturur ve yeşil div taban çizgisi hizalanır.
Şimdi, aynı temel çizgilere sahip olduklarını mı iddia ediyorum? SAĞ?
5 - Öyleyse neden üst üste binmiyor ve birbirlerine uygun olup olmadıklarını görmüyorsunuz? Yani, üçüncü div-left getiriyorum: 35px; Şimdi aynı temel çizgileri olup olmadığını kontrol etmek için ?
Şimdi, ilk noktamızı kanıtladık.
İlk noktanın açıklanmasından sonra ikinci nokta kolayca sindirilebilir ve görünür (gizli) dışında bir taşma özelliğine sahip ilk divın satırın taban çizgisinde alt kenar boşluğu olduğunu görürsünüz.
Şimdi, daha fazla açıklamak için birkaç deney yapabilirsiniz.
- İlk div taşmasını ayarlayın : görünür (veya tamamen kaldırın) .
- İkinci div taşmasını ayarlayın : görünür değil .
- Her iki div taşmasını da ayarlayın : görünürden farklı .
Şimdi dağınıklığınızı geri getirin ve her şeyin size iyi gelip gelmediğini görün.
- Yüzen div'inizi geri getirin (elbette
vücudun genişliğini arttırmanız gerekir ) Bunun bir etkisi olmadığını görüyorsunuz.
- Aynı garip marjları geri getirin .
- Yeşil div'i taşmaya ayarlayın : sorunuzda belirlediğiniz gibi görünür (yanlış hizalamanın kenar genişliğinin 1 pikselden 5 piksele yükseltilmesinden kaynaklandığını, bu nedenle negatif sola ayarlarsanız sorun olmadığını göreceksiniz)
- Şimdi anlamaya yardımcı olmak için eklediğim ek karakterleri kaldırın . (ve tabii ki negatif sola kaldır)
- Sonunda vücut genişliğini azaltın çünkü artık daha geniş olana ihtiyacımız yok.
Ve şimdi başladığımız yere geri döndük.
Umarım sorunuzu cevapladım.