[플래시] XML로드

2008. 5. 14. 15:50
플래시가 서버와 데이터를 주고 받는 방법은 이전 포스트 에서 밝혔다시피 여러가지가 있지만, 여기서 사용된 방법은 플래시 액션스크립트 2.0 의 XML 객체의 load 함수를 이용하는 것이다. 방법자체는 크게 어렵지 않다.
우선 플래시에 정보를 전달해주는 녀석은 이거다.
http://minsangk.com/xmlTest/titleComment.php?mode=xmlOnce

이 녀석은 GET Method 를 통해 전달된 mode 의 값에 따라 구분 작동하는데,
모드 지정을 안 할 경우 입력된 DB 의 데이터를 XML 로 뿌려준다 (모드 미지정)
XML 로 최신 노드 하나만을 뿌려주거나 (xmlOnce 모드)
HTML 의 테이블 태그를 이용해 뿌려주거나 (html 모드)

XML 로드 코드 (닫기)


(Language : actionscript 2.0)
  1. System.useCodepage = true;
  2.  
  3. myXML = new XML();
  4. myXML.load("http://minsangk.com/xmlTest/titleComment.php?mode=xmlOnce");
  5. myXML.ignoreWhite=true;
  6.  
  7. myXML.onLoad = synchroText;
  8.  
  9. function synchroText(success)
  10. {
  11.  if(success) {
  12.   mcMent.dynamicMent.text = myXML.firstChild.firstChild.firstChild.nodeValue;
  13.   mcDate.dynamicDate.text = myXML.firstChild.firstChild.attributes.date;
  14.  }
  15.  else {
  16.   mcMent.dynamicMent.text = "Comment Load Failed";
  17.   mcDate.dynamicDate.text = "Date Load Failed";
  18.  }
  19. }

XML 로드 코드 (닫기)


실제 코드는 눈물이 날 정도로 간단하다.
xml 을 로드하고 로드가 완료되면 뿌려준다- 이게 끝-.-
설명하고 말 것도 없는 단촐한 코드지만 몇가지만 짚자면.

(Language : javascript)
  1. System.useCodepage = true;

이게 없으면 한글 입력을 플래시가 못 알아듣는다.

(Language : javascript)
  1. myXML = new XML();
  2. myXML.load("http://minsangk.com/xmlTest/titleComment.php?mode=xmlOnce");
  3. myXML.ignoreWhite=true;

myXML 이라는 객체를 만들고, load 메소드로 XML 을 가져온다.
마지막 줄은 가져온 파일에서 공백을 삭제하라는 구문으로 정확한 XML 노드트리의 작동을 위해 꼭 필요하다.



onLoad 함수는 지정된 주소에서 값을 가져와 로드가 완료되면 (성공이든 실패든) 호출된다. 매개변수로 성공/실패 여부를 알려주는 boolean 변수를 하나 주니까 이걸로 if 문을 구성하면 된다. xml 로 가져온 값은 대강 아래와 같이 나올텐데-

(Language : xml)
  1. <?xml version="1.0" encoding="euc-kr" ?>
  2. <root>
  3.     <comment id="1" date="20071126">한 줄기 미소를 위해, 나-</comment>
  4. </root>


(Language : javascript)
  1. if(success) {
  2.   mcMent.dynamicMent.text = myXML.firstChild.firstChild.firstChild.nodeValue;
  3.   mcDate.dynamicDate.text = myXML.firstChild.firstChild.attributes.date;
  4.  }
  5.  

여기서 myXML 의 firstChild 는 root
root 의 firstChild 는 comment
comment 의 firstChild.nodeValue 는 '한 줄기 미소를 위해, 나-' 가 된다.

date 값은 comment(myXML.firstChild.firstChild) 의 속성(attribute) 값이므로,
myXML.firstChild.firstChild.attributes.date;

이렇게 구한 값들을 지정된 무비클립-동적텍스트-텍스트에 넣어주면 끝이다.


다음 포스트에선,
입력/수정/삭제를 할 폼에 대해 끄작여보자-.-.-
Posted by falldown
:

Erik Natzke art work

2008. 5. 10. 15:52
  
  
  
   
  
  
  
  
  

Erik Natzke의 최근 아트웍 작업들입니다. 무엇으로 만들었을까요? 당연히 플래시? 제가 확인한 것은 대부분이 플래시로 작업을 한 것으로 판단됩니다. 모두 플래시로 작업을 했는지는 모르지만.. Joshua Davis 만큼 아트하네요. 이런 아트 작업 저도 관심이 아주 많은데 재미있는 작업 한번 해 보고 싶네요.

■ 작품 하나 라이브 감상 : http://www.eriknatzke.com/atmospherik/SUNDAYPREVIEW.mov
Posted by falldown
:
스펀지에 나온 별 많이 받은 지식들입니다.
작성일: 2008-05-02 15:28 | 의견: 0 | 추천: 0 | 조회: 5,804
스펀지에 나온 별 많이 받은 지식들입니다.

⊙ 게는 어지러우면 (앞으로 걷는)다. (★★★★) : 게도 사람과 마찬가지로 어지러움을 느끼면 평형감각이 흐트러져 옆이 아닌 앞으로 앞으로~~ 걷는다.


⊙ 조선시대에는 남자도 (화장)을 했다. (★★★★★) : 유교 사상의 영향으로 하얗고 뽀얀 피부가 양반의 상징으로 생각되었기 때문에 남자들도 쌀가루를 물에 개어 세안하는 분세수 법이 있었다고 한다. " 피부가 장난이 아닌데~ " " 분세수 한 번 했을 뿐인데..." 조선시대에는 남자들도 피부가 장난이 아니었다.


◎ 우는 아기 달랠 때에는 (진공청소기)가 특효이다. (★★★★★) 태아가 뱃속에서 듣는 엄마의 숨소리와 옷깃 스치는 소리가 진공청소기나 TV 소음, 자동차 엔진소리, 세탁기 소리 등과 비슷하다고 한다. 그래서 생후 3개월 미만인 아기들은 진공청소기 소리가 엄마 뱃속에 있을 때와 같은 편안함을 느껴 울음을 그치게 된다.


⊙ 라면을 먹고 얼굴이 붓지 않으려면 (우유를 부어 먹으)면 된다. (★★★★☆) : 우리가 잠을 자는 동안에는 일정량의 수분을 몸에서 배출되는데 라면을 먹고 잠을 자면 라면의 염분이 수분을 붙들어 놓아 얼굴이나 몸이 붓게 되는 것이다. 그러나 라면에 우유를 부어 먹으면 우유의 칼슘과 칼륨이 라면의 염분을 몸 밖으로 배출시켜 몸을 붓지 않게 해준다.


⊙ 교통카드는 (담배 비닐 안)에서 작동되지 않는다. (★★★★) : 교통카드를 담배 비닐과 담배갑 사이에 끼워 단말기에 대면 작동되지 않는다. 그 장애요인은 두 가지 바로 담배와 담배 케이스 안 은박지이다. 여기서 주 장애요인은 은박지로 교통카드 안의 무선주파수가 금속성 물질에 흡수되어 카드는 작동되지 않는 것이다. 담배갑에 담배가 꽉 차 있으면 은박지가 카드에 밀착되어 작동되지 않지만 담배가 빠져 카드와 은박지 사이가 벌어지면 작동이 된다.


