web standard/jquery2010. 10. 8. 15:01
<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" type="text/javascript"></script>
<script>
/*
        rolling page by hong..
*/
var leftCt = 0;
    $(function(){
        $("#album").attr("top", "0");
        imgStart("R");
    });
    function imgStart(tp){
        clearInterval($("#imgList").attr("timer"));
        if(tp == "R"){ // 오른쪽 이동
            imgRight();
            $("#imgList").attr("timer", setInterval("imgRight()", 3000)); // 멈춰있는 시간
        }else{ // 왼쪽이동
            if(leftCt == 0){
                var leng = $("#imgList div").size();
                $("#imgList").css("left",parseInt($("#imgList div").eq(0).width()*-1));
                $("#imgList>div").eq(parseInt(leng-1)).clone().prependTo($("#imgList"));
                $("#imgList>div").eq(leng).remove();
                leftCt = 1;
            }
            imgLeft();
            $("#imgList").attr("timer", setInterval("imgLeft()", 3000));
        }
    }
    function imgRight(){
        $("#imgList").animate({
            left : parseInt($("#imgList div").eq(0).width() * -1)
        },300,function(){
            $("#imgList").css("left", "0px");
            $("#imgList>div").eq(0).clone().appendTo($("#imgList"));
            $("#imgList>div").eq(0).remove();
        });
    }
    function imgLeft(){
        var leng = $("#imgList div").size();
        $("#imgList").animate({
            left : 0
        },300,function(){
            $("#imgList").css("left", "0px");
            $("#imgList").css("left",parseInt($("#imgList div").eq(0).width()*-1));
            $("#imgList>div").eq(parseInt(leng-1)).clone().prependTo($("#imgList"));
            $("#imgList>div").eq(leng).remove();
        });
    }
</script>
<style>
/*
    이미지 사이즈 맞춰서 수정해주세요... (#viewArea)
*/
#viewArea {position:relative; width:108px; height:78px;overflow:hidden;}
#imgList {position:absolute; width:2000px; left:0px; top:0px;}
#imgList div {float:left; margin:0px; padding:0px;}
</style>
<div id="viewArea">
    <div id="imgList">
        <div><img src='http://icon.daum-img.net/top/cms/news/2010/03/nano15306019099820072.jpeg'></div>
        <div><img src='http://icon.daum-img.net/top/cms/news/2010/03/nano15302571111964072.jpg'></div>
        <div><img src='http://icon.daum-img.net/top/cms/news/2010/03/nano15304347571481072.jpeg'></div>
    </div>
</div>
<div>
    <span onClick="imgStart('L')"><</span>&nbsp&nbsp<span onClick="imgStart('R')">></span>
</div>

'web standard > jquery' 카테고리의 다른 글

가로&세로 슬라이드  (0) 2011.04.04
jquery 예제모음  (0) 2011.03.22
베너 슬라이드&버튼이동  (0) 2011.02.22
[jquery]네임태그이동  (0) 2011.02.22
jquery를 이용한 온오프  (0) 2010.11.23
Posted by 수라
web standard/mobile2010. 9. 7. 15:52

출처 : http://xguru.net/551


2009년 이후로 HTML5 는 예전 AJAX 때와 비슷하게 웹 개발의 대세 처럼 인식되고 있습니다. 이 추세는 애플/구글 이 HTML5 에 대한 적극적인 지원을 표명하면서 더욱 활발해 지고 있는데요. 애플/구글 둘다 모바일에서 아이폰/안드로이드로 대결구도가 펼쳐지면서 앞서거니 뒷서거니 HTML5 를 이용한 혁신을 이끌어 내고 있습니다.

전 개인적으로 모바일 웹 어플리케이션에 관심을 가지고, 모바일 시작페이지인 m.xguru.net sizac.kr을 비롯하여 , 지름도우미 with RedLaser 처럼 앱과 웹을 연동하거나, 아이폰에 사진으로 전화걸기 아이콘 만들기 – QuickGuru 처럼 데스크탑/모바일이 연동된 아이폰 웹 어플리케이션을 테스트해 왔습니다.

이제 HTML5 를 이용해서 좀 더 네이티브 앱과 비슷한 웹 앱(Web App)을 만드는 방법을 소개합니다.

