2014-02-10 2 views
1

.aspx 페이지의 레이아웃을 변경해야하며 별도의 마스터 페이지를 만들고 싶지 않으므로 CSS를 재정의합니다. 그 aspx의 레이아웃에 내 마스터 페이지의 !important을 사용하여 필요한 경우."! important"를 사용하여 SharePoint 2010 마스터 페이지의 CSS 속성을 덮어 쓰기

모든 것은 하나의 속성을 제외하고는 아무 문제없이 작동합니다 ... #s4-bodyContainer은 이라는 속성이 1550px !important으로 설정되어 있으며,이 값을 1300px !important으로 변경해야합니다.

내 페이지의 시작 부분에 우선 CSS 스타일을 넣으면 마스터 페이지에 !important도 있기 때문에 마스터 페이지의 스타일을 덮어 쓰지 않고 내 서면 CSS 뒤에 렌더링됩니다. 그리고 페이지의 끝에 CSS를 넣으면 마스터 페이지의 스타일을 무시하지만 페이지로드 후에 만 ​​수행하므로 페이지를 새로 고치거나 새로 고칠 때마다로드시 약간의 결함이 있습니다.

따라서 마스터 페이지를 수정하거나 다른 페이지를 만들지 않고 문제를 해결할 수 있습니까? .aspx 페이지에서 CSS를 사용하고 계신가요?

미리 감사드립니다.

답변

1

!important과 같은 문제가 항상 발생합니다.

!important을 무시할 수있는 유일한 가능성은 원래 선언보다 높은 CSS 특수성입니다.

그래서 특이성을 무엇을 의미? 인라인 요소 스타일이 가장 구체적이므로 페이지 레이아웃에서 # s4-bodyContainer에 인라인 스타일 (추한!)을 원하는 스타일로 추가 할 수 있습니다. 이벤트에 !important을 추가해야하지만 마스터 페이지의 스타일 시트보다 스타일이 구체적임을 확신 할 수 있습니다.

CssRegistration.After을 사용하면 CSS가 인 후 특정 CSS 파일을로드 할 수 있습니다. 따라서 너비가 으로 설정된 경우 나중에 CSS 파일을로드하면 !important이 사용됩니다.

올인 올루 : 솔루션은 꽤 못생긴다. 마스터 페이지에 !important을 사용하면 안됩니다. 특히 min-width과 같은 일반적인 내용의 경우에는 사용해야합니다.