⊙ 딸꾹질은 (혀를 잡아당기면) 멈춘다. (★★★★) : 딸꾹질을 일으키는 신경은 주로 혀에 분포되어있다. 그래서 혀를 잡아당겨 딸꾹질을 일으키는 신경에 다시 자극을 주면 딸꾹질을 멈추게 된다. (혀 당기는 법 : 혀 아래 안쪽 깊숙이를 지압하듯 지긋이 잡아 준 다음 확 잡아 당기지 말고 부드럽게 뺀 뒤, 30초 정도 잡고 계시다가 놓으면 됩니다.)


⊙ 술에 취했을 때는 (계란 프라이를 먹으)면 깰 수 있다. (★★★★☆) : 콜레스테롤은 위 내의 알코올을 분해시키는 기능을 한다. 그렇기 때문에 콜레스테롤이 많이 함유된 계란이 술 깨는 데 효과적이다. 좀 더 빠른 효과를 보기 위해서는 계란의 노른자를 덜 익힌 프라이나 날계란 상태로 먹는 것이 더 좋다고 한다. 스펀지에서 실험을 해 본 결과 계란 프라이를 먹은 1시간 후 혈중 알코올 농도를 측정해보니 수치가 떨어진 것으로 확인되었다.


⊙ 매니큐어는 (물파스)로도 손쉽게 지울 수 있다. (★★★) : 물파스의 알코올 성분 때문에 매니큐어를 지울 수 있다. 물파스는 인체에 전혀 무해하기 때문에 사용해도 몸에는 이상이 없다. 양주와 살충제 역시 에탄올 성분으로 인해 매니큐어가 지워지기는 하나 살충제는 몸에 해롭기 때문에 절대 사용해서는 안된다.


⊙ 스펀지 연구소 : '지나치기 쉬운 경고문' : 일상 생활에서 볼 수 있는 여러 제품에는 소비자들에게 주의사항을 알리는 경고문이 실려 있다. 락스에는 '참깨에 사용하지 마세요' 모기향은 '먹지 마시오' 폭죽에는 '변태사용금지' 등 생각지도 못한 경고문이 있는가 하면, 설탕에는 '소금, 조미료 등과 혼입되지 않게 주의하세요' 칫솔에는 '여러 명과 함께 사용하지 마세요' 등 정말 주의깊게 살펴봐야하는 경고문도 있다.


⊙ "잠깐만이요"는 (팔씨름)에서 반칙 사항이다. (★★★★☆) : 경기 시작 후 "잠깐만이요"라고 외치는 것은 한국 팔씨름 협회에서 정한 반칙사항 중 하나이다.


⊙ 발 저릴 때는 (다리를 X자로 교차) 하면 된다. (★★★★☆) : 장시간 무릎꿇고 앉아 있으면 어김없이 찾아오는 발저림! 발이 저리는 이유는 발에 충분히 혈액이 흐르지 못하기 때문이다. 이 때, 30초 정도 다리를 X자로 교차하여 다시 꿇어앉았다 일어나면 신기하게도 다리 저림이 사라지게 된다. 혈액을 원활하게 공급해주는 혈을 지압하는 효과가 있기 때문이다.


⊙ 소설 '방란장 주인'은 (딱 한 문장)으로 만들어졌다. (★★★★★) : 소설가 박태원(1909~1987)은 무려 5558자에 이르는 소설을 단 하나의 문장으로 완성시켰다. 이는 이효석의 소설 '메밀꽃 필 무렵'과 비숫한 분량으로 읽는데만 약 26분이 걸린다. 이러한 소설은 국내 뿐 아니라 외국에서도 볼 수 없는 특이한 구조로, 마침표가 없이 계속 이어지는 한 문장만으로도 2년에 걸친 주인공의 고뇌와 갈등을 무리없이 표현해 냈다. 한 문장 소설을 가능케 한 우리 한글의 우수성과 작가의 실험정신이 돋보인다.


⊙ '로보트 태권 V'는 (태권도 3단) 이다. (★★★★★) : 스펀지에서 국기원 태권도 승단 심사위원 3명에게 엄정한 심사를 의뢰한 결과 로보트 태권 V는 태권도 3단인 것으로 밝혀졌다. 만화영화 속 태권 V의 주 기술인 돌개차기, 540도 차기 등의 품세가 태권도 3단의 실력과 상당히 비슷했기 때문인데, 태권 V의 제작자 김청기 감독 역시 작품을 준비하면서 태권도 3단 유단자의 실제 대련 모습을 촬영하여 그것을 바탕으로 태권 V의 모습을 스케치했다고 한다.


⊙ '쉬리'의 키싱구라미는 자기 짝이 죽으면 (잡아먹는)다. (♥♥) : 영화 '쉬리'에서 자기 짝이 죽으면 같이 따라죽는 것으로 알려져 영원한 사랑의 상징이 되어버린 키싱구라미. 그러나 우리가 알고있는 바와는 다르게 키싱구라미는 자기 짝이 죽으면 잡아먹는다. 모든 관상어가 그렇듯 단백질을 보충하기 위해 본능적으로 죽은 물고기를 먹는 것이며 키스하듯 입맞추고 있는 것도 알고보면 영역 다툼하는 모습이다. '쉬리'의 강제규 감독은 키싱구라미에 대한 위와같은 사실을 알고 있었으나 영화 내용상 그러한 의미를 부여한 것이라고 한다.


⊙ 아기 공룡 둘리는 (육식공룡), 둘리의 엄마는 (초식공룡) (♥♥♥♥♡) : 어린이들의 친구 둘리는 사실 알고 보면 세라토케라우스라는 육식공룡이다. 여기에 더 충격적인 사실은 둘리의 엄마는 브라키오사우르스라는 초식공룡이라는 것! 만화의 원작자 김수정은 뿔이 달린 공룡이라는 뜻의 세라토케라우스를 모델로 처음 둘리를 그렸다. 그 후 둘리의 엄마가 등장하는 에피소드를 그릴 때 둘리가 세라토케라우스라는 사실을 잊어버리고 다정한 엄마 이미지의 공룡모델을 찾던 중 브라키오사우르스로 결정, 둘리와는 종이 다르게 그렸다고 한다.


⊙ 폴란드 바르샤바에는 (세종대왕) 고등학교가 있다. (★★★★★) : 동유럽의 공업국가 폴란드의 수도 바르샤바에는 세종대왕이란 이름의 고등학교가 있다. 한국에서 폴란드의 천문학자 코페르니쿠스가 많은 사랑을 받고 있다는 것에 대한 보답으로 설립된 이 고등학교는 주 7시간씩 한국어를 가르치고 있다. 폴란드 전역에서 수재들만 온다는 이 학교의 학생들은 간단한 한국말 정도는 모두가 구사할 정도라고...


⊙ 스펀지 연구소 : 인생의 불가사의 : 안 좋은 일은 꼬리에 꼬리를 물고 계속 이어진다는 머피의 법칙처럼 불가사의한 삶의 법칙들! 1. 사무실 머피의 법칙 : 고장난 기기는 서비스 맨이 도착하면 정상으로 작동한다.


2. 프랭크의 전화의 불가사의 : 펜이 있으면 메모지가 없다. 메모지가 있으면 펜이 없다. 메모지와 펜이 있으면 메시지가 없다.


3. 에토레의 고찰 : 줄을 서면 반대편 줄이 빨리 줄어든다.


4. 오브라이언의 변형 : 옆 줄로 옮기면 원래 줄이 더 빨리 줄어든다.


5. 로저의 스포츠 관전의 법칙 : 화끈한 장면은 꼭 한 눈을 팔 때 벌어진다.


6. 잔과 마르타의 미용실의 법칙 : 머리하기를 결심하면 꼭 '머리가 멋지다'는 칭찬을 듣는다.


