RadarURL

웹 프로그래밍
2014.07.03 11:04

컨텐츠 세로 가운데 정렬

조회 수 2169 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

정말 오랜만의 포스팅!!
오늘은 컨텐츠 세로 가운데 정렬을 가지고 글을 씁니다. 자~유~롭~게~
다른분에게 배운겁니다. 배운거라기보다는, 벤치마킹해서 분석해밨습니다.
널리(?) 알려진 position 을 이용한 방식은 아닙니다.


2063783683.gif

위 이미지처럼 이미지 및 텍스트가 여러줄인경우, 박스도 늘어나면서, 세로 중앙정렬을 유지하고,

2724021360.gif

위 이미지처럼 텍스트가 한줄일때에도 세로 가운데에 위치하도록 유지하는 UI 개발 기법을 소개해보겠습니다.

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">  
  3.     <head>  
  4.     <meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />  
  5.     <style type="text/css">  
  6.         * {  
  7.             margin:0;  
  8.             padding:0;  
  9.             border:0;  
  10.         }  
  11.         body {  
  12.             color:#545454;  
  13.             background:#fff;  
  14.             font:12px/18px '돋움', Dotum, sans-serif;  
  15.         }  
  16.         div {  
  17.             width:232px;  
  18.             min-height:80px;  
  19.             margin:20px;  
  20.             padding:10px 10px 10px 0;  
  21.             padding-left:100px;  
  22.             background:url('img_error.gif') no-repeat 10px 50%;  
  23.             border:4px solid #980101;  
  24.         }  
  25.         span {  
  26.             display:inline-block;  
  27.             width:0;  
  28.             height:80px;  
  29.             overflow:hidden;  
  30.             background:#f00;  
  31.             vertical-align:middle;  
  32.         }  
  33.         ul {  
  34.             list-style:none;  
  35.             display:inline-block;  
  36.             vertical-align:middle;  
  37.         }  
  38.     </style>  
  39.     <!--[if lte ie 7]>  
  40.         <style type="text/css">  
  41.             div {_height:80px;}  
  42.             ul {  
  43.                 display:inline;  
  44.                 zoom:1;  
  45.                 text-indent:-12px;  
  46.             }  
  47.         </style>  
  48.     <![endif]-->  
  49.     <title>텍스트 가운데 정렬</title>  
  50.     </head>  
  51.     <body>  
  52.         <div>  
  53.             <span></span>  
  54.             <ul>  
  55.                 <li>아이스크림 아이스크림 아이스크림 1개 </li>  
  56.                 <!--  
  57.                 <li>아이스크림 아이스크림 아이스크림 2개 </li>  
  58.                 <li>아이스크림 아이스크림 아이스크림 3개 </li>  
  59.                 <li>아이스크림 아이스크림 아이스크림 4개 </li>  
  60.                 <li>아이스크림 아이스크림 아이스크림 5개 </li>  
  61.                 <li>아이스크림 아이스크림 아이스크림 6개 </li>  
  62.                 <li>아이스크림 아이스크림 아이스크림 7개 </li>  
  63.                 <li>아이스크림 아이스크림 아이스크림 8개 </li>  
  64.                 <li>아이스크림 아이스크림 아이스크림 9개 </li>  
  65.                 -->  
  66.             </ul>  
  67.         </div>  
  68.     </body>  
  69. </html>  


코드는 위와 같습니다. 글로 코드하나하나를 설명하기가 좀 힘드네요 ㅠㅠ 사실 말로도 하기 힘든 다소 복잡한 코드입니다.
위코드에게 문제제기을 해본다면 빈태그를 사용했다는 점과, 익스만을 위한 스타일 정의를 사용했다는 점을 꼽을 수 있습니다.
하지만 크로스브라우징을 위해서라면 반드시 필요한 요소이고, 요즘엔 또 작업시 어쩔수없이 필요한 경우에는 유두리있게 사용하자는
트렌드이기때문에, 그리 크게 신경쓸 부분은 아닙니다. 핵심 코드를 설명해보겠습니다.


  1.   {  
  2.    display:inline-block;  
  3.    vertical-align:middle;  
  4.   }  


