2011-05-03 36 views
3

我正在使用CSS在兩個DIV中創建一個樣式化的網站。一個始終相同的'Header'DIV,以及一個改變的'Content'DIV。CSS和HTML - CSS文件可以生成HTML嗎?

在我的CSS文件中,是否可以使用所有留在標題中的鏈接編寫HTML,因此我只需要在每個頁面上調用(或類似),而不必每次都寫出標題內容時間?這也有助於僅編輯一個來源,因爲我經常錯誤地忽略頁面。

我不想使用框架,所以尋找替代品。

感謝, 佈雷特

+0

我經常想到這一點。幾年前我問過,然後似乎沒有好辦法做到這一點。 – 2011-05-03 12:17:41

+1

您使用哪種服務器端技術? – Oded 2011-05-03 12:18:12

+0

簡短回答 - 沒有。你可以使用':before'或':after'來模擬一兩個東西,但是你不能在CSS中使用這些僞類生成HTML標記 - 只是純文本或可視元素(圖標,功能區等)。 。抱歉。 – 2011-05-03 12:22:20

回答

0

這就是爲什麼你通常有一些服務器端代碼運行,這將如插入共用首部PHP包括,SSI或其他模板框架。如果這不是一種選擇,那麼您可以編寫JavaScript,每次將頭文件寫出到特定的DIV中。儘管我不認爲從SEO的角度來看這很好。

1

根據支持的服務器和服務器端語言,可以完成此操作。

例如,某些服務器會讓您使用Server Side Includes。與其他人一樣,您可以爲標題(例如)指定HTML的「塊」,這將成爲站點範圍模板的一部分。

不是什麼是純粹的CSS和HTML。

+0

我是使用PHP服務器端 – 2011-05-03 12:25:54

+0

@佈雷特 - 看到這個:http://www.mediatitan.com/articles/php_server_side_includes.php – Oded 2011-05-03 12:26:30

+0

非常感謝,這看起來像要走的路。 – 2011-05-03 13:05:09

0

做這個客戶端的通常選項是一個iframe,或者一些用來添加內容(可能是從外部文件加載)的DOM。或者一些創建iframe的javascript。或創建一些JavaScript的iframe。那些可惡的技術的一些排列。

CSS確實有content property,但我認爲它僅限於純文本。我不知道是否可以使用它來拉入HTML,無論是使用字符串還是URI。

正如其他人所說,最常見的方法是做到服務器端。您可以使用包含自下而上或自上而下使用Tiles和SiteMesh等功能。

0

CSS不能幫你做到這一點。

您可以使ajax加載內容。你可以創建一個index.html和很多'content'文件(about.html,contacts.html等)。在index.html中,您可以在content-div中加載另一個.html(例如使用jQuery方法.load())

另一種方法 - 您可以在php(或其他服務器端語言)中製作小模板引擎

0

使用CSS是不可能的,因爲CSS無法處理任何事件,只是瀏覽器知道如何設計網頁風格的「參考」,但是,使用AJAX完成。 我建議你看一下jQuery lib,它會加速這個過程,但是 - 主要的缺點是搜索爬蟲不能正確地索引你的頁面,所以它會被SEO透視。

如果您有時間製作可索引版本和AJAX版本,這是可能的,這就是我們在這裏爲移動項目所做的。

jQuery AJAX API