关于sharepoint菜单的样式修改实在是令人头疼的事。不得不在定义好的体系下进行修改。修改的方法很多。不过我个人比较倾向于在css文件中直接改,注意备份就好了!这样可以在尽可能不动master page的情况下来修改样式。
这里有一点需要注意,sharepoint的体制下是,无论你新建的站点还是默认的站点,sharepoint都会调用位于c:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/LAYOUTS/2052/STYLES下的文件。一旦你在designer中打开并编辑了相应的CSS文件,系统则会在这个站点中独立出这个CSS文件,与其他系统不再关联。菜单的修改一般都是面向整个网站的,所以建议直接到目录里找到相应的CSS,修改并保存。仅仅是修改菜单的样式,相关信息通常保存在core.css中。用记事本打开即可。
在修改菜单样式之前,我们通常会修改背景颜色。或者可以贴张好看的背景图片上去。sharepoint的大部分背景在这里放着:c:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/IMAGES。在路经上就可以直接指定为/_layouts/images/就可以了。关于导航菜单的样式是在.ms-bannerContainer中定义,在这里可以修改这个td的一切属性。
master中的菜单是放在了id为PlaceHolderHorizontalNav的ContentPlaceHolder中。其中代码如下
<SharePoint:AspMenu
ID="TopNavigationMenu"
Runat="server"
DataSourceID="topSiteMap"
EnableViewState="false"
AccessKey="<%$Resources:wss,navigation_accesskey%>"
Orientation="Horizontal"
StaticDisplayLevels="2"
MaximumDynamicDisplayLevels="1"
DynamicHorizontalOffset="0"
StaticPopoutImageUrl="/_layouts/images/menudark.gif"
StaticPopoutImageTextFormatString=""
DynamicHoverStyle-BackColor="#CBE3F0"
SkipLinkText=""
StaticSubMenuIndent="0"
CssClass="ms-topNavContainer">
<StaticMenuStyle/>
<StaticMenuItemStyle CssClass="ms-topnav" ItemSpacing="0px"/>
<StaticSelectedStyle CssClass="ms-topnavselected" />
<StaticHoverStyle CssClass="ms-topNavHover" />
<DynamicMenuStyle BackColor="#F2F3F4" BorderColor="#A7B4CE" BorderWidth="1px"/>
<DynamicMenuItemStyle CssClass="ms-topNavFlyOuts"/>
<DynamicHoverStyle CssClass="ms-topNavFlyOutsHover"/>
<DynamicSelectedStyle CssClass="ms-topNavFlyOutsSelected"/>
</SharePoint:AspMenu>
AspMenu中定义了菜单的一些基本属性。
ms-topnav是菜单正常显示时候的样式。在这里,可以定义很多菜单的基本属性。比如菜单的高度,菜单中表格线,背景图片颜色,等等。
本文介绍如何在不修改MasterPage的情况下调整SharePoint菜单样式。通过直接编辑CSS文件,可以实现菜单背景、高度等属性的自定义。文章还提供了具体代码示例。

377

被折叠的 条评论
为什么被折叠?