spanul 에 공통적으로 넣은 스타일입니다.
주로 img 태그에 사용되던 vertical-align:middle; 을 사용하기 위해서는,
태그의 스타일 속성에 display:inline-block; 을 넣어줘야 합니다. 그럼 신기하게도 텍스트가 박스의 가운데에 위치를 하게됩니다.


  1.  <!--[if lte ie 7]>  
  2.   <style type="text/css">  
  3.    div {_height:80px;}  
  4.    ul {  
  5.     *display:inline;  
  6.     *zoom:1;  
  7.     text-indent:-12px;  
  8.    }  
  9.   </style>  
  10.  <![endif]-->  


익스플로러6 과 익스플로러7 을 지원해주기 위하여 추가로 코드를 넣줍니다.
zoom:1 코드를 사용하였는데 이 코드에 대해서 자신있게 설명을 못하기때문에 다른곳에서 배우셔야겠습니다 ㅡㅡㅋ
익스만을 위한 코드는 사용하지 말아야한다고 배워와서 아예 관심갖지 않았던 코드입니다.
그냥 익스6등에서 float 을 해제하기위한 용도로만 알고있습니다. 그런데 이번 코드는 float 요소도 없는데, 필요하답니다.
게다가 *display:inline; , *zoom:1; 이 둘중 하나라도 없게되면 바로 오류가 나버립니다. 항상 같이 존재해야합니다.
세로 가운데 정렬을 하기위한 요소이기때문에 어떻게 다른식으로 고쳐볼 방법이 없더군요;;
display:inline 속성을 사용했기때문에 공백도 발생합니다. 그래서 text-indent 속성을 사용해서 앞으로 땡겨주어 공백을 없앴습니다.

글을 작성하는 와중에도 계속 쑤셔보고있지만 봐도봐도 신기한 코드입니다 ㅎㅎ
아마 제가 이렇게 작성해도 이해가 전혀 안갈겁니다. 저두 그런데요 모~
아래 첨부파일도 같이 남기니 분석하는데 도움이 되었으면 하네요..




출처 : http://webdical.com/blog/304

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 936035
2527 건강 올바른 자위습관을 가져야 하는 이유 newfile JaeSoo 2026.01.12 1
2526 연애 대한민국 결정사 직업 등급표 file JaeSoo 2026.01.09 9
2525 생활 알아두면 유용한 향수 향 종류 모음 JaeSoo 2026.01.09 9
2524 업무 로그인 구글 드라이브 안 쓰고 시놀로지 드라이브 쓰는 이유, 설정 방법 & 활용팁 JaeSoo 2026.01.08 9
2523 네트워크 SMB 다중 채널 관리 JaeSoo 2026.01.08 5
2522 네트워크 Synology NAS SMB 3.0 Multichannel 이용하기 JaeSoo 2026.01.08 6
2521 네트워크 어떻게 SSH를 통해 root 권한으로 DSM/SRM에 로그인할 수 있습니까? JaeSoo 2026.01.08 5
2520 네트워크 시놀로지 나스 SMB 3.0 멀티채널 구성하는법 JaeSoo 2026.01.08 7
2519 경제 RWA(Real-World Assets): 실물자산 토큰화 이해 JaeSoo 2026.01.05 9
2518 생활 그루밍성범죄와 가스라이팅 차이점, 처벌 수위 알아보기 JaeSoo 2025.12.23 64
2517 건강 전문의가 추천하는 자위 횟수 file JaeSoo 2025.12.23 66
2516 모바일 일상에 쉽게 적용할 수 있는 수면 관리 앱 5가지 JaeSoo 2025.12.18 108
2515 건강 매일 밤에 머리 감으면 일어나는 일ㅣ탈모 전문가가 알려주는 충격적인 진실ㅣ김주용 원장 1편ㅣ닥터딩요 JaeSoo 2025.12.11 102
2514 건강 다친 손가락에 끼우는 실리콘 손가락 file JaeSoo 2025.12.11 97
2513 연애 성적 취향에 대하여... JaeSoo 2025.12.09 219
2512 연애 fwb(Friends with Benefits)에 대해 JaeSoo 2025.12.09 180
2511 건강 자위가 잠자는 데 도움이됩니까? 알아봅시다! JaeSoo 2025.12.09 172
2510 건강 야동 실태보고서 JaeSoo 2025.12.09 167
2509 건강 불면증 해결을 위한 자위 활용 JaeSoo 2025.12.09 225
2508 연애 변호사가 보아온 상간남들의 공통점 file JaeSoo 2025.11.25 264
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 127 Next
/ 127


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너