참고 : http://ichbintaeeun.tistory.com/16

모바일, 태블릿 프로젝트를 하다보니, 변수가 이만저만이 아니다.

안드로이드, IOS 디바이스마다 맞춰주는 것이 여간 피곤한게 아니다.

이럴때보면 오히려 크로스브라우징이 그나마 나은 거구나 하는 생각이 들 정도다.


모바일에서는 체크박스나 라디오버튼의 디폴트 사이즈가 작아 터치하는데 애로사항이 있다.

그냥 width="15px";height="15px" 이렇게 css에 박아주면? 일단 갤럭시 S3에선 통과!

그런데 문제는 먹는 디바이스가 있고, 안먹는 디바이스가 있는 것이다. 한마디로 일관되게 적용되지 않는 다는 것!

그래서 보통 선택 전 이미지와 선택 후 이미지로 대체해서 퍼블리싱을 하는 경우가 많다.


대표적인 예로 다음 모바일의 로그인 페이지이다.


Daum 이용약관 동의, 개인정보 수집 및 이용 동의 체크 부분을 background 속성을 이용해서 작성되어있다.

하지만 굳이 이미지로 박지않아도, CSS를 이용해서 체크박스의 스타일을 변경할 수 있다.



HTML

<input type="checkbox" id="divECI_ISDVSAVE" class="checkbox-style" /><label for="divECI_ISDVSAVE">담당자 정보를 계속 저장</label>
    

// 반드시 input의 id와 label의 for값을 맞춰 작성해야한다.


CSS

input[type=checkbox] {  
    display: none;  
}

input[type=checkbox] + label{
    display: inline-block;  
    cursor: pointer;  
    position: relative;  
    padding-left: 25px;  
    margin-right: 15px;  
    font-size: 13px;
}

input[type=checkbox]+ label:before {     

    content: "";  
    display: inline-block;  
  
    width: 20px;  
    height: 20px;  
  
    margin-right: 10px;  
    position: absolute;  
    left: 0;  
    bottom: 1px;  
    background-color: #ccc;  
    border-radius: 2px; 
    box-shadow: inset 0px 1px 1px 0px rgba(0, 0, 0, .3), 0px 1px 0px 0px rgba(255, 255, 255, .8);  
}
input[type=checkbox]:checked + label:before { 

    content: "\2713";  /* 체크모양 */
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .2);  
    font-size: 18px; 
    font-weight:800; 
    color: #fff;  
    background:#2f87c1;
    text-align: center;  
    line-height: 18px;  

} 

// css를 설명하자면, label 옆의 checkbox를 보이지않게 한 후, 가상요소 :before를 이용하여 체크박스자리에 원하는 모양으로 체크박스를 만들어주는 것이다.

그리고 역시 :checked를 이용하여, 체크됐을 때의 모양도 꾸며주면 끝!



참고사이트 http://www.hongkiat.com/blog/css3-checkbox-radio/


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


자바스크립트를 사용하지 않고 CSS로만 적용한 Checkbox, Radio Buttons

IE는 기존 체크박스, 라디오 버튼처럼 보이고 FF, Chrome 등에서 사용가능


출처 : http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/quick-tip-easy-css3-checkboxes-and-radio-buttons/

radio_checkbox_css.zip


The final result

 <!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
    </head>
    <body>
        <div id="show">
            <h1>Easy CSS3 Checkboxes and Radio Buttons</h1>
            <input type="checkbox" id="c1" name="cc" />
            <label for="c1"><span></span>Check Box 1</label>
            <p>
            <input type="checkbox" id="c2" name="cc" />
            <label for="c2"><span></span>Check Box 2</label>
            <p><br/>
            <input type="radio" id="r1" name="rr" />
            <label for="r1"><span></span>Radio Button 1</label>
            <p>
            <input type="radio" id="r2" name="rr" />
            <label for="r2"><span></span>Radio Button 2</label>
        </div>
    </body>
</html>

 

 

nstore_app_list.zip


참고 : http://nstore.naver.com


 

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Insert title here</title>

<style>
body, input, textarea, select, button, table {
    font-family: '돋움',Dotum,Helvetica,sans-serif;
    font-size: 12px;
}
ul {list-style:none;}
a {text-decoration:none;}