아래 자료는 6월12~13일간 열린 KT 의 Econovation 개발자 캠프에서 먼저 발표를 했는데요. 아직은 국내 아이폰 앱 개발자분들이 Objective-C 를 이용한 네이티브 앱에 관심들이 많으셔서 그런지, 조금 생소한 주제였던듯 합니다. 하지만 모바일에서의 HTML5 를 이용한 어플리케이션 개발은 분명한 장점을 가지고 있습니다. 한번만 작성하면 아이폰/안드로이드/블랙베리/심비안등 여러개의 플랫폼에 큰 문제없이 바로 적용이 가능하다는 것이죠. 강의에서는 이 모바일에서의 HTML5 를 이용한 개발의 장점에 대해 설명하고 어떻게 앱을 만드는지를 소개하려고 노력했습니다.

HTML5 로 iPhone App 만들기

자료의 내용은 4가지 주제로 이루어 집니다.

  • HTML5 – HTML5 자체의 기능에 대한 설명입니다. 이건 따로 웹사이트에 HTML5 slide 오픈소스를 수정해서 자료를 만들어 두었습니다. http://dev.xguru.net/html5 에서 보실수 있습니다.
  • iPhone Web Application 아이폰의 웹 어플리케이션 작성방법에 대한 간략한 소개입니다. 기존 웹 사이트 관리자들도 참고하실만 합니다
  • jQTouch, iUI , WebApp.Net 웹에서 아이폰 UI 스타일을 표현하기 위한 UI 프레임워크 들을 간략히 소개합니다.
  • PhoneGap 웹 어플리케이션을 아이폰 네이티브 어플리케이션으로 만들어주는 Phonegap 프레임워크를 소개합니다.

기본적으로 HTML,CSS,Javascript 에 대한 약간의 지식은 있다고 가정하고 작성을 했구요. ^^;

강의는 먼저 HTML5 의 기능중에서 모바일에 중요한 기능들을 설명하고, 아이폰에서 웹 앱을 만드는 방법에 대한 소개, 그리고 웹에서 아이폰 스타일의 UI 를 작성하는 방법 , 그리고이렇게 작성된 웹 앱을 네이티브 앱으로 만들어주는 Phonegap 을 소개하는 순으로 진행됩니다. 제가 말이 좀 많고 빠른편이라 슬라이드에는 설명은 그리 많지 않습니다. ^^;

아무래도 발표용 자료로 만든것이라 슬라이드만 보고 전체를 이해하시기에는 조금 어려울듯도 한데요. 궁금한 부분 있으시면 저에게 문의 주세요.
앞으로 미진한 부분을 조금씩 보강해 나가겠습니다. 혹시 필요하시다면 이 주제에 대한 세미나 요청은 메일로 보내 주세요

Posted by 수라
web standard/mobile2010. 8. 23. 13:51

출처 : http://cafe.naver.com/hacosa/18955


* 아이폰 웹 개발를 위한 프레임 워크 몇가지를 소개 할께요.

 

1. iUl

 

프로젝트 페이지 :  http://code.google.com/p/iui/

다운로드 페이지 : http://code.google.com/p/iui/downloads/list

데모 페이지 : http://iui.googlecode.com/svn/tags/REL-current/samples/music.html#_home

라이센스   :  New BSD License 

 

2. iPhone-Universal

 

프로젝트 페이지 :  http://code.google.com/p/iphone-universal/

다운로드 페이지 : http://code.google.com/p/iphone-universal/downloads/list

라이센스   : GNU General Public License v3

 

3. iWebkit

프로젝트 페이지 :  http://iwebkit.net/downloads

다운로드 페이지 : http://demo.iwebkit.net/

데모 페이지 :  http://demo.iwebkit.net/

라이센스   :  GNU General Public License v3

 

4. jqtouch  ( jquery 기반  )

 

프로젝트 페이지 :  http://www.jqtouch.com/

다운로드 페이지 :  http://www.jqtouch.com/

데모 페이지 :  http://jqtouch.com/preview/demos/main/#home

라이센스   :  The MIT License

5. Magic FrameWork

 

프로젝트 페이지 :  http://www.jeffmcfadden.com/projects/Magic%20Framework

다운로드 페이지 :  http://github.com/jeffmcfadden/magicframework/downloads

데모 페이지 :  http://www.jeffmcfadden.com/magicframeworkdemo/

라이센스   : Creative Commons Attribution 3.0 United States License

 

6.  WebApp.net

 

프로젝트 페이지 :   http://webapp-net.com/

다운로드 페이지 : http://webapp-net.com/Download/get.php?d=19

데모 페이지 :   http://demo.webapp-net.com/

라이센스   : New BSD License

 

7.  XUI

 

프로젝트 페이지 :  http://xuijs.com/

