2009-12-26 2 views
5

나는 Google Closure Library에 발을 들여 놓고 있습니다. Select Widget으로 간단한 페이지를 만들었지 만, 일부 스타일링이 필요합니다 (요소는 일반 텍스트처럼 보이고 아래 예제에서는 버튼 아래에 팝업으로 나타납니다).CSS를 Google Closure Library의 구성 요소에 어떻게 적용 할 수 있습니까?

라이브러리가 스타일을 지원한다고 가정합니다. 어떻게 그 라이브러리에 연결할 수 있습니까? SVN의 각 예제 페이지는 자체 CSS를 사용하는 것으로 보입니다.

약식 예는 다음과 같습니다

<body> 

<div id="inputContainer"></div> 

<script src="closure-library-read-only/closure/goog/base.js"></script> 
<script> 
    goog.require('goog.dom'); 
    goog.require('goog.ui.Button'); 
    goog.require('goog.ui.MenuItem'); 
    goog.require('goog.ui.Select'); 
</script> 
<script> 
    var inputDiv = goog.dom.$("inputContainer"); 

    var testSelect = new goog.ui.Select("Test selector"); 
    testSelect.addItem(new goog.ui.MenuItem("1")); 
    testSelect.addItem(new goog.ui.MenuItem("2")); 
    testSelect.addItem(new goog.ui.MenuItem("3")); 
    var submitButton = new goog.ui.Button("Go"); 

testSelect.render(inputDiv); 
submitButton.render(inputDiv); 
</script> 

</body> 

답변

2

난 그냥 (사례와) 같은 주술을 사용 : 내가 발견하지 않은 있지만

<link rel="stylesheet" href="closure-library/closure/goog/demos/css/menubutton.css"> 

하는 것이 더 나은 방법이있을 것 같지 않습니다 demos/dir에 스타일이있는 뒤에 대한 설명.

+0

이것은 내가 찾은 유일한 해결책이기도합니다. –

1

Closure는 HTML 노드에 일련의 CSS 클래스를 추가하고 라이브러리는 구성 요소에 스타일을 제공하는 몇 가지 CSS를 제공합니다.

데모 소스를 살펴보고 CSS ID와 클래스를 찾으십시오. 또는 Firebug (Firefox 용) 또는 IE Developer Tools (Internet Explorer 7/8 용)를 사용하여 ID/클래스를 파악한 다음 자신의 CSS를 사용하여 스타일을 지정하십시오.

3

실제로 올바른 CSS 검색은 사용하려는 위젯에 대한 데모 페이지로 시작해야합니다. 페이지의 HTML을 검사하여 태그를 찾아서 데모가 의존하는 스타일 시트를 쉽게 식별 할 수 있어야합니다. goog.ui.HoverCard의 경우, hovercard.html에서 해당 요소는 다음과 같습니다

<link rel="stylesheet" href="css/demo.css"> 
<link rel="stylesheet" href="../css/hovercard.css"> 

데모 페이지의 모양이 일치하는지 확인하기 위해 CSS 규칙을 정의하는 CSS/demo.css를 무시, 그래서 css/demo.css의 대부분의 코드는 위젯이 아닌 데모에만 해당되므로 응용 프로그램에 포함하면 안됩니다. 많은 위젯이 사용하는 디스플레이 인라인 블록 xbrowser 구현을 포함하는 css/common.css를 살펴 보는 것을 잊지 마십시오.

관련 문제