!important
always creates problems, such as the one you are experiencing right now.
The only possibility to override the !important
is with higher CSS specificity than the original declaration.
- How to override !important?
- Multiple !important class declarations and precedence
- !important CSS Declarations: How and When to Use Them
So what means specificity? Inline element styles are the most specific you can get, so in a page layout you could add inline-styles (ugly!) to your #s4-bodyContainer with the styles you desire. You might event need to add !important
to those, but you can be sure that they are more specific than styled in the stylesheet of the master page.
If you are using <SharePoint:CSSRegistration ...>
you can make use of the property CssRegistration.After
which allows your CSS to load after a specific CSS file. So if the width is set to 1550px !important
in the corev4.css
, you could just load your CSS file afterwards and your !important
will be used.
All-in-all: The solutions a pretty ugly. You shouldn't use !important
in your master page, especially for general stuff like min-width
.