2011-02-11 4 views
1

다른 사이트에서 작동하는 구성 요소를 작성하려고합니다. 문제는 사이트의 기존 스타일 시트를 상속한다는 것입니다. 이것은 내 구성 요소에 큰 혼란을 일으 킵니다.CSS가 어떤 속성도 상속하지 않도록하십시오.

메인 사이트의 모든 속성을 상속받지 못하도록하는 방법이 있는지 궁금합니다.

모든 의견을 환영합니다. 시간 내 주셔서 감사합니다.

UPDATE 것은

나는 내용을 IFRAME 수 없습니다. 그러면 내 구성 요소가 작동을 멈 춥니 다.

+0

iframe이 없으면 구성 요소에 정의 된 모든 CSS 스타일을 무시할 수 있습니다. 결국 상속은해야 할 일입니다. 그것은 CSS의 "C"가 전부입니다. – nybbler

답변

1

몇 가지 아이디어 :

  • iframe이 내용. 이렇게하면 사이트 자체가 아니라 다른 사이트에 창이 있습니다.
  • 덮어 쓰지 않는 사용자 고유의 인라인 스타일을 정의하십시오.
  • 실수로 덮어 쓰기가 어렵거나 불가능한 클래스 이름을 정의하십시오. 'content'나 'article'과 같은 일반적인 용어를 쓰지 말고 'myverydifficulttoconflictwithcssclassname'을 사용하십시오. 당신은 아이디어를 얻습니다.
+0

여러 사이트에있는 경우 # 2가 제대로 작동하지 않습니다. 그는 모든 단일 스타일 정의에서 모든 속성을 재설정해야합니다. –

+0

웹 메일 앱에 표시 될 이메일에 옵션 3을 사용합니다. 나는 mdjtnrfu_content, mdjtnrfu_header 등과 같은 모든 클래스 이름에 접두어를 붙입니다. 꽤 좋지는 않지만 일반적으로 가장 문제가 적은 해결책입니다. 그것은 태그에 셀렉터들에게 도움이되지 않을 것이다 : first-child, etc ... 나는 CSS가 네임 스페이스를 필요로한다고 생각한다. (어쩌면 그것은 CSS3 일 것이다.) – SpliFF

+0

# 3은 이미하고있다. 하지만 일부 사이트에는 모든 TD, DIV 등에 영향을 미치는 태그와 같은 바보 같은 CSS가 있습니다. –

1

당신은 !important 선언 기본값으로 모든 요소의 모든 속성을 설정하는 reset.css 파일을 생성 한 다음, 항상 당신의 진짜 스타일로 !important를 사용하지만 큰 해킹 수 있습니다. "구성 요소"가 다른 사이트에 삽입되는 경우 iframes을 고려 했습니까? 자신 만의 CSS 범위 지정을 할 수 있습니다.

관련 문제