所以我必须更改 .aspx 页面的布局,并且我不想为其创建单独的母版页,所以我使用 在该 aspx 布局上覆盖我的母版页的 css !important
必要时。
一切正常,除了一个属性... #s4-bodyContainer
的属性 min-width
设置为 1550px !important
母版页,我需要将其更改为 1300px !important
。
如果我将覆盖的 css 样式放在页面的开头,它不会覆盖母版页的样式,因为在母版页中还有 !important
,并且它在我编写后呈现CSS。如果我把我的 css 放在页面的末尾,它会覆盖母版页的样式,但只在页面加载后才这样做,所以每次我转到该页面或刷新它时,我都会看到加载时出现小故障..
那么,是否有机会在不修改母版页或创建另一个母版页的情况下解决我的问题?仅在 .aspx 页面上使用 css?
提前致谢!
最佳答案
!important
总是会产生问题,例如您现在遇到的问题。
覆盖 !important
的唯一可能性具有比原始声明更高的 CSS 特异性。
- How to override !important?
- Multiple !important class declarations and precedence
- !important CSS Declarations: How and When to Use Them
那么特异性是什么意思呢?内联元素样式是您可以获得的最具体的样式,因此在页面布局中,您可以使用您想要的样式将内联样式(丑陋!)添加到您的#s4-bodyContainer。您可能需要添加 !important
对于那些,但您可以确定它们比母版页样式表中的样式更具体。
如果您使用 <SharePoint:CSSRegistration ...>
您可以使用属性 CssRegistration.After
这允许您的 CSS 在特定 CSS 文件之后加载。所以如果宽度设置为1550px !important
在corev4.css
, 你可以在之后加载你的 CSS 文件和你的 !important
将被使用。
总而言之:解决方案非常难看。你不应该使用 !important
在您的母版页中,尤其是对于像 min-width
这样的一般内容.
关于asp.net - 使用 "!important"覆盖 SharePoint 2010 母版页的 css 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21673832/