맑은 하늘 아래에서 활동하는 스스로에게
한가지 물어봤답니다.
넌 지금 뭐하고 지내니? 라고 말입니다.
아무런 대답이 없었죠. 당연하겠죠?
그래서 곰곰이 생각했습니다. 나는 뭐하고 지내나….
전혀 떠오르지 않아 머리가 어지럽게 되었을 때
음악 하나를 들었어요.
김건모 시인의 마을



이 뮤직과 같이라면 나쁘지 않을 것 같아요.
들어보세요. 멋진 뮤직을 추천해보겠습니다.
그럼 시작할게요.
이 노래는 어느누구와 감상해도 좋네요. 김건모 시인의 마을
시작합니다.,



반려견이 아파해가지고 병원을 발빠르게 갔답니다.
아파오면 여러모로 골이 아파요.
돈은 잔뜩 들기도한데다 말도 못하는 게
어디? 어느곳이 아픈건가 잘 모르니까
전 애간장이 마구 탄답니다.
애 하나를 보호하는 것과 비슷하다고 하니까요.
그저 그냥 간단하게 검사같은것을 했습니다.


다행인게 크나큰 병은 아니어가지고 대충 자알 넘어갔네요.
휴우~ 십년감수 했어요.
그리고 안고 돌아오는중인데
강쥐가 기운 없이 축~하고 쳐져 있었습니다.
안타까우니까 정말 좋아하는 고기를 줬죠.
당연히 인간이 먹는 거 아니랍니다.
그랬더니 말이죠 다행히도 잘 먹네요.
그런 후 아리아를 들려줬어요.
이해를해줄까 안 할지 모르겠지만, 제 자신도 들어볼 겸 말입니다.
그러했더니 저의 기분을 알아채준 건가
환상적인 노랫노래를 이해하니까 그런가
어느새 잠이 드네요. 귀여워….


그렇게 정신이 하나 없는 하루를 보냈습니다.
아~ 그래도 뮤직만큼은 좋네요.
멘탈이 부숴졌던 개도 고요하게 만들어준다는 노래.
사람 맘이야 오죽 안정되겠나요.
괴로웠지만 이렇게 조용히 감상하니까
스트레스가 사르르 녹아내립니다.

'Language > JQueryMobile' 카테고리의 다른 글

JQueryMobile 속성표  (0) 2011.03.06
JQueryMobile UI - ListView ...  (0) 2011.03.06

Page

 

요소 특성 개요
div data - role page 페이지

설정 기본 비고
data - fullscreen true 전체 화면
false *
data - theme 임의 a 기본 테마는 a ~ c


Header

요소 특성 개요
div data - role header 헤더

Page 포함

설정 기본 비고
data - nobackbtn true Back 버튼 자동 표시
(되지 않는 것)
false *
data - position inline *  
fixed   화면 하단에 고정 표시
data - theme 임의 a 기본 테마는 a ~ c


Content

요소 특성 개요
div data - role content 페이지 내용

Page 포함

설정 기본 비고
data - theme 임의 a 기본 테마는 a ~ c


Footer

요소 특성 개요
div data - role footer 바닥글

Page 포함

설정 기본 비고
data - position inline *  
fixed   화면 하단에 고정 표시
data - id 임의   여러 Page에 동일한 Footer을 정의한다. 화면 전환시 화면이 사라지지 않는다.

동일한 data - id를 가진 Footer를 자식 요소없이 정의한다.

(필수 data - position)

※ 자식 요소는 동일한 data - id를 가진 HTML 마지막으로 정의한다.

(다른 좋은 방법이 있는지 알 수 없음)

class ui - bar   바닥글 요소의 자동 패딩
data - theme 임의 a 기본 테마는 a ~ c


Navigation Bar

요소 특성 비고
div data - role navbar 화면 전환시 화면이 사라지지 않는다. Footer 요소에 포함한다.
data - id의 차이점은 Footer 내용을 미묘하게 바꾸는 것이 가능 (필수 data - position)


Page Link

요소 특성 개요
a - -

효과와 함께 화면 전환한다.