7. 호로위즈의 법칙 : 라디오를 틀면 꼭 가장 좋아하는 곡의 마지막 부분이 나온다.


⊙ 8톤 트럭도 (타이어를 매)면 가냘픈 여자라도 끈다. (★★★★★) : 너무나 잘 알려진 뉴턴의 운동의 제2법칙 F=ma (힘=질량*가속도) 에 그 비밀이 숨어 있다는 사실! 일반적으로 사람이 타이어를 몸에 끼우면 타이어의 무게만큼 질량은 증가를 하게되고 질량의 증가량과 더불어 지면과 발바닥의 마찰력도 증가, 아무리 육중한 8톤 트럭이 라도 쉽게 끌려오는 것이다.


⊙ 스펀지 연구소 : 남자는 모른다, 여자는 모른다. : 영원한 미스테리 남과 여... 스펀지는 전국의 남녀 500명을 대상으로 남자들이 모르는 여자 여자들이 모르는 남 자에 대해 설문조사를 해 보았다.


§ 여자들은 모른다 1 - 남자 화장실 소변기는 자동이다. : 자동 센서가 있어 변기 앞에 다가만 가도 물이 자동으로 나온다는 사실!


§ 남자는 모른다 1- 에티켓 벨! : 자신의 용변보는 소리를 가리기 위해 물소리, 새소리 등의 벨소리가 나오는 기계가 있다는 사실!


§ 남자들은 모른다 2- 모든 여자들은 학창시절 기절하길 꿈꾼다. : 조회시간, 체육시간에 졸도해 체육선생님께 업혀 양호실에 실려가는 간절한 소망을 품는다는 사실!


§ 여자들은 모른다 2 - 남자의 서류 가방은 비어있다. : 정말 복잡한 여자들의 핸드백 속과는 달리 달랑 우산 하나, 볼펜 하나만 들어있을 정도로 남자들의 서류 가방은 비어있다는 사실!


◎ 호주에서는 (바퀴벌레)도 애완용으로 기른다. (★★☆ ) : 오스트레일리안 버로잉으로 불리는 애완용 바퀴벌레는 집 바퀴벌레와 달리 깨끗하고 전염병을 옮기지 않는다고 한다. 나뭇잎을 먹고 자라 누구든지 쉽게 기를 수 있으며 알이 아닌 새끼로 번식하고 날개가 없고 걸음걸이가 느리며 호주머니에 넣으면 구멍을 뜷고 나올 정도로 힘이 세다고 하는데, 그 길이가 무려 8cm에 달한다고 한다. 호주에서는 바퀴벌레 외에도 사마귀와 독특한 색깔의 풍뎅이와 장수하늘소가 애완용으로 인기라고 한다.


⊙ 영국에는 (아기를 위협하는) 자장가도 있다. (★★★★) : 영국의 전래동요 모음집 "Mother Goose"에 보면 모 햄버거 CF 삽입곡으로도 유명한 란 노래가 있다. 그 뜻은 다음과 같다.


Rock-a-bye baby on the tree top 나무 꼭대기 위 우리 아가야 잘자라 When the wind blows, the cradle will rock 바람이 불면 요람이 흔들리지 When the bought breaks, the cradle will fall 나뭇가지가 부러지면, 요람도 떨어지겠지 And down will come baby, cradle and all 아기도 요람도 모두 떨어지겠지...


원래 영국의 자장가는 어른들 사이에 전해지던 이야기가 자장가로 변한 것이기 때문에 이렇게 아이를 위협하는 내용이 들어있다고 한다.


⊙ 골칫거리 흰개미는 (볼펜) 을 무척 좋아한다. (★★★★★) : 목조 건물을 갉아먹어 훼손시키는 흰개미... 놀랍게도 흰개미는 볼펜으로 그은 선을 따라 다닌다. 흰개미는 일반 개미와 달리 인지능력이 섬세하지 못하다. 그렇기 때문에 흰개미는 볼펜의 화학성분을 페로몬향으로 착각하여 볼펜을 따라 다니는 것이다.


⊙ 갈치는 살아있을 때 (꼿꼿이 서 있)다. (★★★★★) : 먹이를 잡는다거나 할 경우 다른 물고기처럼 수평으로 헤엄치기도 하지만 갈치는 등지느러미를 이용하여 물 속에서 꼿꼿이 서 있을 수 있다. 갈치는 성격이 급해 물 밖으로 나오자마자 죽기 때문에 수족관이나 횟집 등의 수조에서는 꼿꼿이 서 있는 모습을 볼 수 없지만 바닷속에서는 이와같은 모습을 볼 수 있다고 한다.


⊙ 전화기 버튼을 누르지 않고도 (휴대폰 버튼을 대신 누르) 면 전화가 걸린다. (★★★★☆) : 휴대폰을 송화기 부분에 대고 번호를 누르면 신기하게도 전화는 걸린다. 일반 전화의 송화 부분에 휴대폰 키소리를 입력하면 일반 전화가 키소리를 인식하여 전화가 걸리게 되는 것이다. 이때 발신 번호는 일반 전화의 번호가 표시되고, 전화비 역시 일반 전화의 요금만 청구된다.


⊙ (아킬레스건을 주무르) 면 몸이 주~욱 늘어난다. (★★★★☆) : 허리를 숙여 손이 바닥에 닿는 유연성 테스트를 잘하려면 발목 뒤편의


아킬레스건을 주물러주면 된다. 약 10분간만 주물러주면 근육이 이완되어 최고 15cm 정도까지 몸이 늘어난다. 그러나 이것은 단 1회성 효과를 볼 수 있는 방법이지만 지속적으로 아킬레스건을 마사지 해주면 몸이 유연해지는데 많은 도움을 준다고 한다.


⊙ 스펀지 연구소 : 올림픽 야사 : 인간 드라마의 무대 올림픽의 비하인드 스토리


§ 1972년 뮌헨 올림픽 비둘기 똥이 눈에 들어가 100미터 허들 예선에서 탈락! 주최측의 배려로 본선에 진출했으나 무릎 부상 실격!!


§ 2000년 시드니 올림픽 남자 100m 자유형에 참가한 적도 기니 출신의 에릭 무삼바니 그는 해수욕장에서나 입는 헐렁한 트렁크 차림으로 개헤엄을 쳐서 화제가 됐다.


§ 1932년 로스엔젤레스 올림픽 원반 던지기 결승전에서 프랑스의 노엘 선수가 새로운 기술로 던진 원반은 먼 거리를 날아갔지만 심판이 다른 경기에 한 눈을 팔아 기록 무효! 다시 던진 기록은 4위에 머물렀다.


§1976년 몬트리올 올림픽 아이티 공화국의 올레무스는 서류 정리를 잘해 10,000m 경기에 출전! 기록은... 최하위!


§ 1912년 스톡홀름 올림픽 일본의 시조 카나쿠라 선수가 마라톤 선수에 출전, 몸이 안좋아 중도 포기! 그러나 주최측에선 이를 실종으로 처리해 54년 후에 다시 경기를 완주, 현재 기록상의 마라톤 최장기록, 54년 2일 32분 20.3초가 되었다.


⊙ 컴퓨터 마우스의 이동거리 단위는 (미키) 이다. (★★★★★) : 화면상에서 마우스가 움직이는 거리를 말할 때 미키라는 단위를 쓴다. 마우스가 1인치를 움직일 때 사실 간단히 움직이는 것 같지만 실은 200번의 신호가 컴퓨터와 마우스 사이에 오고간다. 즉, 한걸음에 여기까지 간 게 아니라 200 걸음을 걸어서 1인치를 움직인다는 것. 이때 이 200 걸음을 의미하는 단위가 바로 미키이다. 월트 디즈니의 유명 캐릭터 미키 마우스에서 이름을 따 온 것이 귀엽다~


