Memo:ASP.NET control style--Theme,css,local properties

如果给控件应用了主题(theme),又有css,还有本地属性的设置,例如:

本地属性有如下定义:

<asp:Label ID="lblName" SkinID="label1" runat="server" Text="Jacky" CssClass="LabelName" BackColor="Beige" Font-Size="X-Large" BorderColor="black"></asp:Label>

 

XX.skin文件中有如下定义:

<asp:label runat="server" backcolor="yellow"  />
<asp:Label runat="server" skinid="label1" BackColor="LightGreen" />

 

XX.css文件中有如下定义:

.LabelName
{
   background-color:Blue; 
     border-left:solid 5px red; 
}

 

如果是在@page指令中以Theme="mytheme"应用主题的:

 样式应用优先次序:skin文件,本地属性,css文件

此label最终样式:background-color=LightGreen;border-left=solid 5px black;font-size=X-Large;

 

如果是以StylesheetTheme=“mytheme”应用主题的:

 样式应用优先次序:本地属性,skin文件,css文件

此label最终样式:background-color=Beige;border-left=solid 5px black;font-size=X-Large;

 

如果Theme 和 StyleSheetTheme都指定了:

 样式应用优先次序:Theme,本地属性,StyleSheetTheme,css文件

 

css的顺序:

如果Theme和StyleSheetTheme中都包含了CSS文件,页面又链接了其它CSS文件,还在页面写了<style ...>...</style>

 最终页面上这些css会有如下顺序:

<head>

<link...StyleSheetTheme中css... />

自己的css:包括link指定的和<style...>...</style>声明的

<link...Theme中的css... />

</head>

 

StyleSheetTheme中的css紧接着<head>标记,Theme中的css紧接着</head>标记,这之间是自己的css,那么这样一来,这些CSS应用优先次序:Theme中css,自己css,StyleSheetTheme中css  

 

这里所说的应用优先次序是指:样式的决定权次序,前面的决定了的样式,以前面为最终样式,前面没有决定的样式,后面的来决定

 

posted on 2009-11-21 15:31  Archmage  阅读(442)  评论(0)    收藏  举报

导航