【问题标题】:Override SharePoint 2010 master page's css property with "!important"使用“!important”覆盖 SharePoint 2010 母版页的 css 属性
【发布时间】:2014-02-10 09:52:05
【问题描述】:

所以我必须更改 .aspx 页面的布局,并且我不想为其创建单独的母版页,因此我使用 !important 在该 aspx 的布局上覆盖我的母版页的 css必要时。

除了一个属性外,一切都正常...#s4-bodyContainer 在母版页中将属性min-width 设置为1550px !important,我需要将其更改为1300px !important

如果我将覆盖的 css 样式放在页面的开头,它不会覆盖母版页的样式,因为在母版页中还有 !important,并且它是在我编写的 css 之后呈现的。如果我把我的css放在页面的末尾,它会覆盖母版页的样式,但只有在页面加载后才会这样做,所以每次我去那个页面或刷新它时,我都会看到加载时出现小故障。

那么,有没有机会在不修改母版页或创建另一个母版页的情况下解决我的问题?只是在 .aspx 页面上使用 css?

提前致谢!

【问题讨论】:

    标签: asp.net css sharepoint overriding master-pages


    【解决方案1】:

    !important 总是会产生问题,例如您现在遇到的问题。

    覆盖!important 的唯一可能性是具有比原始声明更高的 CSS 特异性。

    那么什么是特异性?内联元素样式是您可以获得的最具体的样式,因此在页面布局中,您可以使用您想要的样式将内联样式(丑陋!)添加到您的#s4-bodyContainer。您可能需要在其中添加 !important,但您可以确定它们比母版页样式表中的样式更具体。

    如果您使用<SharePoint:CSSRegistration ...>,您可以使用属性CssRegistration.After,它允许您的CSS 特定的CSS 文件之后加载。因此,如果在corev4.css 中将宽度设置为1550px !important,您可以在之后加载您的CSS 文件并使用您的!important

    总而言之:解决方案非常丑陋。您不应该在母版页中使用!important,尤其是对于像min-width 这样的一般内容。

    【讨论】:

      猜你喜欢
      • 2015-01-03
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      • 1970-01-01
      • 2014-08-25
      • 2012-08-11
      • 1970-01-01
      相关资源
      最近更新 更多