두 번째 연속으로 호출 된 스타일 시트 중 두 번째가 첫 번째 스타일을 무시할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/1054362

문제

다음과 같이 호출되는 두 개의 스타일 시트에 링크하는 HTML 페이지가있는 경우 다음과 같습니다.

<link rel="stylesheet" href="original.css" media="screen, projection" />
<link rel="stylesheet" href="override.css" media="screen, projection" />

이 두 파일이 똑같은 스타일 이름을 정의하면 사실입니다. original.css 스타일링 된 페이지의 결과와 관련이 없으며 모든 스타일은 정의 된 스타일에서 나옵니다. override.css?

내가 묻는 이유는 이것입니다. original.css 수정할 수 없고이 파일을 호출하는 코드 줄을 터치하고 싶지 않습니다. 대신 원본이 호출 된 직후 새 파일에 호출을 삽입하고 원본에 정의 된 모든 것을 재정의하고 싶습니다. 이것이 제대로 작동하는지 확실하지 않습니다.

도움이 되었습니까?

해결책

네, 확실히 할 수 있습니다. 그것은 계단식 비트의 계단식 스타일 시트입니다.

그래도 물어봐야합니다. 왜 Original.css를 삭제할 수 없거나 출력 할 수 없습니까? 원본의 모든 것을 완전히 무시하는 것은 매우 큰 망치 접근 방식처럼 보입니다. :-) 실제로 Original.css and Override.css를 출력하는 경우 브라우저는 출력 만하는 것보다 훨씬 더 많은 작업을 수행해야합니다. 재정의 .CSS.

다른 팁

예, 그것은 효과가 있습니다. 당신은 그것이 실제로 권장하지 않는다는 것이 옳습니다. 원래 코드 줄을 "터치하지 않는"대신 주위에 주석 태그를 삽입 할 수 있습니까?

그것은 덮어 쓰는 모든 것을 덮어 쓸 것이지만, 모든 것이 동일하지 않지만 클래스 나 ID 또는 의사 선택기 등의 다른 적용 정보를 보완 할 것입니다. 내 말은, 즉 :

original.css-

p { margin: 4px 6px 10px 12px; }
h1 { font-size: 2.2em }

재정의 .CSS-

p { padding: 6px; color: #666666; }
h1 { font-size: 1.5em }

내가 말한 것은 P는 Stryles가 서로 충돌하지 않기 때문에 CSS에서 보완된다는 것입니다. 반면에 H1 예제는 실제로 덮어 쓰고 각 스타일 시트의 두 규칙이 상충되어 마지막 선언이 승리합니다.

이것은 생각할 수있는 것만 큼 나쁘지 않습니다 ... 나는 몇 달 전에 Moodle의 사이트가 스타일과 데이터를 마찬가지로 끝났습니다. 템플릿은 기본 템플릿의 스타일 시트 데이터를 사용한 다음 페이지 템플릿에서 코스에서 사용했습니다. 내가 어떤 스타일이 내 자신을 위해 변경할 올바른 코드 조각을 찾지 못해 스트레스를받은 스타일을 깨닫기 위해 노력했을 때 ... 나는 마침내 새로 쓰여진 스타일과 새로운 보완 스타일로 내 자신의 스타일 시트를 첨부하기로 결정했습니다. 이로 인해 디자이너-네버 드림 인류-코드를 파는 약 2 주 동안 절약했습니다.

이것이 더 명확한 아이디어를 얻는 데 도움이되기를 바랍니다.

안녕히 계세요.

이러한 요구의 좋은 예는 SharePoint입니다. 테마를 편집하면 Core.CSS 클래스에서 무시하는 데 필요한 모든 변경 사항이 남아 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top