다운로드 페이지 : http://code.google.com/p/xui-js/

문서 :  http://xuijs.com/documentation

 

8. sproutcore

 

프로젝트 페이지 :  http://www.sproutcore.com/

다운로드 페이지 : http://wiki.sproutcore.com/Abbot-Setting+Up

데모 페이지 :  http://demo.sproutcore.com/sample_controls/

문서  : http://wiki.sproutcore.com/

 

9. QuickConnect

 

프로젝트 페이지 :   http://quickconnect.sourceforge.net/browser/index.html

다운로드 페이지 :  http://sourceforge.net/projects/quickconnect/

문서 : http://quickconnect.sourceforge.net/docs/html/

 

10. CiUI – CNET iPhone U ( mootools 기반 )

프로젝트 페이지 : http://www.clientcide.com/cnet-js-standards/ciui-cnet-iphone-ui/

다운로드 페이지 : http://www.clientcide.com/js/

문서 : http://www.clientcide.com/docs

 

11. PhoneGap

 

프로젝트 페이지 :  http://www.phonegap.com/

다운로드 페이지 :  http://www.phonegap.com/download

라이센스   :  The MIT License

아이폰 : http://phonegap.pbworks.com/Getting-Started-with-PhoneGap-(iPhone)
안드로이드 : http://phonegap.pbworks.com/Getting-started-with-Android-PhoneGap-in-Eclipse

12. LiquidGear!  ( 플래시 기반 )

 

프로젝트 페이지 : http://www.liquidgear.net/
다운로드 페이지 : http://www.liquidgear.net/?page_id=180
문서 : http://as3.liquidgear.net/

라이센스 :  The MIT License

 

13. Safire  ( 사파리 기반 )

 

프로젝트 페이지 : http://code.rememberthisguy.com/safire/
다운로드 페이지 ; http://code.google.com/p/safire/downloads/list
데모 : http://www.zillow.com/iphone/

 

14. jPint   ( web-based Iphone Dev )

License: Creative Commons Attribution 3.0 United States License
프로젝트 페이지 : http://www.journyx.com/jpint/ 


Posted by 수라
web standard/mobile2010. 8. 20. 11:17
Posted by 수라
web standard/trouble2010. 7. 21. 15:01

'web standard > trouble' 카테고리의 다른 글