⊙ 전화기는 그레이엄 벨이 최초로 (발명하지 않았) 다. (★★★★) : 1876년 벨은 전화기를 최초로 특허를 신청해 지금까지 전화기 발명가로 알려져 왔다. 그러나, 당시에는 전화기를 발명한 연구가가 많았고, 미국의 전기 기술자 엘리샤 그레이는 외모에 신경쓰느라 불과 2시간 차이로 특허신청에 실패하였다. 그러나 이들보다 무려 16년 전 발명한 사람이 있었다. 바로 안토니오 메우치. 아픈 아내와 직장에서 연락하기 위해 고안된 전화기는 벨의 전화기와 크게 차이가 없는 형태였다. 그러나 가난했던 메우치는 특허비 250달러가 없어 임시 특허만 냈기 때문에 벨한테 특허권을 빼앗기고 만 것이다. 벨의 특허 소식에 재판까지 열어 특허권을 얻어내려 했지만 그의 갑작스런 죽음 탓에 전화기 발명의 영광은 벨에게 돌아갔다. 벨은 남의 발명품을 가로챘다고 비난받기도 했으나 전화기로 얻은 수익의 대부분을 청각장애인들에게 사용, 사회에 환원했다고 한다.


⊙ 동요 '얼룩 송아지'의 얼룩소는 (칡소) 다. (★★★★☆) : 흔히 얼룩 송아지를 흰 바탕에 검은 점이 있는 젖소로 생각하기 쉽지만 우리 동요 속 얼룩 송아지는 전통 한우의 변종인 칡소다. 황색 바탕에 검은 줄무늬가 있어 얼핏 보면 호랑이같기도 한 칡소는 교배가 까다로워 현재 흔히 볼 수 없는 희귀동물이 돼버렸다. 우리나라에 젖소가 널리 보급된 것은 1970년대. 박목월 시인이 가사를 쓴 1930년대엔 젖소란 지금 우리가 칡소를 보는 것 보다 더 드문 일이었고, 같은 시대에 쓰여진 정지용 시인의 '향수' 속 얼룩배기 황소도 칡소인 것으로 미루어보았을 때, 얼룩소는 분명 칡소이다.


⊙ 엉덩이와 궁둥이는 (서로 다른 신체부위) 다. (★★) : 사람의 엉덩이와 궁둥이를 같은 곳으로 생각하기 쉽지만 엄연히 다른 부위다. 의자에 앉았을 때 바닥에 닿는 부분은 궁둥이, 그 위에 볼록하게 튀어나온 부분이 엉덩이라고 한다.


⊙ 여름철 뜨겁게 달궈진 차 안이 (문을 다섯 번 여닫으) 면 시원해진다. (★★★★☆) : 한 여름, 자동차 실내 온도는 80도 까지 올라갈 정도로 매우 덥다. 이럴 때, 간단히 자동차 실내 온도를 낮추는 법!!! 보조석의 창문을 연 다음, 운전석 문을 다섯 번 열고 닫으면 차 내 온도가 약 20도 가량 떨어진다. 실내의 뜨거운 열기가 문을 여닫음으로 인해 보조석 창 밖으로 빠져나가는 원리. * 문을 여러 차례 여닫거나 보조석 이외 뒷자석 창문까지 열어두는 것은 실내 온도를 낮추는데 크게 도움이 되지 않는다.


⊙ 스펀지 연구소 : 당신의 이름은 무엇입니까? : 우리 주변, 아무리 사소한 것들에도 그들에겐 이름이 있다!


§ 맷돌을 돌리는 ㄱ자 모양의 나무 손잡이 - 어처구니 § 팔꿈치 중에서 부딪히면 전기가 오듯 아픈 곳 - 퍼니 본 (funny bone) § 달 안쪽, 하늘과 경계짓는 경계선 - 터미네이터 § 전신주 위, 전선을 지탱하고 절연하게 만들어진 물건 - 뚱딴지 또는 애자 § 잘 익은 바나나에 생긴 검은 반점 - 슈가 포인트 (sugar point) § 고등어의 새끼 - 고도리 § 창자의 끝부분 - 미주알 § 복어처럼 생긴 타원형의 물고기 개복치의 또 다른 이름 - 몰라 몰라 (Mola mola)


⊙ 아침에 얼굴이 부었을 때 (면봉) 하나면 된다. (★★★★) : 지난 밤, 지나친 수분 섭취나 엎드려 잠을 자 부은 얼굴... 이렇게 부은 얼굴을 간단하게 가라앉히는 획기적인 방법은 바로 면봉으로 손 등 부분의 합곡혈을 10분간 눌러주는 것!! 엄지 손가락과 검지 손가락 끝이 만나는 움푹 파인 부분이 합곡혈인데, 이 곳을 지압해 주면 혈액 순환이 잘 돼 부은 얼굴이 금방 가라앉는 효과를 볼 수 있다.


⊙ 베트남 사람들은 우리와 반대로 (사과를 깎는) 다. (★★★★★) : 한국과 중국, 일본의 경우 사과를 깎을 때, 시계방향으로 돌려 깎지만 베트남의 경우, 반시계 방향으로 바깥을 향해 사과를 깎는다. 엄지 손가락을 많이 사용하는 우리나라와는 달리 검지 손가락을 주로 사용하는 베트남에서는 돈을 셀 때도 책장을 넘기듯 검지 손가락으로 센다.


⊙ (간지럼 타는) 나무가 있다. (★★★☆) : 배롱나무는 일명 간지럼타는 나무라고도 한다. 다른 나무보다 매끄러운 줄기를 가지고 있는 배롱나무는 줄기의 이곳저곳을 간질이면 꽃이 달린 가지들이 흔들리며 마치 사람이 웃는 것처럼 보여 간지럼 나무라는 이름이 붙여졌다고 한다. 아직까지 확실히 밝혀진 내용은 없으나 간지럼을 타는 원인에 대해 여러 가지 조사가 진행되고 있다고 한다.

svctq11 (유치원생 4레벨)
[테마지기] 전체 249151위
출처 : 본인의 글입니다.
Posted by falldown
:

역시 뭐 퀄리티는..
Posted by falldown
:


 
Posted by falldown
:

웹표준

2008. 4. 6. 03:34

이번에 소개해 볼것은 스킨 편집 및 웹페이지 제작 등에 쓰일수 있는 파이어폭스와의 호환성에 관한 간단한 팁입니다.

'파이어폭스와의 호환성' 이라고 예기해 봤습니다만.
사실상 파이어폭스와의 호환성이라 함은 바로 '웹표준' 을 말하는 것입니다.
인터넷 익스플로러(이하 IE)가 대다수인 실정상. 한국에서는 대부분의 웹페이지가 IE에 맞추어져 제작되어 있습니다만.
IE에만 맞추어져 있는 홈페이지는 다른 브라우져에서 그 구조가 깨어지거나 사용이 불가능할 정도까지도 될수 있습니다.
이 문제는 IE가 웹표준을 따르지 않는데서 기인하는 문제인데요.

표준에 맞추었을 경우 IE및 모든 브라우져에서 완벽하게 잘 보이는 것에 반해,
IE에만 맞추었을 경우 다른 모든 브라우져에서는 올바르게 보이지 않는 것에 비추어 보아 이것은 전적으로 IE의 문제라고 볼수 있습니다.

