2013-08-12 8 views
-1

전적으로 하나의 창에서 실행해야하는 웹 사이트를 구축하고 있습니다. 다른 페이지를로드 할 수 없습니다. 결과적으로, 나는 많은 JS를 사용하여 화면에 표시되는 내용을 바꿔서 실제로 잘 작동합니다. 그러나, 나는 훌륭한 셀렉터가 부족하여 스타일 시트가 과도하게 길어지는 것을 원하지 않는다. 그래서, 나는 display:none으로 설정된 div 안에 스타일 시트를 배치하여 스타일 시트를 비활성화 할 수 있습니까? 이 시나리오에서는스타일 시트를 비활성화하거나 숨기려면 어떻게해야합니까?

<div style="display:none;"> 
    <style type="text/css"> 
     #my_image{ 
      height:100px; 
      background-color:red; 
     } 
    </style> 
</div> 
<style type="text/css"> 
    #my_image{ 
     height:30px; 
    } 
</style> 

, 이들의 적용됩니다 : 예를 들어

? 둘 다로드 된 경우 두 번째 것은 최신 항목이므로 읽은 항목이됩니다. 그러나 div이 처음부터 전혀 색이 지정되지 않았다고 가정 해 봅시다. 이 스크립트가 실행되면 빨간색이됩니까?

이것이 스타일을 사용 중지 할 수있는 실행 가능하지 않은 해결책 인 경우 알려주십시오.

+2

스타일 시트를 사용 중지하려면 숨겨진 div에 물건을 넣는 것이 아니라 제거해야합니다. 스타일 시트는 "표시"자료가 아니므로 div 안에 숨겨져 있어도 비활성화되지 않습니다. –

+0

@MarcB 그래서 그들을 비활성화하는 방법론입니다. 나는 과거에 이것을 어지럽 혀서 제대로 작동시키지 못합니다. JS로 설정할 때'elem.disabled = true;'또는'elem.disabled = 'true''또는'elem.disabled = "disabled"' – ChapmIndustries

+0

CSS를 사용하지 않도록 설정이 잘되어 있지 않습니다. 적합한 테마 선택기와 계단식 상속을 사용하여 올바른 테마 만 처리되도록합니다. ''과 같은 것을 사용하여 스타일에 따라 스타일을 지정하십시오. – ProfileTwist

답변

0

각 "테마"에 대해 별도의 스타일 시트를 사용하는 것이 이상적입니다.

그런 다음 실행시에 올바른 스타일 시트를로드하거나 수 : body 태그 '빨간색에 클래스를 추가하는 자바 스크립트 머리

  • 사용에 CSS를 링크 요소를 생성/파괴하는 자바 스크립트

    • 사용 '또는'blue '등. 그런 다음 해당 테마의 모든 선택기를 해당 클래스 이름으로 시작하십시오.

      .blue .header {background : red; }

  • 관련 문제