링크된 Page 요소를 # id로 지정하거나 URL을 상대 경로 지정으로한다.

다음 중 하나를 지정하면 일반 링크된다.

rel : external

target : _blank

data - request - type : http

설정 기본 비고
data - transition slide * 화면 전환 효과
slideup  
slidedown  
pop  
fade  
flip  
data - request - type http   일반 링크


Dialog

요소 특성 개요
a data - rel dialog 링크를 대화로 표시한다.

Page 요소를 # id로 지정하거나 URL을 상대 경로 지정으로한다.

설정 기본 비고
data - transition slideup   대화 효과
pop *
flip  


Button

요소 특성 개요
input type button 버튼
submit
reset
image
a data - role button

설정 기본 비고
data - icon arrow - l   아이콘 종류
arrow - r  
arrow - u  
arrow - d  
delete  
plus  
minus  
check  
gear  
refresh  
forward  
back  
grid  
star  
alert  
info  
data - iconpos left * 아이콘 위치
right  
notext  
class ui - btn - left * 버튼 위치
ui - btn - right  
ui - btn - active   선택 상태
data - theme 임의 a 기본 테마는 a ~ c


Inline

요소 특성 개요
div data - inline true 여러 요소를 1 줄로 표시한다.
false


Control Group

요소 특성 개요
div data - role controlgroup 여러 요소를 그룹화한다.

Button, Radio, Checkbox 요소 등

설정 기본 비고
data - type vertical * 세로로 그룹화
horizontal   가로로 그룹핑


Grid

요소 특성 비고
div class ui - grid - a ui - grid - a는 가로 2 분할, ui - grid - b는 가로 3 분할.

자식으로 div 요소의 class : ui - block - a - ui - block - c에 대응한다.

ui - grid - b
fieldset class ui - grid - a
ui - grid - b
data - theme 임의 a 기본 테마는 a ~ c


Collapsible

요소 특성 비고
div data - role collapsible 개폐 가능한 블록. 제목이 필수 (h1 ~ h6 요소)

설정 기본 비고
data - state collapsed   초기 표시를 닫은 상태로
data - theme 임의 a 기본 테마는 a ~ c


Fieldcontain

요소 특성 비고
div data - role fieldcontain Form의 자식 요소를 묶으면 외형이 약간 변화하지만 상세 불명.
(화면 크기가 바뀌었을 때 위치 조정?)
fieldset


Form Elements

요소 특성 비고
input type text 텍스트 입력
password 암호 입력
search 검색창
range 범위 입력
radio 라디오 버튼

label 요소가 필요합니다. label의 for 속성 radio 요소의 id를 설정한다.

checkbox 확인란

label 요소가 필요합니다. label의 for 속성에 checkbox 요소의 id를 설정한다.

select - - 셀렉트 박스 입력

모든 option 요소가 Dialog 형식으로 표시되지 않는 경우 Page 형식으로 표시한다.

data - role slider 플립 토글 스위치

option 요소를 2 개를 필요가있다.

textarea - - 텍스트 영역 입력

설정 기본 비고
data - theme 임의 a 기본 테마는 a ~ c


List

요소 특성 비고
ul data - role listview 목록

(List / Read - only List)

ol data - role listview 번호 매기기 목록

(Numbered List)

설정 기본 비고
data - inset true   목록 화면 너비로 포장하지 않는다
false *
data - filter true   목록에서 검색을 검색 상자 표시
false *
data - theme 임의 a 기본 테마는 a ~ c


기타 ※ li 요소 등에 대한 지정. 여러 조합 가능

목록 형식 조건 비고
링크 매기기 목록

(Linked List)

자식 요소 a 요소를 포함 링크 표시
상자 목록

(Nested List)

자식 요소 ul 요소를 포함 목록을 중첩
구분 단추 목록

Split button List

