zoukankan      html  css  js  c++  java
  • ASP.NET2.0Theme回顾总结

    今天要规划一个项目的UI,重新回顾总计了一下asp.net 2.0下Theme的相关知识:

    1.Theme是根目录下App_Themes,必须是这个名称

    2.App_Themes下一级的每一个子文件夹为一个Theme

    3.每个Theme文件夹下可以包含skin 文件、css 文件、图片文件、XML 文件、脚本文件以及子文件夹等。

    Theme下要解释的,主要是CSS样式加载顺序和Skin文件和其加载顺序.

    CSS样式:

    asp.net 2.0下.可以在Page标签里面通过Theme和StylesheetTheme设置来指定样式.如果出现重复定义,具体执行顺序如下:

    标签级别Style > Theme设置 > 页面级别Style > StylesheetTheme设置

    其实CSS样式一样还是根据后出现的覆盖先出现的样式.出现这个顺序是因为Theme设置StylesheetTheme设置的加载位置不同,在<head runat="Server"></header>里面,Theme设置总出现在</head>之前,StylesheetTheme设置总出现在<head runat="Server">之后,而页面级别的Style则在中间.如下:

    Code

    <head id="ctl00_Head1">
    <link href="App_Themes/default/default.css" type="text/css" rel="stylesheet" /><!--StylesheetTheme设置-->
    <style type="text/css"><!--页面级别Style-->
    .test
    {
    width
    :100%;
    }
    </style>
    <link href="App_Themes/default2/default.css" type="text/css" rel="stylesheet" /><!--Theme设置-->
    </head>


    所以出现如此顺序也就不足为奇了.

    另外还要介绍一下的就Skin文件.现看一个简单的例子:

    (名为skintest.skin)

    Code
    <asp:Label runat="server" width="100"></asp:Label>
    <asp:Label runat="server" SkinId="lbl" width="200"></asp:Label>

    1.第一行定义会应用到所有Label
    2.第二行定义会应用到标明skinId是lbl的Label

    (加载顺序:如果用Theme设置,skin文件设置会覆盖本地控件设置,如果用StylesheetTheme设置,则本地控件设置覆盖StylesheetTheme设置)

    另外还得说说的就是EnableTheming 属性,它指示是否为指定控件启用主题,默认为 true。大部分控件均具有此属性。值得注意的是:当使用 StylesheetTheme 来引用主题时,EnableTheming 的设置并不会禁用主题.

    在 web.config 配置文件中可以为所有网页指定默认的主题文件<configuration> - <system.web> - <pages styleSheetTheme="default">.当然也可以设置Theme.个人建议采用styleSheetTheme设置,这样加载顺序合乎习惯.页面自由度比较大.当然,看情况需要咯.

    大概就这些.以后想到什么再补充吧.

  • 相关阅读:
    内部类
    抽象类与接口
    多态
    继承
    封装
    创建对象的内存分析
    构造器
    面向对象 类与对象
    uniapp跳转
    uniapp-组件引用错误,仅支持 import 方式引入组件
  • 原文地址:https://www.cnblogs.com/KenBlove/p/1312491.html
Copyright © 2011-2022 走看看