RadarURL

웹 프로그래밍
2014.07.03 11:04

컨텐츠 세로 가운데 정렬

조회 수 1635 추천 수 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

?

공부 게시판

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

  1. [공지] 공부 게시판 입니다.

    Date2003.08.18 By처누 Views928121
    read more
  2. [apache] HTTP/HTTPS 리다이렉트(Redirect/Rewrite) 하는 방법

    Date2025.09.11 Category웹서버,WAS ByJaeSoo Views0
    Read More
  3. http를 https로 리다이렉트하는 여러가지 방법

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views0
    Read More
  4. SSL인증서 없이 HTTPS에서 HTTP로 되돌리기

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views2
    Read More
  5. [SSL] win-acme, Let's encrypt로 무료 SSL 인증서 발급

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views0
    Read More
  6. [SSL] Windows 10에서 Let's Encrypt로 SSL 인증서 무료 발급받기

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views0
    Read More
  7. 무료로 https SSL/TLS 인증서를 발급받을 수 있는 인증 기관

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views0
    Read More
  8. 아파치 서버에 https SSL 인증서 적용하는 방법 (apache httpd)

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views0
    Read More
  9. 아파치2(Apache2) SSL HTTPS 적용하기

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views0
    Read More
  10. 아파치 웹서버에 멀티 도메인에 대한 80, 443 포트 설정하는 방법

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views0
    Read More
  11. Google Photo 대신 Immich를 써보자

    Date2025.08.07 Category소프트웨어 ByJaeSoo Views127
    Read More
  12. 남자 혹은 여자 진국 팁

    Date2025.07.24 Category연애 ByJaeSoo Views117
    Read More
  13. MBTI검사 16가지 유형 “간단 명료”하게 정리!

    Date2025.07.01 Category기타 ByJaeSoo Views133
    Read More
  14. [사진관리] PhotoPrism vs LibrePhoto 비교 소감

    Date2025.05.19 Category소프트웨어 ByJaeSoo Views14
    Read More
  15. MDF실, TPS실, EPS실 이게 뭘까?

    Date2025.04.15 Category네트워크 ByJaeSoo Views33
    Read More
  16. 알아두면 좋은 직장인 용어 정리

    Date2025.04.15 Category업무 ByJaeSoo Views37
    Read More
  17. 감기·독감·코로나19의 차이점, 신촌연세병원과 함께 알아봅시다.

    Date2025.01.08 Category건강 ByJaeSoo Views29
    Read More
  18. 집주인이 전세 보증금을 돌려주지 않을 때

    Date2024.11.29 Category생활 ByJaeSoo Views26
    Read More
  19. 자전거 타이어 종류 및 추천 2편 (승차감 타이어, 국토종주!)

    Date2024.10.15 Category자동차 ByJaeSoo Views53
    Read More
  20. 오도바이 센타 사장들은 어떤 브랜드를 싫어하고 좋아할까? [출처] 오도바이 센타 사장들은 어떤 브랜드를 싫어하고 좋아할까?|작성자 바이크신

    Date2024.10.15 Category자동차 ByJaeSoo Views78
    Read More
  21. 윈도우 자동 로그온 설정이 보이지 않을 때 조치사항

    Date2024.08.16 Category윈도우즈 ByJaeSoo Views203
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 124 Next
/ 124


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

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

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

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

JServer.kr

제이서버 메타블로그

재수 티스토리


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

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너