자식 요소 a 요소 img 요소, h1 ~ h6 요소, p 요소 등 목록에 여러 요소를 표시하는
분할 목록 li 요소 data - role : list - divider를 지정한다. 목록 제목보기
카운트 버블 자식 요소 span 요소를 마신다. span 요소에 class : ui - li - count를 지정한다. 카운트보기
파일 자식 요소에 img 요소를 포함 파일보기
아이콘 자식 요소에 img 요소를 포함한다. img 요소에 class : ui - li - icon을 지정한다. 아이콘 더보기
레이블 자식 요소 h1 ~ h6 요소를 포함한다. 레이블을 표시하려면
비고 자식 요소 p 요소를 포함한다. 레이블 아래 비고보기
보충 자식 요소 p 요소를 포함한다. p 요소에 class : ui - li - aside를 지정한다. 오른쪽 상단에 보충보기
출처 :

'Language > JQueryMobile' 카테고리의 다른 글

김건모 시인의 마을  (0) 2017.01.05
JQueryMobile UI - ListView ...  (0) 2011.03.06

자바스크립트 모바일 프레임웍 하면 가장 먼저 관심을 가지게되는 것은 무엇일까요? 대부분의 분들이 아마도 얼마나 멋지고 많은 UI를 제공하는지가 가장 관심의 대상일 것입니다. 이것은 매우 자연스러운 결과라고 생각되는데 가장 먼저 사람들에게 보여지는 부분이기 때문입니다. 일반적인 사용자는 내부 구조나 동작 방식에 대해서는 별 관심이 없고 관심 가질 이유도 없기 때문이겠죠. 얼마나 이쁘고 화려하고 멋진 UI 로 내가 원하는 컨텐츠를 제공하는가가 일반 사용자에게는 최고의 관심거리이고 사용자를 만족시켜야하는 개발자는 우선적으로 프레임웍을 바라볼 때 기본 제공되는 UI에 관심을 가질 수 밖에 없습니다.


이런 저런 이유로 UI 는 매우 중요하면서도 늘 이슈의 중심에 있습니다. 이번 강좌에서는 바로 jQueryMobile 이 기본 제공하는 UI 부분에 대해서 알아보도록 하겠습니다.


UI 는 다뤄야하는 분량이 매우 많기 때문에 하나의 강좌에서 모두 다루지 못하고 몇번에 걸쳐 나누어 연재될 예정입니다. 강좌를 올리는 기본 단위를 일주일로 하고있지만 UI 부분은 조금 더 자주 강좌를 올릴 생각입니다. 



ListView



화면의 크기가 제한적인 모바일 앱의 UI 에서 가장 많이 사용하는 UI 컨트롤은 ListView일 것입니다. 매우 일반적이고 중요한 컨트롤인 만큼 쓰임도 다양하고 구성 방법도 다양합니다. 먼저 가장 기본적인 형태부터 차근 차근 익혀나가보도록 하겠습니다.



ListView - 기본형 / Read-only list



listview_01.gif 



ListView 는 기본적으로 목록 컨텐츠 입니다. 그렇기 때문에 HTML 마크업중 목록을 표현하는 <UL> <OL> 태그를 사용합니다. 물론 data-role 속성을 지정해 줘야 jQueryMobile 이 지원하는 ListView 로 랜더링되어서 표시되겠지요? 


첫번째 예제를 보면 <UL> 태그에 data-role 속성을 listview로 지정한 것을 보실 수 있습니다. 사실 data-role="listview" 속성을 제외한다면 일반적인 <UL> 마크업과 완전히 100% 동일합니다. 결과적으로 오른쪽의 모양으로 랜더링되어 표시됩니다. 가장 간단한 형태의 ListView 이고 jQueryMobile 에서는 좀더 특별하게 클릭되어 동작되지 않는 ListView 라하여 Read-only list 라고 부릅니다.



ListView - Inset



listview_02.gif 


기본형 ListView 는 좌측 여백이 전혀 없이 표시됩니다. 하지만 우리가 일반적으로 봐왔던 ListView는 상하좌우에 약간의 여백이 존재하는 형태였습니다. 더불어 리스트목록 모서리느 둥근 모양을 취하고 있죠. 이런 모양은 어떻게 만들 수 있을까요? 