플래시 뒤로 레이어가 숨는 현상  (0) 2010.03.22
Posted by 수라
web standard/html52010. 7. 5. 11:27
HTML5에서 삭제된 태그 HTML5에서 생성된 태그
태그 설명 버전 속성들
<!— —> 주석 – Comment 4 / 5 없음
<!DOCTYPE> 문서 타입 – document type 4 / 5 없음
<a> 하이퍼링크 – hyperlink 4 / 5 href | hreflang | media | ping | rel | target | type
<abbr> 약어, 약자 – abbreviation 4 / 5 Global Attributes
<acronym> 두문자어 – abbreviation 4 -
<address> 주소 요소 – address element 4 / 5 Global Attributes
<applet> 애플릿 – applet 4 -
<area> 이미지맵 범위 – area inside in image map 4 / 5 alt | coords | href | hreflang | media | ping | rel | shape | target | type
<article> 구역, 섹션 – article 5 Global Attributes
<aside> outside the main flow of the narrative 5 Global Attributes
<sound> 사운드 콘텐츠 – sound content 5 autobuffer | autoplay | controls | loop | src
<b> 텍스트 진하게 – bold text 4 / 5 Global Attributes
<base> 페이지 내 모든 링크의 기본 링크 – base URL for all the page links 4 / 5 href | target
<basefont> 문서 내 기본 폰트 – base font for the document 4 -
<bb> 유저 에이젼트 호출 – invoked user agent 5 type
<bdo> 텍스트 출력 방향 – direction of text display 4 / 5 dir
<big> 큰 텍스트 – big text 4 -
<blockquote> 긴 인용문 – long quotation 4 / 5 cite
<body> body 엘리먼트 – body element 4 / 5 Global Attributes
<br> 한 줄 바꿈 – insert a single line break 4 / 5 Global Attributes
<button> 버튼 – push button 4 /5 autofocus | disabled | form | formaction | formenctype | formmethod | formnovalite | formtarget | name | type | value
<canvas> 그래픽 범위 – canvas area 5 width | height
<caption> 테이블 제목 – table caption 4 / 5 Global Attributes
<center> 텍스트 중앙 정렬 – centerd text 4 -
<cite> 인용 – citation 4 / 5 Global Attributes
<code> 컴퓨터 코드 텍스트 – computer code text 4 / 5 Global Attributes
<col> 테이블 컬럼 속성 – attributes for table columns 4 / 5 span
<colgroup> 테이블 컬럼 그룹 – groups of table columns 4 / 5 span
<command> 명령 버튼 – command button 5 checked | default | disabled | hidden | icon | label | radiogroup | type
<datagrid> 트리, 리스트, 테이블의 데이터 – data in a tree, list or tabular 5 disabled
<datalist> 드롭다운 리스트 – dropdown list 5 Global Attributes
<dd> 정의 설명 – definition description 4 / 5 Global Attributes
<del> 삭제된 텍스트 – deleted text 4 / 5 cite | datetime
<details> 요소의 세부 항목 – details of an element 5 open
<dialog> 대화 (회화) – dialog (conversation) 5 Global Attributes
<dir> 디렉토리 리스트 – directory list 4 -
<div> 문서 섹션 – setion in a document 4 / 5 Global Attributes
<dfn> 용어 정의 – definition term 4 / 5 title
<dl> 정의 목록 – definition list 4 / 5 Global Attributes
<dt> 용어 정의 – definition term 4 / 5 Global Attributes
<em> 텍스트 강조 – emphasized text 4 / 5 Global Attributes
<embed> 외부 인터렉션 콘텐츠 또는 플러그인 – external interactive content or plugin 5 height | src | type | width
<fieldset> 필드셋 – fieldset 4 / 5 disabled | form | name
<figure> 미디어 콘텐츠 그룹과 그것들의 제목 – group of media content, and their caption 5 Global Attributes
<font> 텍스트 폰트, 사이즈, 색상 – text font, size, and color 4 -
<footer> 섹션 또는 페이지 풋터 – footer for a section or page 5 Global Attributes
<form> 서식(폼) – form 4 / 5 action | data | replace | accept | accept-charset | enctype | method | target
<frame> 서브 윈도우 – sub window 4 -
<frameset> 프레임 세트 – set of frames 4 -
<h1> ~ <h4> 헤드 요소 – header 1 to header 6 4 / 5 Global Attributes
<head> 문서에 대한 정보 – information about ther document 4 / 5 -
<header> 세션 또는 페이지의 헤더 5 Global Attributes
<hgroup> 헤딩 섹션 – heading section 5 Global Attributes
<hr> 수평 선 – horizontal rule 4 / 5 Global Attributes
<html> html 문서 – html document 4 / 5 manifest
<i> 텍스트 기울기 – italic text 4 / 5 Global Attributes
<iframe> 내부 서브 윈도우(프레임) – inline sub window(frame) 4 / 5 src | name | sandbox | seamless | width | height
<iframe> 내부 서브 윈도우(프레임) – inline sub window(frame) 4 / 5 src | name | sandbox | seamless | width | height
<img> 이미지 – image 4 / 5 alt | src | height | ismap | usemap | width
<input> 입력 필드 – input field 4 / 5 accept | alt | autocomplete | autofocus | checked | disabled | form | formaction | formenctype | formmethod | formnovalite | formtarget | height | list | max | maxlength | min | multiple | name | patter | placeholder | readonly | required | size | src | step | type | value | width
<ins> 삽입된 텍스트 – inserted text 4 / 5 cite | datetime
<isindex> 한 줄 입력 필드 – single-line input field 4 -
<kbd> 키보드 텍스트 – keyboard text 4 / 5 Global Attributes
<label> 폼 콘트롤에 대한 라벨 – label for a form control 4 / 5 for
<legend> 필드셋 타이틀 – fieldset title 4 / 5 Global Attributes
<li> 리스트 아이템 – list item 4 / 5 value
<link> 참조 리소스 – resource reference 4 / 5 href | rel | media | hreflang | type |sizes
<mark> 기호 텍스트 – marked text 5 Global Attributes
<map> 이미지 맵 – image map 4 / 5 id
<menu> 메뉴 리스트 – menu list 4 / 5 id
<meta> 메타 정보 – meta information 4 / 5 charset | content | http-equiv | name
<meter> 정의 된 범위내에서의 측정 – measurement within a predefined range 5 Global Attributes
<nav> 내비게이션 링크들 – navigation links 5 Global Attributes
<noframes> 노 프레임 섹션 – noframe section 4 -
<noscript> 노 스크립트 섹션 – noscript section 4 / 5 -
<object> 오브젝트 임베디드 – embeded object 4 / 5 data | height | type | usemap | width | object
<ol> 순서 리스트 – ordered list 4 / 5 start | reversed
<optgroup> 옵션 그룹 – option group 4 / 5 disabled | label
<option> 드롭-다운 리스트의 옵션 – option in a drop-down list 4 / 5 disabled | label | selected | value
<output> 출력의 몇가지 형식들 – some types of output 5 form
<p> 단락 – paragraph 5 Global Attributes
<param> 오브젝트 파라미터 – parameter for an object 4 / 5 name | value
<pre> 설정된 텍스트 – preformatted text 4 / 5 Global Attributes
<progress> 어떠한 작업의 진행 사항 – progress of a task of any kind 4 / 5 Global Attributes
<q> 짧은 인용문 – short quotation 4 / 5 cite
<ruby> 루비 주석 – ruby annotations 5 Global Attributes
<rp> 루비 텍스트 주위로 괄호를 생성 – provide parentheses around a ruby text 5 Global Attributes
<rt> 루비 텍스트 콤포넌트 – ruby text component 5 Global Attributes
<s> 중간라인 텍스트 – strikethrough text 4 -
<samp> 샘플 컴퓨터 코드 – sample computer code 4 / 5 Global Attributes
<script> 스크립트 – script 4 / 5 async | type | defer | src | charset
<section> 섹션 – section 5 cite
<select> 선택 가능한 리스트 – selectable list 4 / 5 autofocus | data | disabled | form | multiple | name
<small> 작은 텍스트 – small text 4 / 5 Global Attributes
<source> 미디어 리소스 – media resources 5 media | src | type
<span> 내부 섹션 – inline section 4 / 5 Global Attributes
<strike> 중간라인 텍스트 – strikethrough text 4 -
<strong> 굵은 글씨 – strong text 4 / 5 Global Attributes
<style> 스타일 선언 – style definition 4 / 5 media | type | scoped
<sub> 아래 첨자 – subscripted text 4 / 5 Global Attributes
<sup> 위 첨자 – superscripted text 4 / 5 Global Attributes
<table> 테이블 – table 4 / 5 Global Attributes
<tbody> 테이블 body – table body 4 / 5 Global Attributes
<td> 테이블 쉘 – table cell 4 / 5 colspan | rowspan | headers
<textarea> 텍스트 text area 4 / 5 autofocus | cols | disabeld | form | name | readonly | required | rows | maxlength | placeholder | wrap
<tfoot> 테이블 풋터 – table footer 4 / 5 Global Attributes
<th> 테이블 헤더 – table header 4 / 5 colspan | rowspan | scope
<thead> 테이블 헤더 – table header 4 / 5 Global Attributes
<time> 날자 시간 – date / time 4 / 5 Global Attributes
<title> 문서 타이틀 – document title 4 / 5 -
<tr> 테이블 행 – table row 4 / 5 Global Attributes
<tt> 텔레 타이프 텍스트 – teletype text 4 -
<u> 텍스트 밑줄 – underlined text 4 -
<ul> 비정렬 리스트 – unordered list 4 Global Attributes
<var> 변수 – variable 4 / 5 Global Attributes
<video> 비디오 – video 5 src | poster | autobuffer | autoplay | loop | controls | width | height
<xmp> preformatted text 4 -

 