그러나. 웹디자이너가 아닌 이상에야 일반 사용자가,
HTML코드를 짜는데에 있어 표준이고 아니고를 맞추기가 사실 실로 힘든 부분이라 할수 있습니다.
뭐니해도 사실상, 자신이 사용하고 또한 가장 많이 사용하는 IE에서만 잘 보이면 그만이니까요.

하지만. 웹페이지라는 것의 특성상 절대적 대다수만이 아닌 소수들에게도 동일한 서비스를 제공해야 하는 암묵적인 책임이 있을 뿐더러.
IE가 아닌 다른 브라우져 사용자들은 점점 늘어나는 추세라. 비록 일반 사용자임에도 불구하고 이것은 무시하지 못할 정도의 문제라고 생각할수 있습니다.
특히, 스킨 편집을 하고자 하시는 분들은 커스터마이징이나 디자인적 관점에서의 접근을 하게 됩니다만.
다른 브라우져에서 보았을때 그것이 무참하게 깨져 버림으로써 자신의 노력이 물거품이 되는 정신적 충격을 받을수도 있습니다.

이번 기회엔 초보자도 간단히 사용할수 있는 호환성에 관한 간단한 팁을 소개해 보겠습니다.

------------------------------------------------------------------------------------

CSS에서 가장 문제가 되는 것은 다름아닌 '박스모델' 입니다.
특히 이글루스 스킨은 레이아웃을 잡는데에 있어 박스모델이 주로 사용됩니다만.
그 코드를 작성함에 있어 IE위주로 작성한다면 필연적으로 다른 브라우져에서는 깨지게 됩니다.
결론적으로, 이 '박스모델' 만 신경써 준다면 웬만한 브라우져에서는 다 잘 보인다는 것이죠.

IE에서 박스모델이 표준이 아닌 이유는 바로 padding, margin, border 사이즈에 있습니다.
예를들어 가로와 세로가 각각 100px인 박스에 padding 10px, margin 10px, border 1px를 준다고 생각해 봅시다.
간단히 생각해 보자면 다음과 같은 코드를 사용하면 되겠지요.

예제1-IE전용

DIV.TEST{
WIDTH: 100PX;
HEIGHT: 100PX;
PADDING: 10PX;
MARGIN: 10PX;
BORDER: 1PX SOLID #000000;
}


사실, 솔직히 말해 직관적입니다. 그냥 생각한 대로 가로세로 100픽셀에 그냥 padding, margin, border 만 주면 됩니다.
그런데. 이런 식으로 코드를 작성하면 반드시 이것은 다른 브라우져에서 문제가 생깁니다.
왜냐하면, IE의 경우 가로세로 수치가 눈으로 보이는 박스 사이즈에 기준한것에 반해,
다른 브라우져가 사용하는 가로세로 수치는 눈으로 보이는 사이즈가 아닌 내용이 표시되는 부분을 기준으로 하고 있기 때문이죠.

그러니까. 눈으로 보이는 박스 사이즈가 100px라고 하면, IE에서는 그냥 100px을 적어주면 끝납니다만.
표준 브라우져에서는 그 사이즈에서 padding과 border 사이즈를 뺀 사이즈, 위의 경우에서는 78px를 적어줘야 하는 것입니다.


자. 그렇다면 코드를 작성할때 일일히 이것을 계산해서 조심스레 적어야 할까요.
...솔직히 매우 머리아프고 귀찮은 짓임에 분명합니다.
또한 이렇게 적으면 되려 IE에서 잘 보이지 않는 결과가 생길수도 있습니다. (첨부 이미지 참조)

결국 생각해볼수 있는 방법은. 바로 표준과 IE를 따로 적어주는 방법인 것이죠.
위에서 초보자라도 쉽게 할수 있다고 언급했습니다만. 이 방법이야말로 가장 간단한 방법이라고 생각합니다.
왜. 이미 모든 코드를 작성한 상태에서도 각 박스모델에 몇줄씩 추가/수정만 해주는 것으로도 호환성 상승을 노릴수 있기 때문이죠.
자. 가로와 세로가 각각 100px인 박스에 padding 10px, margin 10px, border 1px를 준다면,
표준으로는 이렇게 적어야 다른 브라우져에서 IE와 같은 모델이 보입니다.

예제2-표준

DIV.TEST {
WIDTH: 78PX;
HEIGHT: 78PX;
PADDING: 10PX;
MARGIN: 10px;
BORDER: 1PX SOLID #000000;
}


그러나. 이 박스모델 코드를 해석하는 방식이. IE가 표준이 아니기 때문에 오히려 IE에서 깨지는 현상이 생겨버리는 것입니다.
IE 쪽을 쓰기 위해서는 그냥 가로세로 사이즈를 100px를 적으면 됩니다만 그러자니 다른 브라우져에서 깨지고....
해서, 위의 코드를 적은 뒤 아래에 IE에서만 인식하는 다음의 코드를 추가해 주는 방법으로 해결할수 있습니다.

* html DIV.TEST{
WIDTH: 100PX;
HEIGHT: 100PX;
}



* html ~~ 은 IE에서만 인식되는 특수한 selector라고 합니다. 저도 이유는 잘 모르겠습니다-_-
중요한 사실은 오로지, "* html ~~ 를 적어줌으로써 표준인 코드를 비표준인 IE에도 맞출수 있다" 는 것일 뿐이겠죠.

결론적으로, 가로와 세로가 각각 100px인 박스에 padding 10px, margin 10px, border 1px를 주고 싶을때.
표준과 IE에서 전부 잘 작동하는 코드를 만들고 싶다면 다음과 같이 작성하면 간단하게 해결할수 있습니다.

예제3-절충안

DIV.TEST{
WIDTH: 78PX;
HEIGHT: 78PX;
PADDING: 10PX;
MARGIN: 10px;
BORDER: 1PX SOLID #000000;
}

* html DIV.TEST{
WIDTH: 100PX;
HEIGHT: 100PX;
}



●중요!
이미 써져있는 코드를 수정할 경우, * html ~~ 을 각 박스 아래쪽 라인에 추가한 뒤,
원래의 수치는 * html ~~ 쪽으로 옮기고, 이미 써져 있던 수치는 margin은 제외하고 padding, border 사이즈를 빼서 적어주면 됩니다.
ex) 가로, 세로 100px에 padding 10px, border 1px라면. 100px - (20+2)= 78px 입니다.




<참고 이미지>







왼쪽은 파이어폭스, 오른쪽은 인터넷 익스플로러입니다.
IE전용이 파이어폭스에서는 크게 나오는 반면, 표준은 IE에서 작게 나옵니다.
절충안을 사용하면 두개의 브라우져에서 완전히 같은 박스모델이 구현 가능합니다.
 

실무에서 굉장히 자주 마주치는 익스플로러 6 만의 CSS 버그가 있습니다.

쏭군은 익스플로러 7과, 파이어폭스2를 기반으로 디자인 작업을 합니다.
(사파리나 오페라는 아주 가끔 열어보고요.. 그래서 사파리에서 약간의 문제가 있긴 하지만..)
그래도 익스7, 파폭2에서 제작하면 익스 6이나 다른 브라우저에서도 그럭저럭 잘 뜨더군요..

그런데 익스 6은 역시 요주의 녀석이긴 한게...
레이아웃이라던가 객체가 벌어지는 현상이 안 생길래야 안생길수가 없어서..

