2010-05-06 5 views
9

Temelde bir kelime belgesi gibi görünen bir web sayfası yapmaya çalışıyorum. Aşağı inecek birden çok kutu ve metin akacak ve sayfa bir sayfadan diğerine geçecektir.CSS Sayfa Düzeni w/Sonları

Nereden başlayacağımı bilen hiç kimse var mı? Teşekkürler.

Düzenleme: Şuna benzer görünümlü, tarayıcısında doğru olmalıdır:

enter image description here (sütunlar Ignore)

cevap

2

şey javascript kullanarak mümkün geliyor, ama html'nizin yapısına biraz bağlıdır ve paragraflar kırmak ya da gelmiyor.Fark

uyarlarsa sadece bir sonraki sayfaya bir sonraki paragraf taşımak istediğiniz olsun veya olmasın

Yani en basit örnek, gibi düz html yapısında (hiçbir iç içe div, sütunlar, vs) ile paragraflar/html elemanlarını kırarak değil:

<div class="document"> 
    <h1>title</h1> 
    <p>texts</p> 
    <h2>subtitle</h2> 
    <p>texts</p> 
    ... 
    <p>texts</p> 
</div> 

yapmak olacaktır gibi bir şey:

height = 0 
loop through all direct child elements of .document 
{ 
    if ((height + element_height) > page_height) 
    { 
     add page_break_element before current element 
     height = 0 
    } 
    height = height + element_height 
} 
o öğeleri arasında döngü kolaylaştırır çünkü

razı olmama, ben paragraflar yanı mümkün olacağını kırma tahmin

vb yükseklikleri ölçülür ama ekstra bir sürü iş jquery kullanın.

+0

Mükemmel! Aslında javascript kullanarak çalışmam gerekiyor. Paragrafları kırmak için, sanırım sadece bir sürü açıklık kullanacağım: P. – stevenheidel

+0

Kulağa hoş geliyor, iyi şanslar! – jeroen

2

<p style="page-break-before: always">This would print on the next page</p>

+1

Merhaba, tam olarak aradığım şey bu değildi ... Açıklamasında bir resim ile açıkladım. Teşekkürler. – stevenheidel

3

CSS çoğunlukla nedeniyle tam bir elemana stilleri uygular onun box model. İstisnalar pseudo elements. Bu yüzden, sabit bir uzunluktan sonra uygun bir mola oluşturmak için metninizi doğru büyüklükteki farklı elemanlara ayırmanız gerekir.

DÜZENLEME: javascript kullanarak mümkün olabilir. Ancak en basit durumda bile, sayfaların içindeki her şeyin bir alt öğeyle (diğer metin öğelerini bile içermeyen) sadece bir metin öğesi olarak sunulması durumunda, kod bir geliştirme kabusu olacak ve oldukça berbat olacaktır. Bunun nedeni javascript’te ölçüm fonksiyonu olmamasıdır. Bu yüzden elementi kırmak için doğru pozisyonu bulmak için iz ve hata yapmak zorunda kalacaksınız. Elemanların özellikleri canlı olduğu için, web sitesinin izleyicisinin, yükledikten hemen sonra sayfanızda çok fazla titreklik göreceği anlamına gelir. Eğer html elemanının içine başka elemanlar koymaya cesaret ederseniz, daha fazla sorunla karşılaşırsınız. Daha fazla ya da daha az yüzlerce özel durum (diğer unsurların içine girer, bu elemanlar diğer elemanların içinde yer alırsa) neye dikkat edersiniz. Böyle

+0

Düşüncem, sayfanın javascript kullanarak nasıl kırılacağını belirlemek olurdu, bu mümkün mü? – stevenheidel

+0

Bu yüzden, flaş gibi bir şeyle gitmem gerekecek mi? – stevenheidel

+0

+1, çok iyi cevap. – ANeves