2013-08-21 2 views
0

동적으로 스타일 시트를 생성해야하는 PHP 애플리케이션이 있습니다. 스타일 시트는 .php 파일 확장자를 가지고 있지만, 함수 (PHP)를 통해 text/css으로 파일의 Content-Type을 설정 한 다음, 제 목적에 맞게 올바르게 구성된 CSS를 만들고 내 페이지에이 스타일 시트를 포함시킵니다.중복 된 CSS 선언이 브라우저에서 삭제 되었습니까?

필자가보고있는 문제는 CSS 파일을 Firebug, Chrome Dev Tools 또는 IE Dev Tools가 될 수있는 브라우저 도구를 통해 볼 때 특정 클래스 선언이 누락되어 있다는 것입니다. 브라우저에서 렌더링 - 해당 클래스가 존재하지 않음). 파일의 원시 출력을 검사 할 때 (원시 텍스트를보기 위해 브라우저에 PHP CSS 파일의 주소를 넣는 것처럼) 누락 된 클래스 선언이 실제로 존재합니다.

누락 된 항목은 일반적으로 동일한 background-color 값이지만 다른 클래스 이름을 지정하는 두 번째 (또는 n 번째) 클래스입니다.

#draft-board div.pick.RB{ 
    background-color: #FFCC66; 
} 

#draft-board div.pick.1B { 
    background-color: #FFCC66; 
} 

그러나 브라우저에서

, 그것은 단지보고 :

#draft-board div.pick.RB{ 
    background-color: #FFCC66; 
} 

왜 이것이다, 나는이 두 개의 클래스가 원시 출력에서 ​​

: 여기

특정 예제 ? 여기

는 공개 예제 페이지의 : http://www.phpdraft.com/public_draft.php?action=draftBoard&did=9

(여기 http://www.phpdraft.com/css/draft_board_dynamic_styles.php

답변

1

내가 문제를 발견 : 해당 페이지의 원시 CSS 출력입니다 : CSS 클래스 이름은 따라서, 숫자로 시작할 수 없습니다 세 브라우저 모두 CSS를 인식하지 못하는 이유 - 내가 그렇지 않은 동안 CSS를 제대로 따라갔습니다!

+1

CSS 클래스 이름은 숫자로 시작할 수 있지만 [CSS 구문 규칙] (http://www.w3.org/TR/CSS2/syndata.html#characters)으로 이스케이프 처리해야합니다. 예를 들어, 클래스 명 '1B'는'\ 31 B'로 써야합니다. 클래스 이름을 바꿀 수 있다면 물론 피하는 것이 가장 좋습니다. –

+0

해당 사양을 제공해 주셔서 감사합니다. 원본에 매핑하고 앞에 x를 붙이는 몇 가지 항목을 추가하기 만하면 문제가 해결되므로 실제로 클래스는'x1B'입니다. – Mattygabe

관련 문제