실무에서 정말 자주 마주치는 익스플로러 IE용 버그 해결 방법을 몇 가지 쓰고자합니다

float 를 쓴 객체에 margin의 left 값이나 right 값이 들어가면 마진값이 두배로 늘어납니다. 그래서 파폭이나 익스7에서 멀쩡한 레이아웃이 익스 6에서는 마진값이 2배로 불어나서 레이아웃이 깨지거나 벌어집니다. 그래서 반드시 알아야하는 버그해결 법입니다.

float 를 쓴 객체에 margin 가로값을 주고나서는 꼭 display: inline 값을 주자는 것!


거의 모든 IE관련 버그는 홀리핵이라는 녀석을 많이 사용하는데, 사용법은 간단합니다

* html { height: 1px; }

그리고 css 상단에는 모든 * 필터를 이용해서 마진과 패딩을 0으로 셋팅하고 CSS 코딩을 시작한다면, 거의 모든 브라우저의 마진 및 패딩 문제를 해결한 상태에서 코딩을 시작할 수 있습니다. 물론 100% 해결되는 건 아니지만 80% 이상 원하는 시안을 얻는데 도움이 됩니다.

* { margin: 0; padding: 0; }

가장 널리쓰고, 유용한 핵이라고 할 수 있겠습니다~

위에 녀석들도 필수적으로 숙지하고 이용해야 하는 자주 등장하는 녀석들입니다만, 역시 IE의 패딩버그를 따라갈 수 없지요.. 덜덜 ㅠㅠ 이 패딩버그는 상당히 많이 발생하고, 레이아웃도 깨먹고, 고치는데 많이 헷갈리기도 하는 기특한 녀석이라서~ 정말 겁납니다~
위에 사용한 별표 * html 을 이용해서 해결하는 방법이 있습니다~

CSS 표준의 width나 height 값은 border 값, padding 값, margin 값을 모두 제외한 순수한 알맹이 값을 의미하는 반면에 IE는 height나 width에 padding과 border값을 포함합니다. 따라서 상당히 레이아웃 차이가 많이 나는 경우가 있습니다. 그런 경우에는 아래의 방식대로 해결하시면 됩니다.

#content { width: 200px; padding-left: 10px; }

이렇게 하면 일반브라우저에서는 총 너비는 210px 입니다. 그런데 이것을 IE에서는 그대로 200을 유지해버리기 때문에, 실제 크기 210px 을 줘야합니다.

#content { width: 200px; padding-left: 10px; }
* html #content { width: 210px; }
/* 핵으로 210px 을 줍니다, 패딩은 위에서 줘서 패스~ */

맥용 IE에서는 CSS를 정상적으로 읽는데 핵 때문에 다시 깨집니다. 그래서 다시 맥용 IE를 위해서 아래와 같이 코딩해주면 완성됩니다.

#content { width: 200px; padding-left: 10px; }
* html #content { width: 210px; w\idth: 200px; }
 /* \ 를 이용해 200px로 돌려줍니다~ */
Posted by falldown
:

li css

2008. 3. 31. 12:54
<head>
<STYLE type='text/css'>
li.1 { list-style-type : lower-roman } /* 로마숫자 소문자으로된 목록 */
li.2 { list-style-type : upper-roman } /* 로마숫자 대문자으로된 목록 */
li.3 { list-style-type : lower-alpha } /* 알파벳 소문자으로된 목록 */
li.4 { list-style-type : upper-alpha } /* 알파벳 대문자으로된 목록 */
li.5 { list-style-type : disc } /* 점으로 된 목록 */
li.6 { list-style-type : circle } /* 속이 하얀색 원으로 된 목록 */
li.7 { list-style-type : square } /* 사각형으로 된 목록 */
li.8 { list-style-type : decimal } /* 숫자로 된 목록 */
li.9 { list-style-type : none } /* 아무 표시 없음 */
</STYLE>
</head>

리스트 태그(ul, ol, li)와 같은 기능을 CSS로 만들기.(list-style-type)

<ol>
<LI class='1'>리스트 항목 lower-roman</LI>
<LI class='2'>리스트 항목 upper-roman</LI>
<LI class='3'>리스트 항목 lower-alpha</LI>
<LI class='4'>리스트 항목 upper-alpha</LI>
<LI class='5'>리스트 항목 upper-alpha</LI>
<LI class='6'>리스트 항목 disc</LI>
<LI class='7'>리스트 항목 circle</LI>
<LI class='8'>리스트 항목 square</LI>
<LI class='9'>리스트 항목 none</LI>
</ol>

Posted by falldown
:

b

2008. 3. 28. 11:32
Posted by falldown
:


각트가 성우를 했다던데....
Posted by falldown
:

css 홀리핵

2008. 3. 19. 16:38
hasLayout 속성과 홀리 핵(Holly hack) Web

2007/12/30 08:50

복사 http://blog.naver.com/niceilm/150026133263

CSS로 이미지 정렬하기에서 소개했던 CSSclear 속성을 이용하는 float 제거(clearing float)와 동일한 효과를 내는 방법은 몇 가지가 더 있습니다.

그 중 하나인 overflow 속성을 이용하는 방법을 설명하기 전에 인터넷 익스플로러(이하 IE)만의 독자적인 속성인 hasLayout에 대해서 먼저 알아보려고 하는데, 이 속성이 HTML 요소들의 레이아웃, 특히 float된 요소가 렌더링되는 방식에 크게 영향을 끼치기 때문입니다.

그러면 hasLayout 속성이란 무엇이고, 어떤 영향을 끼치는지, 그리고 어떤 방식으로 이 속성을 이용해야 하는지를 알아보도록 하겠습니다.

† 이 글은 hasLayout 속성에 관한 정보로 꾸준히 업데이트되고 있는 On having layout이라는 글을 바탕으로 작성했습니다. 따라서 이 글은 동일한 라이센스를 적용해야만 이용할 수 있도록 규정한 원문의 CCL을 따릅니다. 원문은 Holly Bergevin, Ingo Chao, Bruno Fassino, John Gallant, Georg Sørtun, Philippe Wittenbergh가 함께 작성했습니다.

hasLayout 속성이란?

Layout은 각각의 요소가 어떻게 렌더링되고, 다른 요소들과 어떻게 상호작용 하는지를 결정하는 윈도우즈 버전 IE만의 독자적인 개념(concept)입니다. 이 layout이 적용되지 않으면 표준 규격을 따르는 브라우저와는 사뭇 다른 방식으로 각각의 요소들이 렌더링되므로 브라우저 호환성(cross browsing)을 위해서는 그 특성을 이해할 필요가 있습니다.

일부 HTML 요소는 아무런 설정 없이 기본적으로 Layout을 가지며, 일부 CSS 속성이 지정될 경우에는 Layout이 없는 요소도 Layout 속성을 갖게됩니다. 마이크로소프트의 개발자들은 객체 지향 프로그래밍(Object Oriented Programming) 방식에 기초해서 각각의 요소들이 hasLayout이라고 이름붙인 속성을 가질 수 있도록 해야 한다고 결정했는데 이 속성이 true로 설정된 요소만이 앞서 설명한 Layout 개념을 따르게 됩니다.

† 원문에서는 Layout이 개념(concept)을 가르키고, hasLayout은 이 개념의 적용 유무를 결정하는 속성(property)으로 표현되지만, 두 단어가 그렇게 엄격하게 구분된다고 느껴지지는 않습니다. 또한, hasLayout의 속성(property)은 CSS에서 사용되는 일반적인 속성과는 다른 개념이므로 구분을 위해서 스크립트 속성(script property)이라고 정의하고 있습니다. 사용자가 직접 지정할 수 없고 내부적으로만 처리되기 때문입니다. 이 글에서는 LayouthasLayout 두 단어를 혼용해서 사용하는 경우가 있으니 이 점 감안하시길 바랍니다.