두번째 예제를 보시면 간단히 이런 형태를 만들 수 있습니다. <UL> 태그에 data-inset 속성을 추가해줌으로서 가능합니다. 지정하지 않았을 경우 기본값은 false 이고 위의 예제처럼 true 로 기본값을 바꿔주면 자주 접하던 모서리가 둥근 모양을하고 사방에 약간의 여백을 가진 ListView 가 만들어집니다. 




ListView - Sub header or Divider



listview_03.gif 


ListView 목록중 특정 항목은 대표성을 부여하고 다르게 표시하고 싶다면 어떻게 해야할까요? 대표적인 형태가 연락처 목록인데요 'ㄱ' 으로 시작하는 연락처, 'ㄴ' 으로 시작하는 연락처등으로 구분되는 형태입니다. 예제와 같이 'Apple' 항목은 푸른색으로 다르게 표시됩니다. 


지금까지 <UL> 태그에 속성을 부여했다면 이번에는 개별 항목별로 속성을 부여해야하기 때문에 <LI> 태그에 속성을 부여해야합니다. 예제와 같이 data-role 속성에 list-divider 값을 줌으로서 부타이틀 또는 분할자 (Divider) 아이템을 지정할 수 있습니다. 이 속성을 이용하면 연락처 같은 형태의 목록을 만들 수 도 있고 또는 많은 목록을 그룹화하여 그룹의 타이틀 역할로 만들 수 도 있습니다. 



ListView - Link


listview_04.gif 


지금까지의 예제 ListView 는 모두 Read-only 였습니다. 즉 클릭해도 아무런 변화가 없는 목록이었는데요 목록을 클릭해서 다음 화면으로 이동하려면 어떻게 하는지 알아보겠습니다. 


화면을 전환하기 위해서 사용하는 일반적인 방법으로 <A> 태그를 사용합니다. <LI> 태그 안쪽의 컨텐츠를 <A> 태그로 링크를 만들어주면 아주 간단하게 클릭되어 화면전환할 수 있는 ListView 가됩니다. 또한 이런 항목은 예제의 결과에서 보시는 것 처럼 오른쪽 끝단에 작은 화살표 아이콘이 표시되어 클릭되지 않는 항목과 구분해줍니다.


그리고 읽기전용과는 다르게 상하 여백이 생겨 약간 더 폭이 넓게 랜더링됩니다. 



ListView - 목록에 일련번호 넣기


listview_05.gif 


이번 예제는 잘 쓰이지는 않지만 그래도 간혹 필요한 경우가 있는 기능입니다. ListView 항목에 일련번호를 표시하려면 어떻게 해야할까요? jQueryMobile 은 아주 쉬운 방법을 제공해줍니다. 눈치 빠른 분이라면 벌써 아실텐데, ListView 를 구성하는 <UL> 태그와 <OL> 태그의 성격을 아신다면 쉽게 사용하실 수 있습니다.


<UL>은 순서없는 목록태그, <OL>은 순서있는 목록태그입니다. 즉 <UL> 을 <OL> 로 바꿔만주면 jQueryMobile 은 ListView 각 항목의 <LI> 항목에 예제 결과와 같이 일련 번호를 표시해줍니다. 


일련 번호를 표시하기 위해 컨텐츠 자체에 번호를 넣지 않아도됩니다.




ListView - Split


listview_06.gif 


이번에는 조금 더 복잡한 형태의 ListView 를 만들어보도록 하겠습니다. 복잡하다고 해도 구성 원리만 안다면 복잡한 구성도 간단하게 만들 수 있습니다. 예제 결과와 같은 ListView 는 어떤 원리로 만들어지는 것일까요? 먼저 항목의 구성 요소를 먼저 보도록 하겠습니다.


Google 내용을 표시하는 항목은 세개의 구성요소로 이루어져있습니다. Google 이라는 단어와 Google inc 라는 단어 그리고 별표 아이콘입니다. 마크업 코드를 보면 <LI> 태그에 모두 차례로 마크업되어있습니다. 


