레이블이 Tip인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Tip인 게시물을 표시합니다. 모든 게시물 표시

2007년 1월 3일 수요일

Vox에서 사용된 toolbar의 css hack

Vox의 toolbar에 적용된 css를 보면 처음 보는게 한가지 있는데요.
<a class="command-bold toolbar button" id="test3"><b>C</b></a>
특정 element의 class에 공백을 주는 방법이 있더군요. (저는 처음 봤습니다.)
a.button
a.button.toolbar
a.button.toolbar.command-bold
a.command-bold
a.toolbar
a.toolbar.command-bold
...
각각이 css에 적용이 될 수 있더군요. 각각은 우선순위를 가지고 있구요.
단계를 상세히 적을수록 우선순위가 더 높은 것 같습니다. vox에서는 각각의 비슷한 element들이 병렬로 연결됬을 때 공통된 style은 a.button에 정의하고 상세한 style은 a.button.command-bold와 같은 형태로 적용을 했더군요.

참으로 신기한 css의 정신세계라고나 할까요 ^^

Copyright
코드의 모든 권한은 Six Apart에 있습니다. Six Apart의 JavaScript 코드는 Copyright과 Disclaimer를 포함하는 조건하에서 재배포가 가능합니다.

Copyright (c) 2005, Six Apart, Ltd.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

   * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

   * Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.

   * Neither the name of "Six Apart" nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


P.S. IE6에서 다중 클래스 적용 문제

<a class="command-bold toolbar button" id="test3"><b>C</b></a>에 대해서 command-bold class 적용하고 toolbar에 대해서 적용한 class에 대해서 각각에 대한 적용은 됩니다.

그런데 a.toolbar.command-bold와 같은 css는 적용이 안되고 에러가 납니다.
제가 실험을 제대로 안했네요. 죄송합니다. (__)


2006년 4월 10일 월요일

[Windows] Ant 사용시 파일 접근 권한 때문에 에러가 발생하는 경우

Ant를 이용하여 빌드시스템을 만들 때 부득이하게 Native 명령어를 호출해야할 때가 있다.
어제, 고생했던 것중에 하나가 exe 명령어를 호출해야하는데 파일 퍼미션 문제로 인하여 에러가 발생하는 문제가 많았던 것. [(ㅡㅡ;;) 이놈때문에 도대체 몇 시간을 날린건지 에휴~]

이런 때에는 attrib를 호출하여 파일의 권한을 변경하면 된다. attrib의 세부 옵션은 다음과 같다.

attrib

이 명령은 파일이나 디렉터리에 지정된 읽기 전용, 기록, 시스템 및 숨김 속성을 표시하거나 설정 또는 해제합니다. 매개 변수 없이 사용하면 attrib는 현재 디렉터리에 있는 모든 파일의 속성을 표시합니다.

구문

attrib [{+r|-r}][{+a|-a}][{+s|-s}][{+h|-h}][[Drive:][Path] FileName] [/s[/d]]

매개 변수

+r
읽기 전용 파일 속성을 설정합니다.
-r
읽기 전용 파일 속성을 해제합니다.
+a
기록 파일 속성을 설정합니다.
-a
기록 파일 속성을 해제합니다.
+s
시스템 파일 속성을 설정합니다.
-s
시스템 파일 속성을 해제합니다.
+h
숨김 파일 속성을 설정합니다.
-h
숨김 파일 속성을 해제합니다.
[drive:][path] filename
속성을 표시하거나 변경할 디렉터리, 파일 또는 파일 집합의 위치와 이름을 지정합니다. FileName 매개 변수에 와일드카드 문자(? 및 *)를 사용하여 파일 그룹의 속성을 표시하거나 변경할 수 있습니다.
/s
현재 디렉터리와 모든 하위 디렉터리의 일치하는 파일에 attrib와 명령줄 옵션을 적용합니다.
/d
디렉터리에 attrib와 명령줄 옵션을 적용합니다.
/?
명령 프롬프트에서 도움말을 표시합니다.

설명

  • 파일 그룹 작업

    FileName 매개 변수에 와일드카드 문자(? 및 *)를 사용하여 파일 그룹의 속성을 표시하거나 변경할 수 있습니다. 파일이 시스템 속성 또는 숨김 속성으로 설정되어 있으면 해당 파일의 다른 속성을 변경하기 전에 이 속성을 해제해야 합니다.

  • 기록 속성 사용

    기록 속성(+a)은 마지막으로 백업한 후 변경된 파일을 표시합니다. xcopy 명령은 기록 속성을 사용합니다. 기록 속성 및 xcopy에 대한 자세한 내용은 관련 항목을 참조하십시오.

  • 다른 매개 변수를 사용하는 attrib 명령은 복구 콘솔에서 사용할 수 있습니다.

예제

현재 드라이브에 있는 News86이라는 파일 이름의 속성을 표시하려면 다음과 같이 입력합니다.

attrib news86

Report.txt라는 파일 이름에 읽기 전용 속성을 지정하려면 다음과 같이 입력합니다.

attrib +r report.txt

B 드라이브의 \Public\Jones 디렉터리에 있는 파일과 \Public\Jones의 모든 하위 디렉터리에 있는 파일에서 읽기 전용 속성을 해제하려면 다음과 같이 입력합니다.

attrib -r b:\public\jones\*.* /s

A 드라이브에서 확장명이 .bak인 파일을 제외하고 기본 디렉터리의 모든 파일이 포함된 디스크를 연결하는 것을 고려해 보십시오. xcopy를 사용하면 기록 속성으로 표시된 파일만 복사할 수 있으므로 복사할 파일에 대해 기록 속성을 설정해야 합니다. 먼저 드라이브 A의 모든 파일에 대해 기록 속성을 설정해야 합니다. 그리고 확장명이 .bak인 파일의 기록 속성을 해제해야 합니다. 예를 들어, 다음과 같이 입력합니다.

attrib +a a:*.* attrib -a a:*.bak

그런 다음 xcopy 명령을 사용하여 A 드라이브에서 B 드라이브로 파일을 복사합니다. 다음 명령에서 /a 명령줄 옵션을 사용하면 xcopy 명령을 사용하여 기록 속성으로 표시된 파일만 복사할 수 있습니다. 예를 들어, 다음과 같이 입력합니다.

xcopy a: b: /a

xcopy로 파일을 복사한 후 각 파일의 기록 속성을 해제하려면 /a 대신 /m 명령줄 옵션을 사용합니다. 예를 들어, 다음과 같이 입력합니다.

xcopy a: b: /m

서식 범례

서식의미
기울임꼴사용자가 제공해야 하는 정보
굵게사용자가 보이는 대로 정확하게 입력해야 하는 요소
줄임표(...)명령줄에서 여러 번 반복되는 매개 변수
대괄호([])옵션 항목
중괄호({}) 또는 세로줄(|)로 구분된 선택 항목 예: {even|odd}사용자가
굴림 글꼴코드 또는 프로그램 출력 중 하나만 선택해야 하는 선택 집합

ant의 경우에는 다음과 같이 호출해주면 현재 디렉토리와 하위 폴더 및 파일들의 권한을 '읽기전용해제, 쓰기 가능'하게 해준다. .
   <target name="chg_attrib_docs">
       <exec executable="cmd">
           <arg line="attrib -r +a /s"/>
       </exec>
   </target>