hasLayout 속성이 영향을 미치는 경우들

많은 개발자들이 hasLayout과 관련된 문제를 경험합니다. Layout이 특정한 요소와 그 하위 요소들의 렌더링 방식에 예측하기 어려운 영향을 끼치기 때문입니다.

이렇게 Layout 유무에 따라 발생할 수 있는 일반적인 문제점은 다음과 같습니다.

  • 흔히 발생하는 IE의 float 버그
  • 기본 속성(width, height 등)이 표준과 다르게 적용되는 박스
  • 요소와 컨테이너(container) 사이에 마진(margin)이 합쳐지는 현상
  • 리스트(ul, ol 등)를 만들 때 나타나는 다양한 현상들
  • 배경 이미지 위치를 다르게 해석하는 문제
  • 스크립트를 사용할 때 발생하는 브라우저 호환성 문제

† 원문에서는 이 목록을 간단하고(brief) 완성되지 않았다고(incomplete) 표현하고 있습니다. 다시 말해서, 다른 문제들과도 관련이 있다는 얘기입니다.

hasLayout 속성은 어떻게 지정하는가?

Layout 속성은 특이하게도 CSS를 이용해서 직접 지정할 수가 없습니다. 따라서 CSS에서는 Layout이라는 속성 자체가 사용되지 않습니다. 다만 일부 요소들은 기본적으로 Layout을 갖고(hasLayout = true), 특정한 CSS 규칙이 적용될 경우에도 Layout을 가질 수 있습니다.

기본적으로 Layout을 갖는다고 알려진 요소
  • <html>, <body>
  • <table>, <tr>, <th>, <td>
  • <img>
  • <hr>
  • <input>, <button>, <select>, <textarea>, <fieldset>, <legend>
  • <iframe>, <embed>, <object>, <applet>
  • <marquee>
Layout을 갖게 만드는 CSS 속성
  • position: absolute
  • float: left|right
  • display: inline-block
  • width: ‘auto’ 외의 모든 값
  • height: ‘auto’ 외의 모든 값
  • zoom: ‘normal’ 외의 모든 값 (IE 전용)
  • writing-mode: tb-rl (IE 전용)
  • overflow: hidden|scroll|auto (IE7만 적용됨)
  • overflow-x|-y: hidden|scroll|auto (IE7만 적용됨)

† IE7에서는 이밖에도 position: fixed, min-width, max-width, min-height, max-height 등이 Layout을 활성화시킵니다. 또한 IE6 이상의 표준 렌더링 모드(standards-compliance mode)에서는 인라인 요소의 width, height 속성이 무시되므로, 이 속성으로는 Layout을 갖도록 할 수 없습니다. 기타 자세한 정보는 원문인 On having layout을 참고하세요.

Layout 속성을 이용하는 방법

표준을 따르지 않는 Layout 속성 때문에 레이아웃과 관련된 많은 문제점이 발생합니다. 대표적인 예로는 앞서 CSS로 이미지 정렬하기에서 설명한 p 태그에 clear 속성이 다르게 적용되는 것을 들 수 있지요. 또한, 어떤 요소가 IE에서만 보이지 않는 문제도 hasLayout을 적용하면 해결됩니다.

이렇게 IE에서만 발생하는 Layout 문제를 해결하기 위해서 많은 핵(hack)이 고안되었는데 이들의 공통적인 목적은 Layout이 없는 요소가 Layout 속성을 갖게 만드는 것입니다. 따라서 위에 열거한 CSS 속성을 IE에만 적용시키는 것이지요. 그중에서 대표적으로 사용되는 Holly hack에 대해 알아보겠습니다.

Holly hack

2003년에 John Gallant와 Holly Bergevin이 발표한 Holly hack은 다음과 같은 CSS 규칙을 사용합니다.

/* Hides from IE5-mac \*/
* html .buggybox { height: 1%; }
/* End hide from IE5-mac */

이 핵은 Layout이 없는 요소에 height 속성을 주어서 문제를 해결하는 방법인데 IE가 아닌 표준을 따르는 브라우저에서는 height 속성이 문제를 일으킬 수 있으므로 이런 브라우저에게는 적용되지 않도록 하는 것이 이 방법의 핵심입니다.

사실 Holly hack은 두 개의 핵을 동시에 사용하고 있습니다. 먼저 가운데 줄에 있는 코드는 Tan hack으로 알려진 방법으로 CSS의 공용 선택자(universal selector: *)를 이용해서 IE7 표준 모드(standard mode)를 제외한 현재까지의 모든 IE 브라우저에 적용됩니다.

첫 번째와 세 번째 줄은 Layout 속성이 매킨토시 IE(이하 Mac IE)에는 적용되지 않기 때문에 Mac IE에서는 이 세 줄의 CSS 코드를 모두 주석으로 인식하도록 하는 역할을 합니다. Mac IE가 윈도우즈 IE와는 달리 보다 표준에 가까운 방법으로 렌더링을 하기 때문이지요. 이 방법은 Mac hack이나 comment-backslash 핵으로 불리는데 Mac IE가 주석문의 백슬래시(\) 문자 뒤에 있는 내용을 인식하지 못하고 세 번째 줄까지 주석이 이어진 것으로 인식하는 점을 이용합니다.

하지만 이 방법은 IE7 표준 모드(standard mode)에서는 적용되지 않는데 * html 선택자가 아무 것도 선택하지 않기 때문입니다. 또한, IE6의 표준 모드를 제외하면 overflow: hidden 속성과 함께 사용될 경우에 문제를 일으킵니다.

조건에 따른 주석(conditional comment) 이용하기

저는 개인적으로 크로스 브라우징 문제를 해결하기 위해서 핵보다는 조건에 따른 주석문를 주로 사용합니다. HTML 내에 IE에서만 인식되는 주석문을 넣는 방법으로 위의 Holly hack을 대체하려면 다음과 같은 코드를 사용하면 됩니다.

<!--[if lt IE 7]>
<style>
.gainlayout { height: 0; }
</style>
<![endif]-->

<!--[if IE 7]>
<style>
.gainlayout { zoom: 1; }
</style>
<![endif]-->

IE6 이하 버전에서는 Layout을 갖게 만드는 여러가지 CSS 속성 중에서 height 속성을 사용하는 것이 최선의 방법입니다. 물론 다른 CSS 속성과 충돌이 일어날 경우(예: overflow: hidden)에는 예외지만이요. height 속성으로 어떤 값(1%, 1px, 0 등)을 사용하는지 큰 차이는 없습니다. 하지만 일반적으로 많이 사용되는 1% 값은 극히 드문 경우지만 문제를 일으킬 수도 있다고 합니다. 이 문제에 관한 사항은 IE/Win: negative margins, position:relative, hasLayout를 참고하시기 바랍니다.

† IE6 이하 버전에서 height 지정이 최선의 방법인 이유는 IE5 때문입니다. IE5.5 이상의 브라우저에는 zoom 속성 같은 다른 대안이 있지만 IE5는 현실적으로 height가 최선의 방법이라는 설명입니다.