자 그럼 어떤 방식으로 각각 결과처럼 랜더링 될까요? 원리는 매우 간단합니다. <LI> 태그 내에는 두개의 <A> 태그가 올 수 있습니다. 그리고 각각 첫번째 나타는 <A> 태그는 왼쪽에 표시되고 - 결과화면의 Google - 두번째 <A> 태그는 오른쪽에 표시됩니다. 아주 간단하죠? 그리고 링크가 아닌 일반 텍스트는 첫번째 <A> 링크 아래에 줄바꿈 되어 표시됩니다. 예제에서는 <P> 태그내의 텍스트가 되겠습니다. 


그런데 이상한 점이 있습니다. 두번째 <A> 링크의 텍스트는 분명 Google 인데 결과 화면에는 별표 아이콘으로 표시되었습니다. 무슨 일이 벌어진걸까요? 해답은 <UL> 태그의 새로운 속성을 보면 알 수 있습니다.


<UL> 태그에는 두개의 속성이 추가되어있는데 각각 data-split-icon 속성과 data-split-theme 속성입니다. Split ListView 는 두번째 <A> 링크를 항상 아이콘으로 랜더링 하게 되어있습니다. 따라서 두번째  <A> 링크의 텍스트는 text-indent 속성에 마이너스 값이 지정되어 화면에 표시되지 않습니다. 대신 data-split-icon 에 지정된 아이콘이 표시됩니다. 아이콘 값은 jQueryMobile 이 기본 지원되는 많은 아이콘이 있는데 이는 테마 강좌를 할 때 자세히 설명하도록 하겠습니다. data-split-theme 는 테마를 지정합니다. 간단하게 a, b, c, d, e 다섯가지 테마를 지정할 수 있는데 각각 다른 컬러 값을 가집니다. 이 또한 테마 강좌에서 자세히 다뤄보도록 하겠습니다.



ListView - Count


listview_07.gif 


메일함을 보여주는 앱에서 흔히 볼 수 있는 숫자가 표시된 ListView를 만들어보도록 하겠습니다. 역시나 아주 간단하게 만들 수 있는데요 예제와 같이 <span> 태그를 추가하고 <span> 태그의 class 속성에 ui-li-count 를 지정해주면 됩니다. ui-li-count 스타일은 jQueryMobile 이 제공하는 스타일 입니다.



ListView - Aside text


listview_08.gif 


오른쪽에 부가정보를 표시해야할 때가 있습니다. 이 경우도 예제와 같이 간단하게 처리할 수 있습니다. class 속성에 ui-li-aside 를 지정해주면 됩니다. 그러면 예제 결과화면처럼 표시됩니다. 이때 주목해 봐야 할 것이 있는데 <LI> 태그 내의 컨텐츠가 각각 어느 위치에 랜더링 되는가 입니다. 지금까지 설명한 각 각의 항목들을 유심히 지켜보신 분들은 쉽게 아실 수 있으리라고 판단되어 자세한 설명은 하지 않도록 하겠습니다.



ListView - icon


listview_09.gif 


좀더 모양을 꾸미기위해 아이콘 같은 이미지를 삽입하려면 어떻게 해야할까요? 예제와 같이 <IMG> 태그를 삽입해서 아이콘을 삽입할 수 있습니다. 그런데 반드시 <IMG> 태그의 class 속성에 ui-li-icon 값을 지정해줘야합니다. 왜 그럴까요? 헤더 텍스트의 위치정렬 때문에 그렇습니다. 아이콘은 기본적으로 20픽셀 이하의 작은 크기인데 텍스트는 이보다 더 큰 경우가 많아서 정확히 한줄로 랜더링 되기 힘듭니다. 따라서 ui-li-icon 이라고 명시해 줌으로서 정렬을 보다 정교하게 할 수 있습니다.


이와는 반대로 아이콘이 아닌 섬네일 크기의 큰 이미지를 삽입할 경우는 ui-li-icon 속성을 주면 안됩니다. 이 경우는 그냥  <IMG> 태그만을 삽입해서 해결할 수 있습니다.

 

출처 :

'Language > JQueryMobile' 카테고리의 다른 글

김건모 시인의 마을  (0) 2017.01.05
JQueryMobile 속성표  (0) 2011.03.06

+ Recent posts