转:http://www.cnblogs.com/jianyus/archive/2012/01/11/2319621.html
1、 首先打开SharePoint Designer 2010,找到母版页,复制一份V4.master,用来做我们剪裁用,不建议修改之前的母版页,错了的话,不容易找回来。同时新建一个页面布局,引用自定义这个母版页,用来看效果。引用后预览下未修改的母版页,如图1所示:
2、 编辑我们复制出来的母版页,我们要做的就是要一个网站的Head将来放Flash,要网站的Foot放版权信息,还有中间的Main用来给页面布局。在这里,我暂时隐掉了左侧导航,头部的其它控件等,如果有需要,可以随时显示出来。那么,开始我们的母版页之旅吧。
3、 我们经过查看,可以看到<div id="s4-workspace">这个区域,是将来我们网站主体显示的区域,而向上查看可以发现上面是<div id="s4-ribbonrow" class="s4-pr s4-ribbonrowhidetitle">这个区域,通过id我们可以看出来是2010特色的ribbon的区域。今天我们不需要这一区域,暂时隐藏掉,但是开发过程中,可能需要,当然,我们随时可以显示出来。我们在里面加上样式隐藏。
4、 继续往下看是<div id="s4-titlerow" class="s4-pr s4-notdlg s4-titlerowhidetitle">,同样通过id我们可以看到这个是title行,这个title行主要包括两部分,包括上面的网站信息行,还有下面的导航,我们隐藏掉上面的网站信息,留下下面的导航区域。同样,用样式隐藏。然后,在上面加上一个<div>用来放我们头部的Flash,样式建议写在corev4.css里面,方便我们查找。
5、 接下来是左侧导航,在PlaceHolderMain左边找到<div id="s4-leftpanel" class="s4-notdlg">这个区域,通过id我们知道这个是左侧导航,隐藏之。同时在PlaceHolderMain下面加上Foot区域,写上下面的版权信息吧。看看我们现在的样子吧,如图2。
6、 很明显有一点是不对的,通过IE开发工具,我们可以看到PlaceHolderMain的左边,还有一个区域。倒要看看这个空白是什么,继续IE开发工具找之。功夫不负有心人,终于发现<div class="s4-ca s4-ca-dlgNoRibbon" id="MSO_ContentTable">这个区域里面的s4-ca里面有个margin-left:155px;,去掉之!问题解决!下面为了展示我们的页面是不是正确的,我们把Head、Body、Foot三个区域写上字,上个背景色,看看效果,如图3.
7、 看起来,跟我们要求的差不多了,把底色去掉,换成我们的图片、Flash就OK了,为了满足开发需要,先把Ribbon填上。刚要说结束,又发现问题了,怎么Ribbon不跟着页面一起滚动,这样看着也太难看了,还得继续修改。如图4
8、 首先<body scroll="no"这个里面有个跟滚动有关的属性,把它去掉,刷新不行;对了,<body里面还有样式class="v4master",看看样式,果然,里面有设置,去掉试试,刷新,出现个怪现象,首先ribbon跟着滚动了,接着一闪又不行了。这是为什么呢?突然发现,只是中间部分滚动,是不是这部分有问题,好,看看去!找到<div id="s4-workspace">查看样式,overflow-y:scroll;overflow-x:auto;这两个参数在作祟!好吧,删之。终于在漫长的查找和修改中,完成了!惊喜的发现,不光Ribbon随着滚动了,而且在不需要滚动的情况下,右侧那个滚动条也不见了,很好!就是这样!看看劳动成果,如图5
总结: 经过母版页剪裁的这个过程,感觉2010还是有提高的,div的方式是每个功能点更容易单独使用了,但是依然没敢删掉不需要的节点。期间,当然也遇到各种问题,感谢之前分享文章的博主。下面就简单列几个自己做母版页过程中参考的文章。
参考资料:
http://www.cnblogs.com/Sunmoonfire/archive/2010/07/28/1784991.html
http://msdn.microsoft.com/en-us/library/ee537576.aspx