2013-05-09 21 views
9

LaTeX'te çapraz referans oluşturmak için kullanılan yöntem, daha sonra başvurmak istediğiniz bir öğeye \label koymak ve sonra \ref kullanın. Örneğin, LaTeX kaynağında as we saw in Section~\ref{intro} yazımı, son çıktıda "Bölüm 1'de gördüğümüz gibi" üretebilir. Sadece HTML ve CSS kullanarak aynı etkiyi elde etmek mümkün mü? CSS'nin daha yeni özellikleri, bölümlerin otomatik olarak numaralandırılmasına izin verir, ancak bu sayaç değerlerini belgedeki başka bir yerden göndermenize izin veren hiçbir şey bulamadım. Burada JavaScript olmadan HTML + CSS'de çapraz referansları otomatik olarak nasıl sayılandırabilirsiniz?

somut bir örneği: Bu örnekte,

<!DOCTYPE html> 
<html> 
<head> 
    <title>Cross references</title> 
    <meta charset="utf-8"> 
    <style type="text/css"> 
     body { 
      counter-reset: section; 
     } 
     section > h1::before { 
      counter-increment: section; 
      content: counter(section) ". "; 
     } 
    </style> 
</head> 
<body> 
<section> 
    <h1 id="intro">Introduction</h1> 
    <p>Pineapples contain essential vitamins.</p> 
</section> 

<section> 
    <h1>Further discourse on pineapples</h1> 
    <p>As we saw in Section ??, pineapples contain essential vitamins.</p> 
</section> 
</body> 
</html> 

, her bölüm başlıkları otomatik olarak oluşturulan bir sayı ile başa getirilir. #intro'a karşılık gelen sayıyı ekleyeceğim ?? yerine kullanabileceğim herhangi bir HTML biçimlendirmesi veya CSS stili olup olmadığını bilmek istiyorum.

Girişe çapraz bir köprü oluşturmak için <a href="#intro"> kullanabileceğimi farkettim, ancak bölüm numarasını bağlantı metnine de eklemek istiyorum.

Bu, yalnızca HTML ve CSS'de mümkün değilse, bir belgede çapraz referans eklemek için herhangi bir JavaScript kitaplığı var mı? "? Nasıl JavaScript kullanmadan CSS tarafından otomatik olarak oluşturulur içeriğe erişebilirsiniz"

cevap

6

beni (Gez) bu soruyu ifadelerle olması için daha iyi bir yol olurdu ve bu sorular alakalı olduğundan:

Is it possible to access the content generated by a css :before rule?, onsuz mümkün bile JavaScript kolay değil, değil.

sayaçları ve oluşturulan içeriği tartışmak W3C belgelerin vardır, ama bildiğim kadarıyla söyler misiniz hiçbiri bir belgenin diğer bölümlerinde üretilen içeriğe başvuruda tartışmak:

012 olduğunutam olarak çapraz başvuru probleminden bahseder - 'da yazılan bir e-postadan gelir ve ben herhangi bir takip çalışması bulamadım, bu yüzden bu yüksek bir öncelik değildi.

Güncelleme

CSS Generated Content for Paged Media Modulediscusses cross references explicitly ve CSS ile bunları uygulamak için target-counter ve target-text fonksiyonlarını açıklar. Ancak, bu 29 Kasım 2011 tarihli bir çalışma taslağıdır; Bu işlevler herhangi bir büyük tarayıcıda görünmüyor. Bir article from A List Apart, bazı rastgele eşleme araçlarını kullanarak HTML'den PDF e-kitapları oluşturmak için bu CSS özelliklerini kullanma hakkında konuşur.

İlgili konular