둘러보다 괜찮은정보인거같아 퍼다날랏습니다.ㅋ

'web standard > html5' 카테고리의 다른 글

[펌]2011년 웹디자인 트렌드 - WDL  (0) 2011.01.10
HTML5와 HTML4의 차이점  (0) 2010.04.26
HTML5의 모든것  (0) 2010.04.26
Posted by 수라
web standard/mobile2010. 7. 5. 10:48

사이트 서핑하다 찾은 바람의 이야기 님 블로그 글 스크랩입니다.

아이폰용 웹 개발 가이드 설명입니다.

문제 발생시 삭제하도록 하겠습니다.


========================================================================================================


iPhone용Safari는 Viewport라는 개념을 가지고 있습니다
기본 Viewport의 넓이는 980px로 설정되어 있어서 780px의 웹페이지에서는 200px의 여백이 생기며가변 웹페이지의 경우에는 980px로 자동 설정 됩니다

iPhone의 실제 화면 사이즈는 세웠을경우 320x480px 눞힐경우 480x320px이므로 기본 980px으로 표시한 경우 PC의 1/3~1/2 정도의 크기로 축소되어 표시됩니다
그때문에 페이지를 처음 표시했을때는 글자가 작아서 읽을수 없다거나 하는 경우가 있습니다
iPhone용Safari에는 이 Viewport를 조작할수 있는 Meta Tag가 있습니다
지금부터 PC에서 접속에는 영향을 주지않고 iPhone에서 보기 좋은 웹페이지를 만드는 방법을 알아 봅시다

