2010-02-17 16 views
8

Çeşitli büyüklükteki birden çok başlığın ilk satırını aynı taban çizgisine hizalamanın bir yolu var mı? Ayrıca, aşağıdaki metne bakılmaksızın, aynı zamanda hizalanmalıdır., aşağıdaki metne bakılmaksızın başlıkları aynı taban çizgisine göre hizalar mı?

EDIT'e lütfen http://snapplr.com/snap/z1mw de

bakınız resmi: Yüklenen yeniden:

alt text http://img144.imageshack.us/img144/7615/screenshot2010021722h53.png

Bu tek çözüm her başlık ve ayrı DIV içine her gövde metni koymaktır bana öyle geliyor ve daha sonra bunları hizalamak için dolgu malzemesiyle veya kenar boşluğuyla oynama başlıklarıyla (örneğin H1, 0px kenar boşluğu ile 36px, H3 ise 12px üst kenar boşluğu ile 24px olacaktır). Böyle bir şey:

<html> 
<head> 
    <style type="text/css" media="all"> 
     div { 
      width: 240px; 
      float: left; 
     } 

     h1 { 
      font-size: 36px; 
      margin: 0; 
      padding: 0; 
     } 

     h3 { 
      font-size: 24px; 
      margin: 0; 
      padding: 10px 0 0 0; /*for some reason I must use 10px instead of 12px to align. Why??*/ 
     } 
    </style> 
</head> 
<body> 
    <div> 
     <h1>H1 heading</h1> 
    </div> 
    <div> 
     <h3>H3 heading</h3> 
    </div> 
    <div> 
     <h3>H3 heading that is somewhat longer and spans multiple lines</h3> 
    </div> 
    <div style="clear:both;"></div> 
    <div> 
     <p>There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.</p> 
    </div> 
    <div> 
     <p>There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.</p> 
    </div> 
    <div> 
     <p>There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.</p> 
    </div> 
</body> 

Ama bu çok güzel bir çözüm değildir. Daha iyi bir şey var mı lütfen?

Çok teşekkür ederim!

+0

Yığın Taşması'na Hoş Geldiniz. –

+0

Numunenizi photoshop'ta kontrol ettim ve 12 px'e ihtiyacınız var - fontun sahip olduğu serifs nedeniyle sadece bir çeşit optik yanılsama var :) – easwee

+0

http://img682.imageshack.us/img682/1604/optic. jpg – easwee

cevap

-1

Hızlı bir düşünce ("Bu fikri aldım, işe yarayabilirdi, ancak test etmedim"): Hat yüksekliğini kullanmaya ne dersin? Tüm başlıklar için aynı çizgi yüksekliğini kullanabilir, böylece tüm satırlarda tekdüze bir taban çizgisi elde edebilirsiniz.

Selamlar Jesper Hauge

4

web Bastığınız için kullanılır farklı taban işler. Tarayıcılar, metninizi alttan ziyade satır yüksekliğinin merkez numaralarına hizalar. Bu, web ızgarasına hizalanmış metinlerin, aynı temelde oturmak yerine, birbirine göre dikey olarak merkezlendiği anlamına gelir.

Eğer bunun için sorun yoksa, ondan hala güçlü bir tablo alabilirsiniz. Sadece çizgi yüksekliği, dolgu, kenarlık ve kenar boşluklarının bir arada kullanılması ile tam olarak olmanız gerekir. Biraz matematik gerektirir, ancak tamamen mümkündür. Burada daha fazla: aslında sen baskı bildiğimiz bir başlangıca hizalanmış şeyler gerekiyorsa, oyun çok daha zor

http://24ways.org/2006/compose-to-a-vertical-rhythm/

olduğunu. Sorun şu ki, tam bir yazı tipine bağlı olarak çeşitli miktarları itmeye ihtiyaç duyacaksınız - her tarayıcı farklı bir yazı tipi kullanıyorken mümkün değil.

http://baselinecss.com/

ya çözümü ile çapraz tarayıcı sorunlar var: İşte bunu mümkün kılmak için bir girişimdir. Web henüz bunun için uygun araçları sunmuyor. Ama hiçbir durumda divlere ihtiyacınız yok. Tüm bu ayarlamaları başlıkların kendisinde yapabilirsiniz. Onlara örneğinizde bile ihtiyacınız yok. Neden buradaki divlar?

+0

Teşekkür Eric teşekkür 24ways makale sadece ben eksik umuyordum ben, yani vb line-height, dolgu, kurcalıyor geldi aynı çözümü göstermek gibi görünüyor Hayatı kolaylaştıran bazı gizli CSS özellikleri/çözümleri :-) baselinecss.com, söz veriyor gibi görünüyor. Tam olarak ne yaptığını görmek için kodun içine girmeniz gerekiyor. Div'lerle ilgili olarak - aşağıdaki paragrafların ilk satırını hizalamayı düşünebilmemin tek yolu buydu, farklı satırlarla başlıklarım olması durumunda (orijinal yazıdaki resme bakın). Daha iyi bir çözüm görmekten memnun olurum, çünkü bu kod biraz beceriksiz olur :-( –

+0

Sadece biraz hantal değiller, fakat üstbilgiler içeriklerine bağlı olmadıkça anlamsızlık duygusunu yok ederler. Kaynak-sırayla, bu noktada tabloları da kullanabiliyorsunuz.Yalnızca iş yapmak için tüm anlambiliminizi feda etmeye istekliyseniz, saf CSS'yi saklamak için bir neden yok.İlk olarak semantik yapıyorum ve gerçekten jQuery gerçekten etkisi gerekiyorsa. –

İlgili konular