또한, height 속성은 이 속성을 지원하지 않는 인라인 요소에는 사용할 수 없습니다. IE7에서는 더욱 주의해야 하는데 먼저 height 속성 값은 반드시 퍼센트(%) 단위를 써야 하고, 속성이 적용될 요소의 상위 요소(parent element)에 고정적인 높이가 지정되지 않은 경우에만 또 다른 문제를 피할 수 있습니다. 이런 경우에는 display: inline-block이나 zoom: 1 속성을 사용하는 것이 혹시 모를 문제를 예방할 수 있습니다.

zoom 속성은 IE5를 제외한 IE5.5 이상의 모든 IE 브라우저에 적용되어 Layout을 만들고, 심지어 인라인 레벨 요소도 Layout을 갖게 만듭니다. 특별히 알려진 부작용도 없고요. 위의 예처럼 조건에 따른 주석(conditional comment)을 사용하면 CSS 검증(validation)도 문제없이 통과합니다. Mac IE는 conditional comment를 무시하므로 앞서 설명한 Mac hack도 필요하지 않습니다.

따라서 위 주석문은 height 속성이 필요한 IE6 이하 브라우저(특히 IE5)에게는 height0으로 지정하고, height 속성이 문제를 일으킬 수 있는 IE7에는 zoom 속성을 적용시켜서 Layout을 갖게 만듭니다. 또한, 앞으로 발표될 IE 브라우저에서 Layout 속성을 어떻게 처리할 지 모르기 때문에 가급적이면 IE만의 방법인 conditional comment와 zoom 속성을 사용하는 것이 보다 나은 방법이라고 설명하고 있습니다.

마치며

원문은 이 글보다 훨씬 많은 내용을 담고 있습니다. 내용을 요약하는 과정에서 오역이 있을 수도 있다는 점 감안하시길 바래요. 또한, 원문에 링크된 다양한 글은 제목만 봐도 유용한 정보라는 것이 느껴질 정도입니다. IE에서 레이아웃 문제로 어려움을 겪는다면 관련 글들이 큰 도움이 되리라 생각합니다.

제 경험으로는 Layout과 관련된 대부분의 문제가 Holly hack만으로도 간단히 해결되더군요. 그래서 Holly hack에 관한 내용을 중점적으로 다루었습니다. 다음 글에서 Layout 속성과 overflow 속성을 이용해서 float 효과를 제거하는 방법(clearing float)에 대해서 알아보지요.

  1. CSS로 이미지 정렬하기
  2. hasLayout 속성과 홀리 핵(Holly hack)
  3. float을 제거하는 방법(clearing float)
Posted by falldown
:
자주 마주치는 익스6 CSS 버그 해결책 CSS hack

2007/03/13 17:36

복사 http://blog.naver.com/leoer/100035272127

 


float 를 쓴 객체에 margin 가로값을 주고나서는 꼭 display: inline 값을 주자는 것!

거의 모든 IE관련 버그는 홀리핵이라는 녀석을 많이 사용하는데, 사용법은 간단합니다



* html { height: 1px; }

그리고 css 상단에는 모든 * 필터를 이용해서 마진과 패딩을 0으로 셋팅하고 CSS 코딩을 시작한다면, 거의 모든 브라우저의 마진 및 패딩 문제를 해결한 상태에서 코딩을 시작할 수 있습니다. 물론 100% 해결되는 건 아니지만 80% 이상 원하는 시안을 얻는데 도움이 됩니다.



* { margin: 0; padding: 0; }

가장 널리쓰고, 유용한 핵이라고 할 수 있겠습니다~

위에 녀석들도 필수적으로 숙지하고 이용해야 하는 자주 등장하는 녀석들입니다만, 역시 IE의 패딩버그를 따라갈 수 없지요.. 덜덜 ㅠㅠ 이 패딩버그는 상당히 많이 발생하고, 레이아웃도 깨먹고, 고치는데 많이 헷갈리기도 하는 기특한 녀석이라서~ 정말 겁납니다~
위에 사용한 별표 * html 을 이용해서 해결하는 방법이 있습니다~

CSS 표준의 width나 height 값은 border 값, padding 값, margin 값을 모두 제외한 순수한 알맹이 값을 의미하는 반면에 IE는 height나 width에 padding과 border값을 포함합니다. 따라서 상당히 레이아웃 차이가 많이 나는 경우가 있습니다. 그런 경우에는 아래의 방식대로 해결하시면 됩니다.


              #content { width: 200px; padding-left: 10px; }


이렇게 하면 일반브라우저에서는 총 너비는 210px 입니다. 그런데 이것을 IE에서는 그대로 200을 유지해버리기 때문에, 실제 크기 210px 을 줘야합니다.


           #content { width: 200px; padding-left: 10px; }
             * html #content { width: 210px; }

             /* 핵으로 210px 을 줍니다, 패딩은 위에서 줘서 패스~ */


맥용 IE에서는 CSS를 정상적으로 읽는데 핵 때문에 다시 깨집니다. 그래서 다시 맥용 IE를 위해서 아래와 같이 코딩해주면 완성됩니다.


#content { width: 200px; padding-left: 10px; }
* html #content { width: 210px; w\idth: 200px; }
 /* \ 를 이용해 200px로 돌려줍니다~ */

 

 

 

CSS에서 IE6 Flicker Bug 없애기
html { 
   filter: expression(document.execCommand("BackgroundImageCache", false, true));
}

 


 

 

출처:네이버

Posted by falldown
:


기타히어로2를 하다가 건진 애들.
내스타일이야!~~~

토렌토에서 전집을 구해 다운받는중 ...
아 두근두근
Posted by falldown
:
지금 기분이 매우 엉망인 상태인데.... 이노래를 듣다가 왈칵 눈물이 쏟아질뻔했다..

후렴부분의 목소리가 지금 나에게 너무나 서글프게 들리는 듯...

Posted by falldown
:

Fifa street

2008. 2. 16. 00:17


완전 소림축구네 ㅡㅡ
Posted by falldown
:
답십리집하(전은영_20080131)  픽업완료  2008-02-12 23:33:29      02-3669-6613
 2  소형배달전문[이노지스]  입고  2008-02-12 23:33:29    222222  02-865-9911
 3  소형배달전문[이노지스]  출고  2008-02-13 22:56:59  임현준    02-865-9911
 4  소형배달전문[이노지스]  출고  2008-02-13 23:26:06  임현준  812576  02-865-9911
 5  대전TR  입고  2008-02-14 02:52:54    811902  
 6  대전TR->송파  출고  2008-02-14 03:59:30    832773  0505-483-8848
 7  대전TR  입고  2008-02-15 00:21:18    832773  
 8  대전TR->강남  출고  2008-02-15 03:24:18    충북85아2198  02-502-8483
 9  강남지점  입고  2008-02-15 08:44:08  김신욱  충북85아2198  02-502-8840
 10  고찬열  입고  2008-02-15 11:01:51  고찬열    011-9010-9505



당최...보낸 다음날 받아보는건 기본인 요즘 시대에 지금 현재 며칠이 지난거지??
명절지나고나서 보낸거니 명절핑계는 못대겄고,
급한물건이 아니니 느긋하게 있지만 저건 당최...
대전TR을 도대체 왜!! 계속 왔다갔다하는거지???

Posted by falldown
:
<< PREV : [1] : [2] : [3] : [4] : [5] : [6] : [7] : [8] : NEXT >>

BLOG main image
falldown
by falldown

공지사항

카테고리

Life stream (113)
Design Stream (10)
Personal Stream (31)
So fuck'in special (3)
My Favorites (10)
[ a -i'm ] (13)
From somewhere (15)
Web Study (20)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

달력

«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total :
Today : Yesterday :