设为首页 收藏本站
查看: 961|回复: 0

[经验分享] Sharepoint学习笔记—Site Definition系列--8、如何在Site Definition中引入Master Page (2、Css等资源的引

[复制链接]

尚未签到

发表于 2015-9-25 12:54:30 | 显示全部楼层 |阅读模式
  上一篇讲了如何在Site Definition中引入Maste Page,作为实际操作这是必要的步骤,但仅仅这样是肯定不够的,因为我们不可能不对Master Page的外观进行设计就部署并使用它了。而外观的设计又必须要涉及到CSS等资源的引入与使用。这里我们就继续上面的操作,在本篇看看如何引入我们的CSS资源(当然,引入Img等资源的方法与引入CSS的方法相同)。
    还是在上述的项目中,新添加一个Module,命名为MyStyleLibrary
DSC0000.jpg
  新项目如下图:
DSC0001.jpg   
  把Sample.txt重命名为MyCustomCss.css,并输入内容如下:


body { background-color: #e5e5e5; color: #444; font-family: segoe wp,segoe ui,verdana,arial,helvetica,sans-serif;    font-size: 100%;  line-height: 1.125em; /* 16×1.125=18 http://spbuzz.it/why1125em   */  }
a, a:active, a:hover, a:link, a:visited { color: #1ba1e2; }
#s4-bodyContainer { overflow: auto; }
#s4-workspace { margin: 5px auto; padding: 0 10px; width: 1140px; }
/* make the body use its proper scrollbar again */
body { overflow: auto !important; }
body #s4-workspace { background-color: #fff; overflow: visible;  }
.s4-title { background: transparent none; display: inline; float: left; padding-left: 0px; margin-bottom: 16px; overflow:hidden;  width: auto; }   /** remove padding */
.s4-title h1 { display: block; font-size: 300%; line-height: 100%; margin: 10px auto; text-transform: lowercase; }
.s4-title h1 a { color: #1ba1e2;  }
.s4-title h1 a:hover {  text-decoration: none;}
.s4-title .s4-pagedescription { font-size: 80%; }
.info { float: right; display: block;}
.info li { display: inline; }

/** Top Navigation */
body #s4-topheader2 { background: transparent none;  font-size:small; height:25px; border: 0px; display: inline; float: right; padding-top: 16px; width: auto;}
.s4-toplinks  { display: inline; float: left;  }
.s4-toplinks .s4-tn A.selected { background: transparent none; border: 0px;  font-weight: bold;  margin: 0px;  padding: 5px 10px; }
.s4-tn LI.static > .menu-item {  height: auto;   }
.s4-toplinks .s4-tn A:hover {  height: auto;  text-decoration: none; }
.s4-searcharea {  display: inline; float: right; margin-top: 16px; }
.s4-search input.ms-sbplain { background: transparent none;  font-size: 80%; }
.s4-search .srch-gosearchimg  { background: transparent none; }

/** Quick launch */
BODY #s4-leftpanel-content {
     border: 0px;
}
.s4-ql A.selected { background: #1ba1e2 none; background-position-x: left; background-position-y: bottom; border: 0px; color: #fff !important;  padding-bottom: 5px; padding-left: 15px; padding-right: 15px; }
.menu .menu-item .additional-background {     margin-bottom: 5px; }

BODY #s4-leftpanel {
     width: 100%;
}
.s4-ql {
    margin: 0px;
}

.s4-ql UL.root > LI > .menu-item, .s4-ql UL.root UL > LI > A {
     padding-left: 15px; padding-right: 15px; color: #1ba1e2; font-size: 1.25em;
}
.s4-ca {
        margin-left: 0px;
}
.s4-ca H2 {
    font-size: 1.3em;
    margin-top: 10px;
}
.s4-ca H1 {
    font-size: 1.4em;
    margin: 5px 0px 5px 0px;
}
.ms-rte-layoutszone-inner { padding: 0px; }
.ms-WPHeader { background-color: #1ba1e2; margin-bottom: 5px; }
.ms-WPTitle, .ms-WPTitle A, .ms-WPTitle A:visited, .ms-WPTitle A:hover {     font-size: 1.25em; color: #fff; text-transform: uppercase;  font-weight: bold; }
TD.ms-addnew {
    padding: 5px 0px 5px 0px; text-transform: uppercase;
}
.ms-partline {
    padding-bottom: 5px;
}
A.ms-addnew { padding: 5px;  background-color: #ccc; color: #333;  }
.s4-recentchanges {
    display: none;
}
.ms-v4propertysheetspacing {
    margin-left: 0px;
}

.login {
    background: #1ba0e1;
}  然后修改MyStyleLibrary下的Elements.xml内容如下


<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <Module Name="MyStyleLibrary"  Url="Style Library" RootWebOnly="FALSE">
        <File Path="MyStyleLibrary\MyCustomCss.css"
              Url="MyCustomCss.css"
             Type="Ghostable" />
    </Module>
</Elements>  这里我们把MyCustomCss.css文件放置到新创建Site的Style Library列表中
  并且把File的Type设置为Ghostable,如果我们设置为GhostableInLibrary则可能会出现如下报错:


Failed to instantiate file "MyStyleLibrary" from module "MyStyleLibrary": The specified list does not exist       本项目部署后可以通过SP Designer查看到下图:
DSC0002.jpg
  
  指定了MyCustomCss.css的内容并指定了它的部署位置,接下来,我们需要操作我们的MasterPage来达成两个任务
  1、通知它上哪儿去找我们的MyCustomCss.css
  2、覆盖系统默认的CoreV4.css
  我们需要作的就是在我们的MyCustom.master文件内容中找到如下代码


<SharePoint:CssLink runat="server" Version="4"/>  在它的下面加入如下代码   


<SharePoint:CssRegistration name="<% $SPUrl:~sitecollection/Style Library/MyCustom.css %>" After="corev4.css"  runat="server"/>  效果如下:
DSC0003.jpg
  
  这里我们使用到了CssRegistration: 它的作用就是让CssLink读取此处注册的Css然后插入到Link元素中以达到调用外部CSS定义的目的。
  关于CssRegistration类的定义,请参考CssRegistration说明
  我们可以在部署后可以查看此处引入的Css效果,方法是在部署后的页面上查看资源文件,如下图
  
DSC0004.jpg
  从上图中我们可以看到我们的MyCustomCss.css在CoreV4.css后进行了加载,所以达到了覆盖CoreV4.css的目的。
  
重新Build并部署项目,效果如下图:
DSC0005.jpg
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-118714-1-1.html 上篇帖子: SharePoint 2010系列: 教你如何创建Internet 站点一 (设计母版页) 下篇帖子: SharePoint 2013 搜索高级配置(Search Scope)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表