ASP.NET/CSS
外观
< ASP.NET
直接写在需要样式控制的控件里
[编辑]例如:
<div style="border:#ff6100 1px solid"></div>
页面内可赋给多个控件的class或者cssclass
[编辑]放置在<head></head>
中。例如:
<style type="text/css">
中间写样式属性:比如页面有几个name为textinfo的控件可以写成
#textinfo{border:#ff61001pxsolid;}
也可以写成.textcss
但是需要的空间每个都要在class="textcss"才有效
</style>
对于使用母版页的aspx文件,可以专门在母版页的<head></head>
中定义内容占位控件。例如:
@Page Language="C#"
MasterPageFile="~/TimeTrakkerMaster.Master"
AutoEventWireup="false"
CodeBehind="OpenEntries.aspx.cs" Inherits="TimeTrakkerWeb.OpenEntries"
Title="Open Entries - Time Trakker" %>
<asp:Content ID="Head" ContentPlaceHolderID="head" runat="server">
<style type="text/css">
#itemtemplate
{
border-bottom: dashed 1px teal;
padding: 9px;
padding-left: 30px;
}
</style>
</asp:Content>
<asp:Content ID="Content" ContentPlaceHolderID="Content" runat="server">
...
</asp:Content>
作为主题theme的一部分自动添加css文件
[编辑]ASP.NET 2.0 中新增加了 Theme 的功能。Theme的实现包括CSS、Skin。
- 在 Web 项目中创建 App_Themes 目录。它是预定义的目录,ASP.NET 2.0 会自动识别其目录下的 Theme 。
- 在 App_Themes 目录创建子目录。每个子目录就是一个theme
- 为 App_Themes 下的每个子目录添加 Skin 文件,如my1.Skin。ASP.NET 2.0 会自动分析每一个 Skin 文件,在这里的命名只需要为了开发时方便分类。
- 为 App_Themes 下的每个子目录添加 CSS 文件。ASP.NET 2.0会自动将每一个 CSS 文件添加到每一个使用此样式的页面中去。
在子页面的page 页面指令中可以指明使用哪个theme。例如: <%@ Page Theme="OrangeTheme">
如果想到在整个网站应用某个Theme 就需要在 Web.Config 定义。
<configuration>
<system.web>
<pages theme="OrangeTheme" />
</system.web>
</configuration>
这样的定义相当于默认一个 Theme 在所有网站文件中,使用时仍可以为每个页面定义 Theme 。
如果想用编程方式定义 Theme 必需在 Page_PreInit事件中处理,如下:
void Page_PreInit(object sender, EventArgs e)
{
Page.Theme = Request["ThemeName"];
// 如果需要以编程的方式为 Page 载入 MasterPage 文件,也需要在此定义。
this.MasterPageFile = Request["MasterPageFile"];
}
静态添加css文件
[编辑]首先在aspx页面中的head标记中加入:
<link rel="stylesheet" href="pagecss.css" type="text/css" />
更合理的是采用url动态解析方式:
<link rel="stylesheet" href=<%# Page.ResolveUrl("~/mycss/pagecss.css") %> type="text/css" />
这需要把head tag包括runat="server"。并在母版页的Master Page的Page_Load函数中增加一行:
Page.Header.DataBind();
动态变换CSS文件
[编辑]仍然需要在head标记中添加标记声明:
<link id="MyStyleSheet" rel="stylesheet" type="text/css" runat="server" />
在要更换CSS的页面中,使用如下js代码
void fuction
{
MyStyleSheet.Attributes.Add("href","/css/flostyle.css")
}