[英]Is it possible to include a folder of css files?
我有大約100個樣式表,它們將相同的樣式應用於一個文檔,就像zen css頁面一樣,我可以逐個列出這些文件,但它們都在同一個文件夾中,所以看起來有一種更簡單的方法。 那就是...?
我正在使用ruby,但我寧願只列出一個文件夾。
<% Highlight.all.each do |hl| %>
<%= stylesheet_link_tag "css/#{hl.name}" %>
<% end %>
看着禪園這是他們的來源
在發布一些答案后添加
這是一個文件
<style type="text/css" title="currentStyle" media="screen">
@import "/205/205.css";</style>
這是第二種CSS風格
<style type="text/css" title="currentStyle" media="screen">
@import "/001/001.css";
</style>
什么是@import? 這意味着什么?
沒有辦法,僅使用CSS和HTML,包含文件目錄。 您可以使用包含其他文件的一個文件,為您提供更加模塊化的插入文件方式:
@import url("stylesheet1.css");
@import url("stylesheet2.css");
@import url("stylesheet3.css");
...
如果您可以使用服務器端語言,則可以通過多種方式自動插入文件。
您可以創建一個服務器端腳本,給定一個路徑,將包含其中的所有css文件,並將返回連接的響應。
您可以靜態連接文件一次,只需提供一個css文件。 每當修改目錄中的任何文件時,都需要重新應用連接過程。
使用@import url("");
在主要的css文件中,正如@Dustin Laine在另一個答案中所建議的那樣 。
每種方法都有一些優點和缺點:
對於#1:您需要編寫腳本,或使用現有腳本。 您還可以實現一些簡單的緩存機制,以便不在每個請求上獲取和連接文件。 好消息是css僅在一個HTTP請求中提供。
對於#2:與上述類似。 另外一個缺點是你必須手動觸發css文件的打包作為一個連接文件。 您的Web服務器應該能夠非常有效地提供靜態文件,但是通過適當的緩存,可以使之前的解決方案與此方案一樣高效。
對於#3:可能是最簡單的方法,但這會為每個CSS文件發出單獨的HTTP請求。 除了對Web服務器的額外命中外,這對前端渲染性能沒有幫助。 有數百個css文件,我認為我不會考慮這個選項。
從性能的角度來看,您可能應該將它們合並到服務器端。
您沒有提及您的語言或體系結構,但有一些工具可用於連接和縮小這些文件。
我會做這個服務器端...
使鏈接到其他主題傳遞一個參數,稱之為ThemeID,然后是類似的東西
<link href="styles/<%= Request.ThemeID %>.css" rel="stylesheet" type="text/css">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.