.lst_thum_wrap {}
.lst_thum_wrap .lst_header {height:35px; margin:22px 19px 0;}
.lst_thum_wrap .lst_thum {width:670px; margin:0; padding:0 0 0 43px; position:relative; border-bottom:1px solid #e1e1e1;}
.lst_thum_wrap .lst_thum:after {display:block; clear:both; content:'';}
.lst_thum_wrap .lst_thum li {width:108px; margin:0; padding:0 26px 23px 0; float:left; position:relative; vertical-align:top;}
.lst_thum_wrap .lst_thum li .mask {display:block; overflow:hidden; position:absolute; width:102px; height:102px; background:url('images/sp_mask.png') no-repeat -325px 0;}
.lst_thum_wrap .lst_thum li .ico {top:-10px; left:-12px; position:absolute; z-index:20; width:41px; height:41px; background:url('images/sp_sub_common.png') no-repeat; font-style:normal;}
.lst_thum_wrap .lst_thum li .ico_new {background-position: -184px -299px;}
.lst_thum_wrap .lst_thum li .ico_free {background-position: -92px -299px;}
.lst_thum_wrap .lst_thum li .ico_gift {background:url('images/sp_ico.png') no-repeat -120px 0;}
.lst_thum_wrap .lst_thum li .ico_vari {line-height:22px !important; font-family:Tahoma !important; font-size:10px; font-weight:bold; padding-top:8px; color:#fff; height:41px; background-position:-46px -299px; text-align:center;}
.lst_thum_wrap .lst_thum li a img {width:101px; height:101px; margin:1px 0 5px 1px;}
.lst_thum_wrap .lst_thum li a img + strong {padding:5px 0 0; line-height:18px; word-break:break-all; display:block; color:#000; white-space:normal;}
.lst_thum_wrap .lst_thum li .writer {display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}
.lst_thum_wrap .lst_thum li .score {margin:0 0 0 -1px; display:inline-block; position:relative; width:61px; height:12px; background:url('images/sp_sub_common.png') no-repeat -732px -249px; vertical-align:middle; font-size:11px; font-weight:bold; color:#333;}
.lst_thum_wrap .lst_thum li .score span {display:block; overflow:hidden; position:relative; height:12px; background:url('images/sp_sub_common.png') no-repeat -732px -232px; line-height:999px;}
.lst_thum_wrap .lst_thum li .score_num {display:inline-block; position:relative; top:1px; font-weight:bold; font-size:11px; color:#333; vertical-align:middle; font-style:normal; left:-2px;}
.lst_thum_wrap .lst_thum li .price {display:block; margin: 4px 0 0 -2px; line-height:16px; text-align:left; white-space: normal;}
.lst_thum_wrap .lst_thum li .price strong {word-break:break-all; color:#1b8ffc;}
</style>

</head>
<body>

<div class="lst_thum_wrap">
 <div class="lst_header">
  <h3>금주의 인기게임</h3>
 </div>
 <ul class="lst_thum">
  <li>
   <a href="#" title="앱이름">
    <span class="mask"></span>
    <em class="ico ico_new"></em>
    <img src="images/app1.png" />
    <strong class="bb">[건비트2] 음악 게임의 신세계</strong>
   </a>
   <span class="writer">카테고리</span>
   <span class="score">
    <span style="width:84%;">평점</span>
   </span>
   <em class="score_num">4.2</em>
   <span class="price">
    <strong>무료</strong>
   </span>
  </li>
  <li>
   <a href="#" title="앱이름">
    <span class="mask"></span>
    <em class="ico ico_new"></em>
    <img src="images/app2.png" />
    <strong class="bb">[건비트2] 음악 게임의 신세계</strong>
   </a>
   <span class="writer">카테고리</span>
   <span class="score">
    <span style="width:84%;">평점</span>
   </span>
   <em class="score_num">4.2</em>
   <span class="price">
    <strong>무료</strong>
   </span>
  </li>
  <li>
   <a href="#" title="앱이름">
    <span class="mask"></span>
    <em class="ico ico_free"></em>
    <img src="images/app3.png" />
    <strong class="bb">[건비트2] 음악 게임의 신세계</strong>
   </a>
   <span class="writer">카테고리</span>
   <span class="score">
    <span style="width:84%;">평점</span>
   </span>
   <em class="score_num">4.2</em>
   <span class="price">
    <strong>무료</strong>
   </span>
  </li>
  <li>
   <a href="#" title="앱이름">
    <span class="mask"></span>
    <em class="ico ico_gift"></em>
    <img src="images/app4.png" />
    <strong class="bb">[건비트2] 음악 게임의 신세계</strong>
   </a>
   <span class="writer">카테고리</span>
   <span class="score">
    <span style="width:84%;">평점</span>
   </span>
   <em class="score_num">4.2</em>
   <span class="price">
    <strong>무료</strong>
   </span>
  </li>
  <li>
   <a href="#" title="앱이름">
    <span class="mask"></span>
    <img src="images/app5.png" />
    <strong class="bb">[건비트2] 음악 게임의 신세계</strong>
   </a>
   <span class="writer">카테고리</span>
   <span class="score">
    <span style="width:84%;">평점</span>
   </span>
   <em class="score_num">4.2</em>
   <span class="price">
    <strong>무료</strong>
   </span>
  </li>
  <li>
   <a href="#" title="앱이름">
    <span class="mask"></span>
    <em class="ico ico_new"></em>
    <img src="images/app6.png" />
    <strong class="bb">[건비트2] 음악 게임의 신세계</strong>
   </a>
   <span class="writer">카테고리</span>
   <span class="score">
    <span style="width:84%;">평점</span>
   </span>
   <em class="score_num">4.2</em>
   <span class="price">
    <strong>무료</strong>
   </span>
  </li>
  <li>
   <a href="#" title="앱이름">
    <span class="mask"></span>
    <em class="ico ico_vari">51%</em>
    <img src="images/app7.png" />
    <strong class="bb">[건비트2] 음악 게임의 신세계</strong>
   </a>
   <span class="writer">카테고리</span>
   <span class="score">
    <span style="width:84%;">평점</span>
   </span>
   <em class="score_num">4.2</em>
   <span class="price">
    <strong>무료</strong>
   </span>
  </li>
  <li>
   <a href="#" title="앱이름">
    <span class="mask"></span>
    <img src="images/app8.png" />
    <strong class="bb">[건비트2] 음악 게임의 신세계</strong>
   </a>
   <span class="writer">카테고리</span>
   <span class="score">
    <span style="width:84%;">평점</span>
   </span>
   <em class="score_num">4.2</em>
   <span class="price">
    <strong>무료</strong>
   </span>
  </li>
  <li>
   <a href="#" title="앱이름">
    <span class="mask"></span>
    <em class="ico ico_new"></em>
    <img src="images/app9.png" />
    <strong class="bb">[건비트2] 음악 게임의 신세계</strong>
   </a>
   <span class="writer">카테고리</span>
   <span class="score">
    <span style="width:84%;">평점</span>
   </span>
   <em class="score_num">4.2</em>
   <span class="price">
    <strong>무료</strong>
   </span>
  </li>
  <li>
   <a href="#" title="앱이름">
    <span class="mask"></span>
    <em class="ico ico_new"></em>
    <img src="images/app10.png" />
    <strong class="bb">[건비트2] 음악 게임의 신세계</strong>
   </a>
   <span class="writer">카테고리</span>
   <span class="score">
    <span style="width:84%;">평점</span>
   </span>
   <em class="score_num">4.2</em>
   <span class="price">
    <strong>무료</strong>
   </span>
  </li>
  <li>
   <a href="#" title="앱이름">
    <span class="mask"></span>
    <em class="ico ico_new"></em>
    <img src="images/app11.png" />
    <strong class="bb">[건비트2] 음악 게임의 신세계</strong>
   </a>
   <span class="writer">카테고리</span>
   <span class="score">
    <span style="width:84%;">평점</span>
   </span>
   <em class="score_num">4.2</em>
   <span class="price">
    <strong>무료</strong>
   </span>
  </li>
  <li>
   <a href="#" title="앱이름">
    <span class="mask"></span>
    <img src="images/app12.png" />
    <strong class="bb">[건비트2] 음악 게임의 신세계</strong>
   </a>
   <span class="writer">카테고리</span>
   <span class="score">
    <span style="width:84%;">평점</span>
   </span>
   <em class="score_num">4.2</em>
   <span class="price">
    <strong>무료</strong>
   </span>
  </li>
 </ul>
</div>

</body>
</html>

 

 

+ Recent posts