Viewport의 설정방법

<html>
<head>
<meta name="viewport" content="[property]=[value](, [property]=[value])">

・・・
</head>
<body>
・・・
</body>
</html>

위 코드의 [property],[value]에 아래의 프로파티와 값을 설정합시다.

property value
내용 단위,지정방법 기본값 허용범위 ETC
width Viewport넓이 px 980px 200~10,000px 「device-width*」 를 값으로 지정 가능
height Viewport높이 px 넓이와 지정된 비율에 의해 계산된 값 200~10,000px 「device-height*」를 값으로 지정 가능
initial-scale 배율의 초기값 곱수로 지정
(예:120%의경우1.2)
표시단위에서 계산되는 값 minimum-scale~maximum-scale
minimum-scale 배율의 최소값 곱수로 지정 0.25 0~10
maximum-scale 배율의 최대값 곱수로 지정 1.6 0~10
user-scalable 확대,축소의 가능여부 --(yes / no) yes -- no(확대,축소불가)를 지정할 경우 글자를 입력할때 스크롤도 불가능해짐

*device-width은iPhone을 눕혔을 경우에도 320px, device-height은iPhone을세워서 들었을 경우에도480px이 됩니다.

아래와 같은 코드를 사용할 경우
Viewport의 넓이가 iPhone의 디스플레이 사이즈로, 처음 표시할 배율은 1, 2배까지 확대 가능
이라는 의미가 된다!

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">


용어 정리
viewport
Viewport의 메타 태그에서 지정한 값 또는 뒤에 Safari가 계산한 값. initial-scale/width/height의 3개.
contents(크기)
HTML에 설치한 contents의 크기
document(크기)
여백을 포함시킨 HTML전체의 크기. (윈도우보다도 클 경우는, 스크롤하여 보여기는 부분을 포함한 전체의 크기.)
window(크기)
iPhone용Safari에서contents를 표시 할 수 있는 영역.세로의 경우 320x356px、가로일 경우 480x208px。
표시 영역
iPhone용Safari에서 배율에 따라 컨텐츠를 표시할 수 있는 영역. 세로의 경우에 배율 1에서는 320x356px, 배율 2에서는 160x178px, 배율 0.5에서는 640x712px.

iPhone용Safari의 묘사 프로세스

현재, 실측한 예로부터 추측할 수 있는 iPhone용Safari의 묘사 프로세스를 아래와 같이 정리 할수 있습니다.
  • initial-scale을 지정한 경우
    1. 초기값보충:viewport width = 0(viewport height = 0)(특별히 높이,넓이를 지정하지 않은 경우)
    2. 표시영역 산출:표시영역 = window크기 / initial-scale
    3. document크기:표시영역과contents와viewport의최대값
    4. 묘사:결정되어진 document크기,initial-scale로 묘사
  • initial-scale을 지정하지 않은경우
    1. 초기값보충:viewport width = 980px, viewport height = 1091px(특별히 높이,넓이를 지정하지 않은 경우)
    2. document크기결정:contents와viewport의최대값
    3. 배율산출:document가window에 다 들어갈수 있도록 initial-scale를 계산(세로와 가로중 큰쪽의 initial-scale를 적용)
    4. 묘사:결정되어진 document크기,initial-scale로 묘사

주의점

  • contents보다 작은 viewport width/height를 설정하면 무시된다.
  • viewport에서 initial-scale을 설정하지 않고 width/height를 설정하면 전체화면이 표시된다.
  • viewport에서 initial-scale도 width/height도 설정하지 않으면 width=980px/height=1091px이 된다.
  • 표시영역과 contents의 크기가 일치하지 않을때 initial-scale를 설정하면, 의도하지 않은 layout가 발생한다.



================================================================================================


출처 : 바람의 이야기 블로그 http://windsaga.tistory.com/8
Posted by 수라
web standard/script2010. 5. 13. 16:11
출처 : http://www.dillerdesign.com/experiment/DD_belatedPNG/
js파일 다운로드

<!--[if IE 6]>
<script src="/inc/js/DD_belatedPNG_0.0.8a-min.js"></script>
<script>
  /* EXAMPLE */
  DD_belatedPNG.fix('.png_bg');
 
  /* string argument can be any CSS selector */
  /* .png_bg example is unnecessary */
  /* change it to what suits you! */
