我們在過去使用了一個直線.aspx頁面來實現我們的「動態」CSS。
我們擁有一套核心CSS的,但我們需要顯示不同顏色的品牌網站的不同區域/幫助用戶不同部分等區分
你會想要做的主要事情是理清響應編碼:
private void Page_Load(object sender, System.EventArgs e)
{
Response.ContentType = "text/css";
}
然後在代碼前:
<%
string strSiteArea = this.Page.Request.QueryString["sitearea"];
string strCustomStyles = this.Page.Request.QueryString["customcssstyles"];
string extralightcolour = "";
string lightcolour = "";
string normalcolour = "";
string darkcolour = "";
string customcolour = "";
switch (strSiteArea)
{
case "miscellaneous":
extralightcolour = "#F2F2F2";
lightcolour = "#E6E6E6";
normalcolour = "#999999";
darkcolour = "#666666";
break;
case "pressoffice":
extralightcolour = "#F0F4F7";
lightcolour = "#E2E9EE";
normalcolour = "#6D8DA8";
darkcolour = "#5C768D";
break;
// etc
}
%>
h1{color: <%= darkcolour %>;font-family: Arial;padding-left: 0;margin-left: 0;}
h2{color: <%= darkcolour %>;font-family: Arial;font-size: 1.2em;font-weight: bold;margin-bottom: 0;padding-bottom: 0;}
h3{color: <%= darkcolour %>;font-size: 1.1em;font-weight:normal;margin-bottom: 0;}
h4{color: <%= darkcolour %>;margin-bottom: 0;font-size: 1.1em;font-weight:normal;font-style:italic;}
.backgroundheading{margin: 0 0 0 0;background-color: <%= normalcolour %>;color: #FFF;font-weight: bold;font-family: Arial;font-size: 1.0em;text-align: left;padding: 3px 5px 3px 5px;}
.backgroundheadinglight{margin: 0 0 0 0;background-color: <%= lightcolour %>;color: #000;font-weight: bold;font-family: Arial;font-size: 1.0em;text-align: left;padding: 3px 5px 3px 5px;}
.backgroundheadingdark{margin: 0 0 0 0;background-color: <%= darkcolour %>;color: #FFF;font-weight: bold;font-family: Arial;font-size: 1.0em;text-align: left;padding: 3px 5px 3px 5px;}
.background{margin: 0 0 0 0;background-color: <%= normalcolour %>;text-align: left;padding: 3px 5px 1px 5px;}
.backgroundlight{margin: 0 0 0 0;background-color: <%= lightcolour %>;text-align: left;padding: 3px 5px 1px 5px;}
.backgrounddark{margin: 0 0 0 0;background-color: <%= darkcolour %>;text-align:left;padding: 3px 5px 1px 5px;}
.backgroundcolorextralight{background-color: <%= extralightcolour %>;}
,然後調用CSS的網頁,例如:
<link rel="stylesheet" href="/CSS/GenerateCss.aspx?siteArea=pressoffice" />
這給了我們力量,有許多使用一套統一的CSS樣式不同的配色方案,並根據傳入的查詢字符串容易更改的頁面。
它那種看起來像你忘了CSS的「級聯」部分。爲什麼每個h2元素都有自己的顏色聲明?在h2元素(或其他「綠色」元素或其他東西)中聲明一次,然後在需要更具體時覆蓋非顏色屬性。 – dnord 2009-08-25 14:44:53
它是需要重複顏色規格的其他元素中的h2元素。 – ProfK 2009-08-26 00:05:44