`
isiqi
  • 浏览: 16078181 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

ASP.NET - 将 CSS 和样式用于 Menu 控件

阅读更多

几乎 Menu 控件外观的各个方面都可以使用 Menu 控件的属性或级联样式表 (CSS) 来管理。通过了解哪些属性控制呈现的哪些方面,可以定制菜单的外观。本主题介绍由 Menu 控件公开的样式类型,并建议一些使用 Menu 控件设置样式的最佳做法。

可以直接在标记中设置各种样式的属性或使用样式表。CssClass 属性可用于为菜单样式分配 CSS 类,该样式控制 Menu 控件外观的某些方面。下面的示例演示如何为许多 Menu 属性(然后可以在样式表中引用这些属性)指定一个 CssClass 属性。

<asp:menu id="NavigationMenu2"

staticdisplaylevels="3"

orientation="Vertical"

target="_blank"

runat="server"

CssClass="menu2">

<levelsubmenustyles>

<asp:submenustyle CssClass="level1" />

<asp:submenustyle CssClass="level2"/>

<asp:SubMenuStyle CssClass="level3" />

</levelsubmenustyles>

...

请注意,最佳做法是在标记中指定内联样式或使用 CssClass 属性并使用样式表指定样式。不建议同时指定内联样式和使用样式表,因为可能会导致意外行为

一、菜单行为和样式

Menu 控件使用两种显示模式:静态模式和动态模式。静态显示意味着部分或全部菜单结构始终可见。完全静态的菜单显示整个菜单结构,用户可以单击其任何部分。动态显示意味着当鼠标指针置于某些项上时显示部分菜单结构;仅当用户将鼠标指针放置在父节点上时才会显示子菜单项。

StaticDisplayLevels 属性指示静态显示多少层菜单项。如果有四层菜单项,并且 StaticDisplayLevels 属性设置为 3,则静态显示前三层,动态显示最后一层菜单项。

若要控制菜单的静态部分的外观,可以在名称中使用包含单词“Static”的样式属性:

·StaticMenuStyle

·StaticMenuItemStyle

·StaticSelectedStyle

·StaticHoverStyle

若要控制菜单的动态部分的外观,可以在名称中使用包含单词“Dynamic”的样式属性:

·DynamicMenuStyle

·DynamicMenuItemStyle

·DynamicSelectedStyle

·DynamicHoverStyle

StaticMenuStyle DynamicMenuStyle 属性分别影响整组静态或动态菜单项。例如,如果使用 DynamicMenuStyle 属性指定一个边框,则整个动态区域将会有一个边框。

StaticMenuItemStyle DynamicMenuItemStyle 属性与此行为相反。这两个属性影响单个菜单项。例如,如果使用 DynamicMenuItemStyle 属性指定一个边框,则每个动态菜单项都有它自己的边框。

当鼠标指针置于菜单项上时,StaticSelectedStyle DynamicSelectedStyle 属性仅影响所选的菜单项,而 StaticHoverStyle DynamicHoverStyle 属性影响菜单项的样式。

1.1、菜单层

控制菜单项的外观的另一种方法是单独设置菜单结构中每层的样式。Menu 控件具有多个充当样式集合的属性,这意味着这些属性可以包含菜单结构的每层的样式信息。

可用于指定每层外观的样式属性在其名称中包含单词“Level”:

·LevelMenuItemStyles

·LevelSubMenuStyles

·LevelSelectedStyles

下面的示例创建一个四种样式的集合,这些样式适用于前四层菜单项,并且可以通过使用 CssClass 值在样式表中引用。

<LevelMenuItemStyles>

<asp:MenuItemStyle CssClass="Level1Style" />

<asp:MenuItemStyle CssClass="Level2Style" />

<asp:MenuItemStyle CssClass="Level3Style" />

<asp:MenuItemStyle CssClass="Level4Style" />

</LevelMenuItemStyles>

集合中的第一种样式适用于第一层菜单项;第二种样式适用于第二层菜单项,依此类推。请注意,层样式之间不存在任何继承,以便应用于一个层的样式不会影响后续层。

下面的示例创建一个三种样式的集合,这些样式适用于前三层菜单项,并且可以在样式表中引用。

<LevelSubMenuStyles>

<asp:SubMenuStyle CssClass="submenulevel1" />

<asp:SubMenuStyle CssClass="submenulevel2" />

<asp:SubMenuStyle CssClass="submenulevel3" />

</LevelSubMenuStyles>

二、菜单样式常见情况

用于设置 Menu 控件格式的样式取决于对菜单项的外观进行控制的程度和位置。例如,如果希望每个菜单项层都有一个一致的外观,请使用 LevelMenuItemStyles 属性来设置每个菜单层的样式。如果希望所有静态菜单项的外观都相同,所有动态菜单项的外观也都相同,则可以使用 StaticMenuItemStyle 属性来控制所有静态菜单项的外观,使用 DynamicMenuItemStyle 属性来控制所有动态菜单项的外观。

下面的示例演示创建特定菜单所需的标记和样式表内容。本示例演示使用 Menu 控件时的一些最佳做法,包括:

在标记中使用 Menu 控件属性 Font 设置整个菜单的字体。

·通过 WidthMenu 控件属性设置控件的宽度。

·使用 LevelMenuItemStyles 属性为每个菜单项层指定样式。

·在样式表中使用 !important 声明重写菜单的默认字体。

下面的示例提供 Menu 控件的声明性代码。

<asp:menu id="NavigationMenu1" CssClass="menu1"

staticdisplaylevels="3"

staticsubmenuindent="0"

orientation="Vertical"

target="_blank"

Font-names="Arial, Gill Sans"

Width="100px"

runat="server">

<LevelMenuItemStyles>

<asp:MenuItemStyle CssClass="level1"/>

<asp:MenuItemStyle CssClass="level2"/>

<asp:MenuItemStyle CssClass="level3" />

</LevelMenuItemStyles>

<StaticHoverStyle CssClass="hoverstyle"/>

<LevelSubMenuStyles>

<asp:SubMenuStyle CssClass="sublevel1" />

</LevelSubMenuStyles>

<items>

<asp:menuitem text="Home" tooltip="Home">

<asp:menuitem text="Section 1" tooltip="Section 1">

<asp:menuitem text="Item 1" tooltip="Item 1"/>

<asp:menuitem text="Item 2" tooltip="Item 2"/>

<asp:menuitem text="Item 3" tooltip="Item 3"/>

</asp:menuitem>

<asp:menuitem text="Section 2" tooltip="Section 2">

<asp:menuitem text="Item 1" tooltip="Item 1"/>

<asp:menuitem text="Item 2" tooltip="Item 2">

<asp:MenuItem Text="Subitem 1"/>

<asp:menuitem Text="Subitem 2" />

</asp:menuitem>

<asp:menuitem text="Item 3" tooltip="Item 3"/>

</asp:menuitem>

</asp:menuitem>

</items>

</asp:menu>

下面的示例是 Menu 控件的 CSS 代码。

.level1

{

color: White;

background-color: Black;

font-variant: small-caps;

font-size: large;

font-weight: bold;

}

.level2

{

color: Blue;

font-family: Gill Sans MT !important;

font-size: medium;

background-color: Gray;

}

.level3

{

color: black;

background-color: Silver;

font-family: Gill Sans MT !important;

font-size: small;

}

.hoverstyle

{

font-weight: bold;

}

.sublevel1

{

background-color: Gray !important;

color: White !important;

font-variant: small-caps;

}

分享到:
评论

相关推荐

    ASP.NET 控件的使用

    1.1 ASP.NET和.NET Framework 5 1.1.1 框架类库 5 1.1.2 公共语言运行库 9 1.2 ASP.NET控件 10 1.2.1 ASP.NET控件概览 11 1.2.2 HTML控件 12 1.2.3 理解和处理控件事件 12 1.2.4 视图状态 17 1.3 ASP.NET页面 20 ...

    .net Menu控件动态绑定数据库(C#)css样式

    asp.net 2.0Menu控件动态绑定数据库。资源内包含:数据库、实例代码!css样式文件 对不起,这里的数据库文件我忘记放里了,您可以下载另一个版本! 谢谢 有问题请与QQ:24394180联系

    专业的ASP.NET控件,原生的AJAX支持,丰富的UI效果。

    专业的ASP.NET控件,原生的AJAX支持,丰富的UI效果。 产品特点: No JavaScript,No CSS, No UpdatePanel,No Web Services 备注: 本产品基于 ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor 开源程序。 ...

    asp.net知识库

    ASP.NET 2.0构建动态导航的Web应用程序(TreeView和Menu ) 体验.net2.0的优雅(3) -- 为您的 SiteMap 添加 控制转发功能 GridView控件使用经验 ASP.NET 2.0:弃用 DataGrid 吧,有新的网格控件了! ASP.NET2.0控件...

    ASP.NET.4揭秘

    1.1 asp.net和.net framework5 1.1.1 框架类库5 1.1.2 公共语言运行库10 1.2 asp.net控件11 1.2.1 asp.net控件概览11 1.2.2 html控件12 1.2.3 理解和处理控件事件13 1.2.4 视图状态18 1.3 asp.net页面22 1.3.1 动态...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    17.5 Menu控件 17.5.1 Menu样式 17.5.2 Menu模板 17.6 总结 第18章 网站部署 18.1 安装和配置IIS 18.1.1 安装IIS 7 18.1.2 管理IIS 7 18.2 部署网站 18.2.1 通过复制文件进行部署 18.2.2 使用...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    14.4.1 给Menu控件应用不同的样式 488 14.4.2 Menu事件 493 14.4.3 把Menu控件绑定到XML文件上 493 14.5 SiteMap数据提供程序 495 14.5.1 ShowStartingNode属性 495 14.5.2 StartFromCurrentNode属性 496 ...

    ASP.NET4高级程序设计(第4版) 3/3

    书中还深入讲述了其他ASP.NET图书遗漏的高级主题,如自定义控件的创建、图像处理、加密等。此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何使用微软...

    ASP.NET2.0高级编程(第4版)1/6

    本书全面介绍了ASP.NET各种编程技能和2.0版中的巨大变化,并详细阐述了2.0版中的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP...

    multi-level-forms-bootstrap-menu:多级 Bootstrap 菜单的 ASP.Net 实现

    Multi-Level Forms Bootstrap Menu 将 Bootstrap 的美引入 ASP.NET 的Menu控件。 在 IE 8+、Chrome 和 Firefox 中运行 基于的 用法 首先,注册您的程序集并将 CSS 文件包含在您的项目中: &lt; %@ Register ...

    ASP.NETJQuery多级下拉菜单源码

    这是一个易于使用且功能强大的ASP.NET菜单控件,是一个标准的且易于更换的ASP.NET Menu控件。它支持无限级子菜单。它支持JQuery中显示隐藏子菜单的效果。强大的CSS主题,它可以正常运行在IE6到8,Firefox3+,Chrome...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。...

    Using CSS Friendly Menu Control Adapter in C# 源码

    using CSS Friendly Menu Control Adapter in C# ASP.NET 3.5 使用Control Adapter美化导航控件源码

    CSS样式风格定义

    } /* 点击激活链接 *//* 顶部频道文字链接的CSS定义--将顶部频道文字链接与网站链接总的CSS定义分开,以后可以制作深底浅字的格式,如果要保持原来的设计样式,将此定义内容删除或定义成与网站链接总的CSS相同即可...

    ExtAspNet_v2.3.2_dll

    -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。...

    基于CSS技术的网页设计应用研究 (2010年)

    在网页中使用CSS对网页进行布局和设计是非常方便快捷的,同时还可以提高对网页的可访问性。...其中详细分析讨论了CSS用于Menu控件的方法,展示了它在WEB应用中对ASP.NETWEB服务器控件风格设计的特别之处。

    漂亮的ComponentArtWebUI web界面

    专为ASP.NET而设计:为三个先进且更强大的框架而设计:ASP.NET 1.0, ASP.NET 2.0和ASP.NET AJAX。 强大的客户端呈现技术:行业中最先进的Web用户界面技术。 深入整合ASP.NET AJAX:最理想的完全应用AJAX框架的控件。...

    ASP在线作业系统

    menu中加入了compress_list.asp的链接,并调整的菜单各个功能的角色的使用权限,并修改了版权信息在install.asp中加入了对WScript.Shell组件的检测修改了explain.asp和control/admin_explain.asp中的程序说明文档及...

Global site tag (gtag.js) - Google Analytics