</script>
<![endif]-->


[example]
<img src="" class="png_bg" alt="" />


이하원본================================================================================================

IE6만 쓰던 시절엔 png투명이미지를 아예 쓸 생각을 하지않았는데, IE6이하를 제외한 거의 모든 브라우저,

심지어 IE조차 7부터는 png24 투명/반투명이미지를 지원하기에 단지 IE6때문에 유용한 png파일 사용을 못하기엔 안타깝다는 생각이 많이 든다.

 

예전부터 크게 두가지 방법이 있긴 했다.

1. DXImageTransform.Microsoft.AlphaImageLoader어쩌고로 시작하는 방법

배경에는 속성(repeat,position)적용이 안됨, 물론 배경이 아닌 단순한 이미지를 삽입하거나 배경에 repeat과 같은 속성이 필요없을시에는 요긴하게 쓰일수도있다.


2. iepngfix.htc 이런식의 IE전용인 .htc파일을 불러들여 IE에서만 읽고 실행하는 방법.

이방법이 계속 발전해서 투명 png 배경이미지속성까지 제어가 가능한 이곳의 버전2를 사용하기위해서는

기 본적인 .htc파일과 css 배경 속성지원을 위한 .js파일 그리고 blank.gif 라는 작은 투명이미지등이 필요해 약간 귀찮아 보이긴 하지만, .img나 background에 관련된 css속성 지원, 투명png hover지원등 거의 완벽하게 IE6에서 png24투명이미지를 보통의 gif 나 jpg 파일처럼 쓸수있게되었다.

그 런데 문제는 투명이미지의 경우 바로 투명으로 뜨지않고, 일전의 형식(이미지의 투명한 부분이 회색바탕으로 나오는)으로 우선 보였다가 .js 화일을 읽어들이고 나서야 투명이 되기때문에 페이지를 열었을때 깜박이는 fliker 현상이 일어난다는 점.

그리 가볍지도 않은 .js,.htc 파일을 항상 로드해야된다는점 등이 아쉬운점이었다.

 


위의 두가지 방법외에 몇가지 새로운 소스들이 있어 소개해 본다.

   

 Unit PNG Fix

2kb바이트도 채 안되는 자바스크립트 한줄의 추가로 모든것이 해결되는 정말 좋은 소스라고 생각된다.

   1: <!--[if lt IE 7]>
   2:         <script type="text/javascript" src="unitpngfix.js"></script>
   3: <![endif]-->

IE filter로 인한 깜박이는 문제(fliker) 해결, 자동으로 페이지 내 모든 투명이미지에 적용, auto width, auto height, background repeat 속성지원등 괜찮은 소스이다.

그러나 간혹 jquery를 이용한 dropdown menu 나 slide toggle 등이 z-index를 이용해 png배경위에 놓였을때 펼쳐지지 않을 때가있음이 발견되었고, background-position은 지원이 되지않는다.

IE6만을 위한 코드이므로 IE5.5 이하의 버전에서는 어찌될지 모르겠다.

우선 원하는 페이지에 적용해보고 이상이 없다면, 현재로선 가장 간단한 방법이 아닌가 싶다.

 

 Achieve alpha transparency in IE6 without the need of an HTTP request

별도의 자바스크립트를 추가하기 원하지 않는 사람들을위해 예전에 사용하던 1번방식이 좀더 발전된 소스라고 보면 되겠다.

   1: * html * { behavior: expres\sion( (this.runtimeStyle.behavior = "none") 
   2: && 
   3: (this.currentStyle.backgroundImage.toString().toLowerCase().indexOf('.png')>-1) 
   4: && ( this.runtimeStyle.filter = 
   5: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + 
   6: this.currentStyle.backgroundImage.toString().replace('url("','').replace('")','') 
   7: + "', sizingMethod='crop')", this.runtimeStyle.zoom = 1, 
   8: this.runtimeStyle.backgroundImage = "none" ) ); } 

CSS에 이런식으로 넣어주면 한꺼번에 페이지내 모든 투명 배경이미지를 제어할수있다.

발견된 문제점으로는 투명png 배경이미지가 있는 레이어위에 z-index로 다른 레이어를 얹었을때 그안에 있는 모든 링크나 버튼들이 클릭이 안된다는 점이다.

투명배경위에 링크나 메뉴버튼을 넣을 필요가 없는 경우엔 유용한 소스라고 할수있다.

 



Jquery plug-in을 이용한 투명이미지 출력방법도 몇가지 있다.

 

  jquery IE6 png transperency fix

해당싸이트에가서 jqPngFix.zip파일을 다운받아 적용한다. 배경은 지원이 되지않으며, 싸이트내 단순 .img 태그에만 적용한다.

   

jquery.pngFix.js PNG-Transparency

IE 5.5와 6을 지원하며, background에도 png를 적용할수있으나, repeat이나 position속성등은 쓸수없고

예전의 그것과는 약간 다른 느낌의 fliker현상이 발견되었다.

항상 png이미지가 포함되는 요소의 width와 height를 지정 해주어야 한다.

 

iFixPng improved

background-position은 지원하나 repeat은 지원이 안된다. 최신 버전에서는 background-position을 퍼센티지로도 지정할수있다.

 

 

 

마지막으로 jquery 플러그인은 아니지만 현재 블로그에 적용하고있는 소스를 소개해본다. 

 적용했었는데, 텍스트큐브엔 자바스크립트를 업로드 할수없어 다른데서 끌어쓰다가 그냥 없애버렸기때문에 현재 IE6에서는 블로그 투명테두리가 안보이도록 바꿔버렸다.

 DD_belatedPNG

7kb가량의 자바스크립트를 로드해야되지만(7kb가 무겁다는 얘기는 절대 아니다), 셀랙트박스, 라디오버튼, 이미지hover, javascript animation등에도 자유자재로 png투명이미지를 배경이나 버튼이미지로 넣을수있다.

광범위한 지원과 더불어 개발자의 끊임없는 업데이트도 눈에 띈다.

물론 fliker현상도 없다!


개인적으로는 첫번째와 마지막 소스를 추천하고싶다.
Posted by 수라
web standard/script2010. 5. 12. 11:32
http://jsbeautifier.org/

css unpacker
http://www.digitalcoding.com/tools/css-beautifier.html
Posted by 수라
web standard/script2010. 5. 4. 15:59
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus" />
<meta name="Author" content="" />
<meta name="Keywords" content="" />
<meta name="Description" content="" />
<script type="text/javascript">
/* <![CDATA[ */
curMenu = -1;
timer = 0;
goInterval = 1500;
function goMenu(menuNum) {
    var menuBox = document.getElementById('menu').childNodes;
    var contBox = document.getElementById('cont').childNodes;
    for(i=0;i<menuBox.length;i++){
        var menuItem = menuBox[i].getElementsByTagName("a")[0];
        if(i == menuNum){
            menuItem.style.color = "red";
            contBox[i].style.display = "block";
        }else{
            menuItem.style.color = "#222";
            contBox[i].style.display = "none";
        }
    }
    curMenu = menuNum;

    if (timer == 0){
        t=setTimeout("goNext();",goInterval);
        timer = 1;
    } else if (timer == 1) {
        clearTimeout(t);
        t=setTimeout("goNext();",goInterval);
    }
}
function goPrev() {
    var menuBox = document.getElementById('menu').childNodes;
    menuLink = menuBox.length - 1;
    curMenu--;
    if(curMenu < 0) {
        curMenu = menuLink;
    }
    goMenu(curMenu);
}

function goNext() {
    var menuBox = document.getElementById('menu').childNodes;
    curMenu++;
    if(curMenu == menuBox.length) {
        curMenu = 0;
    }
    goMenu(curMenu);
}
/* ]]> */
</script>
<style type="text/css">
* {list-style:none;font-size:12px;color:#333333;font-family:gulim;}
a {text-decoration:none;}
ul {float:left;}
li {float:left;margin-right:10px;height:20px;}

ul#menu li a {color:#999999;}
div#cont {}
div#cont div {display:none;}
</style>
</head>

<body>
<ul id="menu">
    <li><a href="javascript:goMenu(0);">메뉴0</a></li>
    <li><a href="javascript:goMenu(1);">메뉴1</a></li>
    <li><a href="javascript:goMenu(2);">메뉴2</a></li>
    <li><a href="javascript:goMenu(3);">메뉴3</a></li>
    <li><a href="javascript:goMenu(4);">메뉴4</a></li>
</ul>
<ul id="nav">
    <li><a href="javascript:goPrev();">이전</a></li>
    <li><a href="javascript:goNext();">다음</a></li>
</ul>
<br style="clear:both;" />
<div id="cont">
    <div>내용0</div>
    <div>내용1</div>
    <div>내용2</div>
    <div>내용3</div>
    <div>내용4</div>
</div>
<script type="text/javascript">goNext();</script>
</body>
</html>

Posted by 수라