폴더블 폰 모바일웹 브라우저 해상도 정보

기종 Viewport
화면 사이즈 (W x H)
해상도 Phys. (W x H) 인치 DPR
(Device Pixel Ratio)
 Galaxy Flip4  412 x 1006 1081.5 x 2640.75    
 Galaxy Flip3   384 x 939  1080 x 2640
 260 x 512
6.7 2.8125
 Galaxy Flip2  

6.7  
 Galaxy Flip  412 x 1004  1080 x 2636
 112 x 300

6.7
 
 Galaxy Z Fold3  접힌화면 320 x 872
 넓은화면 674 x 842
 접힌화면 840 x 2289
 넓은화면 1769.25 x 2210.25
  2.625
 Galaxy Z Fold2  884 x 1104  1768 x 2208 7.6 2
 Galaxy Fold  768 x 1076  1536 x 2152 7.3 2
         
         
         

 

 

반응형

jQuery 사용하여 이중탭 구현



html

<div class="login">
  <!-- contents -->
  <div class="container">
    <div class="tit-box">
        <h2>로그인 폼</h2>
    </div>
  	<div class="tabonoff content-wrap">
      <!-- 탭메뉴 -->
      <ul id="tabMenu" class="jq_tab tab-menu">
        <li>
          <a href="javascript:void(0);" class="tit"><span>A 타입</span></a>
        </li>
        <li>
          <a href="javascript:void(0);" class="tit"><span>B 타입</span></a>
        </li>
      </ul>
      <!-- //탭메뉴 -->
      <div class="cont-wrap">
      <!-- 탭1_설치 -->
      <div class="tab-cont">
        <div class="tabonoff sub-tabs">
          <!-- dots_indicator -->
            <div class="dots">
              <a href="javascript:void(0);" class="on"></a>
              <a href="javascript:void(0);"></a>
              <a href="javascript:void(0);"></a>
            </div>
          <!-- //dots_indicator -->

        <!-- 서브_탭메뉴 -->
        <ul class="jq_tab jq_stabMenu stab-menu">
          <li class="active"><a href="javascript:void(0);" class="tit">ID/PW</a></li>
          <li><a href="javascript:void(0);" class="tit">로그인2</a></li>
          <li><a href="javascript:void(0);" class="tit">로그인3</a></li>
        </ul>
        <!-- //서브_탭메뉴 -->
      	<div class="cont-wrap cont-box">
            <!-- IDPW_탭1_1-->
            <div class="tab-cont">
                <div class="form-group">
                    <div class="input-box">
                        <div class="input">
                            <input type="text" title="아이디 입력" placeholder="아이디">
                        </div>
                        <div class="input">
                            <input type="password" title="패스워드 입력" placeholder="패스워드 입력">
                        </div>  
                    </div>
                  <div class="btn-wrap w100p">
                    <button class="id_loginCheck btn-sblue" type="button">로그인</button>
                  </div>
                  <div class="desc">
                    <p>※ 할당받은 ID를 입력하시면 로그인이 됩니다.</p>  
                  </div>
                </div>
            </div>
            <!-- //IDPW_탭1_1 -->
            <!-- 탭1_2 -->
            <div class="tab-cont">
              <div class="form-group">
              <div class="input-box pd">
                <div class="input">
                    <input type="text" title="사용자ID / 이메일" placeholder="사용자ID / 이메일">
                </div> 
                </div>
                <div class="btn-wrap">
                  <button class="id_register_fido btn-navy" type="button">등록</button>
                  <button class="id_loginCheck btn-sblue" type="button">로그인</button>
                  <button class="id_delete btn-gray" type="button">해지</button>
                </div>
                <div class="desc">
                    <p>※ 할당받은 ID를 입력하고 등록하시면 로그인이 됩니다.</p>  
                </div>
                </div>
            </div>
            <!-- //탭1_2 -->

        	<!-- 탭1_3 -->
        	<div class="tab-cont">
          		<div class="form-group">
                    <div class="input-box">
                        <div class="input">
                            <input type="text" title="아이디 입력" placeholder="아이디">
                        </div>
                      <div class="input">
                          <input type="password" title="패스워드 입력" placeholder="패스워드 입력">
                      </div>  
                    </div>
                    <div class="btn-wrap">
                      <button class="id_register_motp btn-navy" type="button">등록</button>
                      <button class="id_loginCheck btn-sblue" type="button" >로그인</button>
                      <button class="id_delete btn-gray" type="button">해지</button>
                    </div>
                	<div class="desc">
                    	<p>※ㅎㅎㅎ</p>  
                	</div>
                  </div>
                </div>
        		<!-- //탭1_3 -->
    			</div>
    		</div>
    	</div>
    	<!-- //탭1_설치 -->
    	<!-- 탭2_미설치 -->
    	<div class="tab-cont">
    		<div class="tabonoff sub-tabs">
              <!-- dots_indicator -->
              <div class="dots">
                <a data-dot="dot1" href="javascript:void(0);" class="on"></a>
                <a data-dot="dot2"  href="javascript:void(0);"></a>
                <a data-dot="dot3"   href="javascript:void(0);"></a>
              </div>
                <!-- //dots_indicator -->
                <!-- 서브_탭메뉴 -->
                <ul class="jq_tab jq_stabMenu stab-menu">
                  <li class="active"><a href="javascript:void(0);" class="tit">ID/PW</a></li>
                  <li><a href="javascript:void(0);" class="tit">FIDO2</a></li>
                  <li><a href="javascript:void(0);" class="tit">MOTP</a></li>
                </ul>
                <!-- //서브_탭메뉴 -->

                <div class="cont-wrap cont-box">
                    <!-- 탭2_1 -->
                    <div class="tab-cont">
                      <div class="form-group">
                        <div class="input-box">
                          <div class="input">
                              <input type="text" title="아이디 입력" placeholder="아이디">
                          </div>
                          <div class="input">
                              <input type="password" title="패스워드 입력" placeholder="패스워드 입력">
                          </div>  
                        </div>
                        <div class="btn-wrap w100p">
                            <button class="id_loginCheck btn-sblue" type="button">로그인</button>
                        </div>
                        <div class="desc">
                            <p>※ 할당받은 ID를 입력하시면 로그인이 됩니다.</p>  
                        </div>

                      </div>
                    </div>
                    <!-- //탭2_1 -->

                    <!-- 탭2_2-->
                    <div class="tab-cont">
                      <div class="form-group">
                        <div class="input-box pd">
                          <div class="input">
                              <input type="text" title="사용자ID / 이메일" placeholder="사용자ID / 이메일">
                          </div>
                        </div>
                        <div class="btn-wrap">
                          <button class="id_register_fido btn-navy" type="button" >등록</button>
                          <button class="id_loginCheck btn-sblue" type="button" >로그인</button>
                          <button class="id_delete btn-gray" type="button" >해지</button>
                        </div>
                        <div class="desc">
                          <p>※ sdd</p>  
                        </div>
                      </div>
                    </div>
                    <!-- //탭2_2 -->

      				<!-- 탭2_3 -->
      				<div class="tab-cont">
      					<div class="form-group">
                          <div class="input-box">
                            <div class="input">
                                <input type="text" title="아이디 입력" placeholder="아이디">
                            </div>
                            <div class="input">
                                <input type="password" title="패스워드 입력" placeholder="패스워드 입력">
                            </div>  
                          </div>
                          <div class="btn-wrap">
                            <button class="id_register_motp btn-navy" type="button" >등록</button>
                            <button class="id_loginCheck btn-sblue" type="button" >로그인</button>
                            <button class="id_delete btn-gray" type="button" >해지</button>
                          </div>
                          <div class="desc">
                            <p>※ aaaaa </p>  
                          </div>
      					</div>
    				</div>
    				<!-- //탭2_3 -->
  					</div>
  				</div>
  			</div>
  			<!-- //탭2_미설치 -->                 
  		</div>                      
  	</div>
  </div>
  <!-- //contents -->
</div>

 

script

<script>
$(document).ready(function(){
        
    // 이중탭
    $(".tabonoff > .cont-wrap").children().css("display", "none"); 
    $(".tabonoff > .cont-wrap div:first-child").css("display", "block");
    $(".tabonoff > .jq_tab li:first-child").addClass("on"); 

    $(".tabonoff").find(".jq_tab > li").on("click", function() { 
        var index = $(this).parent().children().index(this);
		
        $(this).siblings().removeClass();
        $(this).addClass("on");
       // console.log($(this).parent().children());
        $(this).parent().next(".cont-wrap").children().hide().eq(index).show();
    });

     // 설치/미설치 탭메뉴 이미지교체 
     $("#tabMenu > li").click(function(){
        var $this = $(this);
        $("#tabMenu > li").each(function(idx){
            var $li = $(this);
            $li.find("img").attr("src", $(this).find("img").attr("src").replace("_on","_off"));
        });
        $this.find("img").attr("src", $this.find("img").attr("src").replace("_off","_on"));
    });   

	// 서브_탭메뉴 > Dot Indicator 연결
	$(".jq_stabMenu li > a").on("click", function() {
		var index = $(this).parent().index();
		$(this).closest(".tabonoff").find(".dots > a").removeClass("on");
		$(this).closest(".tabonoff").find(".dots > a").eq(index).addClass("on");
	});
   
    //  Dot Indicator > 서브_탭메뉴 연결
    $(".dots > a").click(function(){
        var dotIndex = $(this).parent().children().index(this); 
        $(this).siblings().removeClass();
        $(this).addClass("on");
        // console.log(dotIndex); 
        $(this).closest(".tabonoff").find("li").eq(dotIndex).trigger("click");	
    });

    // '로그인'버튼 클릭이벤트
    $(".id_loginCheck").click(function(){
        location.href="./sub-main.html"
    });
    

});
</script>

css

.login .container{width:1280px; /*margin:0 auto;*/ margin-top:100px; margin-bottom:160px;}
.login .tit-box{margin-bottom:56px;}
.login .tit-box p{font-size:36px; color:#797979; margin-bottom:20px;}
.login .tit-box h2{font-size:60px; font-family:'NotoM';}

.login .content-wrap{display:block; clear:both;*zoom:1; width:1024px; margin:0 auto;}
.login .content-wrap:after{display:block; height:0;content:".";font-size:0;visibility:hidden;clear:both;}
.login .content-wrap .form-group{width:582px; margin:0 auto;}
.login .content-wrap>.tab-conts{display:block; float:left; width:100%;clear:both;color:#fff; width:1024px;}
.login .content-wrap .tab-menu{position:relative; width:440px; margin:0 auto; height:40px;}
.login .content-wrap .tab-menu::after{display:block; content:''; width:1px; height:36px; background:#b7b7b7; position:absolute; top:0; left:50%; transform:translateX(-50%);}
.login .content-wrap .tab-menu li::before{display:block; content:''; clear:both;}
.login .content-wrap .tab-menu li{float:left; width:45%; height:44px; font-size:30px; vertical-align:middle; font-family:'NotoM'; color:#a2a3a3;}
.login .content-wrap .tab-menu li:first-of-type{margin-right:5%;}
.login .content-wrap .tab-menu li:last-of-type{margin-left:5%;}
.login .content-wrap .tab-menu li.on{color:#2b2e38;}
.login .content-wrap .tab-menu li a{display:block; width:100%; text-align:center;}
.login .content-wrap .tab-menu li a img{vertical-align:middle;}
.login .content-wrap .tab-menu li:first-of-type a img{margin-right:15px;}
.login .content-wrap .tab-menu li:last-of-type a img{margin-left:20px;}
.login .content-wrap .tab-menu li a span{vertical-align:middle;}
.login .sub-tabs{display:block; clear:both; *zoom:1; padding:0 50px; /*margin-top:20px;*/ position:relative;}
.login .sub-tabs .stab-menu{width:800px; margin:0 auto; height:68px; padding:0 50px;}
.login .sub-tabs .stab-menu li::before{display:block; content:''; clear:both;}
.login .sub-tabs .stab-menu li{float:left; width:33.33%; height:66px;font-size:30px; color:#bec2c7; font-family:'NotoM';}
.login .sub-tabs .stab-menu li a{display:block; padding:20px 0;}
.login .sub-tabs .stab-menu li.on{color:#2b2e38; border-bottom:3px solid #2b2e38;}

.login .cont-box{position:relative; width:900px; margin:0 auto; border:1px solid #b7b7b7; height:420px;}

.login .form-group .btn-wrap{width:456px; margin:0 auto; margin-top:24px;}
.login .form-group .btn-wrap::after{display:block; content:''; clear:both;}
.login .form-group .btn-wrap button{width:148px; float:left;}
.login .form-group .btn-wrap button{color:#fff; font-size:26px; font-family:'NotoM'; padding:32px 0; line-height:1;}
.login .form-group .btn-wrap button + button{margin-left:6px;}
.login .form-group .btn-wrap.w100p{width:360px;}
.login .form-group .btn-wrap.w100p button{width:100%;}

.login .input-box{width:360px; margin:0 auto; margin-top:52px;}
.login .tab-cont .input-box.pd{padding:28px 0 10px 0;}

.login .input-box .input + .input{margin-top:14px;}
.login .input-box input{font-size:28px; /* padding:9px 12px;*/ width:100%; line-height:1; background:#fff; border-radius:0px; border:0; border-bottom:1px solid #cccccc; height:52px;}

.login .input-box input:focus, 
.login .input-box select:focus, 
.login .input-box select:focus{outline:1px solid transparent;}
.login .form-group .desc{font-size:20px; font-family:'NotoR'; color:#a1a2a4; margin-top:24px; line-height:1.1;}
.login .tab-cont{position:relative;}
.login .tab-cont .dots{width:100%; position:absolute; bottom:-40px; left:50%; transform:translateX(-50%);}
.login .tab-cont .dots a{display:inline-block; width:10px; height:10px; border-radius:50%; background:#c3cacf; transition:all .3s ease-in-out;}
.login .tab-cont .dots a.on{background:#428bf2;border-radius:50px; width:24px;}
.login .tab-cont .dots a + a{margin-left:12px;}
.login .content-wrap .tab-menu{margin-bottom:24px; margin-bottom:20px;}
.login .content-wrap .tab-menu{width:520px;}
.login .content-wrap .pt{padding-top:24px;}

 

반응형

'Librarys > Tabs' 카테고리의 다른 글

이중탭 레퍼런스  (0) 2019.05.28
탭(이중탭) 예제  (0) 2019.05.27

기존 모바일에서 확대 축소를 막기 위해선

 

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

코드만 추가해주기만 하면 정상적으로 작동이 됬습니다.

 

IOS 10 이후 새 기능으로 

 

To improve accessibility on websites in Safari, users can now pinch-to-zoom even when a website sets user-scalable=no in the viewport.

가 추가됨과 동시에 user-scalable=no 만으로는 아이폰 사파리에서 확대 축소가 불가능해졌습니다.

 

오늘은  css의 touch-action 으로 모바일 확대 축소 막는 방법을 알아보겠습니다.


touch-action: pan-y;

를 사용하게 되면 세로 터치는 가능하게 되고 전체 확대는 불가능하게 됩니다.

 

juyeol.tistory.com/30

 

[IOS] safari에서 확대 축소 막기

기존 모바일에서 확대 축소를 막기 위해선 코드만 추가해주기만 하면 정상적으로 작동이 됬습니다. IOS 10 이후 새 기능으로 To improve accessibility on websites in Safari, users can now pinch-to-zoom even..

juyeol.tistory.com

 

모바일 기기에서 화면이 확대/축소되지 않도록 설정하기

 

요즘 나오는 대부분의 워드프레스는 반응형(Responsive)으로 나오기 때문에 모바일 기기에서는 자동으로 모바일 버전이 표시됩니다. 모바일 버전에서 손가락을 벌리거나 오므리면 화면이 확대/축소되지 않도록 설정하려면 다음 코드를 header.php 파일에 추가하도록 합니다.

 

인터넷 익스플로러(IE) 10 버전에서 제대로 작동하지 않는 경우 -ms-content-zooming: none | zoom 구문을 사용합니다(여기 참고). 가령 다음과 같은 CSS 코드를 스타일시트 파일에 추가하도록 합니다.

 

html { -ms-content-zooming: none; -ms-touch-action: pan-x pan-y; } // Source: stackoverflow

 

Disable pinch to zoom in IE10

In IE10 touch mode I wish to make only a certain part of the page zoomable. The rest should not be. I found this: http://msdn.microsoft.com/en-US/library/ie/hh772044.aspx and tried to set -ms-touch-

stackoverflow.com

 

 

모바일 기기에서 가로로 스크롤되지 않도록 하기

모바일 장치에서 가로(수평)로 스크롤되지 않도록 하려면 다음과 같은 코드를 시도해봅니다.

body{ width:320px; // 혹은 적당한 크기 또는 100% overflow-x:hidden; }

이 내용은 더 이상 유효하지 않다고 Matthew님께서 알려주셨습니다. 아이폰, 스마트폰 미디어 쿼리는 "아이패드, 아이폰, 스마트폰 등의 모바일 기기에 사용 가능한 미디어 쿼리"를 참고해보시기 바랍니다.

 

 

big-blog.tistory.com/1448

 

모든 최신 브라우저에서 페이지 확대 / 축소 수준을 감지하는 방법은 무엇입니까?

모든 최신 브라우저에서 페이지 확대 / 축소 수준을 감지하는 방법은 무엇입니까? 모든 최신 브라우저에서 페이지 확대 / 축소 수준을 어떻게 감지합니까? 이 스레드 는 IE7 및 IE8에서 수행하는

big-blog.tistory.com

 

반응형

stackoverrun.com/ko/q/7854107

 

javascript - 터치 스크린 장치에 마우스를 감지 나는 장치가 터치 장치인지 여부를 감지하는 다음 �

: 나는 터치 기기를 사용하지 않을 경우에만 :hover 상태를 표시하려면이를 사용 var isTouchDevice = 'ontouchstart' in window || navigator.msMaxTouchPoints; if(isTouchDevice) { $('body').addClass('yes-touch'); } else { ...

stackoverrun.com

big-blog.tistory.com/4357

 

자바 스크립트로 터치 스크린 장치 감지

자바 스크립트로 터치 스크린 장치 감지 Javascript / jQuery에서 클라이언트 장치에 마우스가 있는지 어떻게 알 수 있습니까? 사용자가 항목 위로 마우스를 가져 가면 정보 패널이 약간 위로 미끄러�

big-blog.tistory.com

www.html5rocks.com/en/mobile/touchandmouse/

 

Touch And Mouse: Together Again For The First Time - HTML5 Rocks

This article describes techniques to support mouse and touch together.

www.html5rocks.com

m.blog.naver.com/PostView.nhn?blogId=b_feather&logNo=50117082290&proxyReferer=https:%2F%2Fwww.google.co.kr%2F%20%EC%B6%9C%EC%B2%98:%20https:%2F%2F202psj.tistory.com%2F1158%20%5B%EC%95%8C%EB%A0%88%ED%8F%B0%EB%93%9C%EC%9D%98%20IT%20%EC%9D%B4%EB%AA%A8%EC%A0%80%EB%AA%A8%5D

 

[javascript] 자바스크립트로 터치 이벤트 환경 및 접속 기기 감지하는 법

대부분의 사용자가 모바일 환경이 아닌 일반적인 PC web 인터페이스로 웹서비스에 접속하던 시절에는 방...

blog.naver.com

enterkey.tistory.com/364

 

모바일웹 터치 제스쳐 적용기 - [1] 터치 제스쳐 이해하기

FE(Front-End) 개발자에게 모바일웹 서비스 개발은 매우 까다로운 작업입니다. PC웹 환경은 디바이스 하드웨어 성능도 뛰어나며, 네트워크 속도도 기가(GIGA?) 막히게 빠릅니다. (물론 아직도 저사�

enterkey.tistory.com

모바일 사파리에서 터치를 시도하면 아래와 같은 이벤트가 순서대로 발생한다.

  touchstart - touchend - mouseover - mousemove - mousedown - mouseup - click

 

마우스가 존재하진 않지만, 내부적으로는 터치 이벤트 뿐만 아니라 마우스 이벤트도 발생하는 것을 볼 수 있다.
중요한 건, mouseover 시점에서 화면이 변경될 경우, 이벤트가 멈춘다는 것이다.
(이벤트 발생 프로세스의 자세한 내용은 Safari Developer Library의 Handling Events 챕터를 참고.)

위 문서에는 '화면이 변경(if the contents of page changes)'되는 것에 대한 명확한 정의는 없다.
테스트 해본 결과, '화면이 변경'된다는 것은 정확하게는 '레이아웃이 변경(reflow)'되는 것에 가까운 것 같다.
백그라운드가 변경된다거나, 레이아웃에 영향을 끼치지 않는 정도의 margin/padding이 변경되는 경우(repaint)에는 이벤트가 종료되지 않는다.

따라서, 두 번 클릭해야 실행되는 문제를 해결하기 위해서는,
터치 인터페이스에서는 mouseover 이벤트가 발생했을 때 화면 변경이 되지 않도록 해야 한다.

 

 

ohgyun.com/350

 

iPad hover 이슈 처리 방법

발생일: 2012.01.10 문제: 아이폰이나 아이패드와 같은 터치 디바이스에서는 PC와 다르게 hover(마우스 롤오버) 효과가 적용되지 않는다. '마우스' 개념이 없기 때문이다. 실제로 모바일 웹 페이지를 �

ohgyun.com

마우스를 시뮬레이션하기 위해 Webkit 모바일과 같은 브라우저는 사용자가 터치 스크린 (예 : iPad)에서 손가락을 뗀 경우 다음 이벤트를 발생시킵니다 (출처 : html5rocks.com의 Touch And Mouse ).

  1. touchstart
  2. touchmove
  3. touchend
  4. 300ms 지연, 브라우저는 이것이 두 번 탭이 아니라 한 번 탭인지 확인합니다.
  5. mouseover
  6. mouseenter
    • 참고 하십시오 경우 mouseover, mouseenter또는 mousemove이벤트 페이지 내용을 변경, 다음 이벤트가 실행되지 않습니다.
  7. mousemove
  8. mousedown
  9. mouseup
  10. click

단순히 웹 브라우저에 마우스 이벤트를 건너 뛰도록 지시하는 것은 불가능 해 보입니다.

더 나쁜 것은 마우스 오버 이벤트가 페이지 콘텐츠를 변경하는 경우 Safari 웹 콘텐츠 가이드-이벤트 처리 , 특히 One-Finger 이벤트의 그림 6.4에 설명 된대로 클릭 이벤트가 발생하지 않는다는 것 입니다. 정확히 "컨텐츠 변경"은 브라우저와 버전에 따라 다릅니다. iOS 7.0의 경우 배경색 변경은 콘텐츠 변경이 아닙니다 (또는 더 이상 변경되지 않습니까?).

qastack.kr/programming/8291517/disable-hover-effects-on-mobile-browsers

 

모바일 브라우저에서 호버 효과 비활성화

 

qastack.kr

 

반응형

1920x1080

Edge 브라우저 높이값 77px (상단 32px / 주소창 45px)

Firefox 브라우저 높이값 74px (상단 33px / 주소창 41px)

IE 브라우저 높이값 78px (상단 27px / 주소창 + 탭영역 51px)

Opera 브라우저 높이값 70px (상단 31px / 주소탕 49px)

Safari 브라우저 높이값 60px (상단 23 / 주소창 37

Chrome 브라우저 높이값 71px (상단 34px / 주소창 37px)

윈도우 10 기본 하단바 : 40px

1080px 높이값에서 55~77px 가려짐

 

결론 : 대략적으로 970~980 정도의 높이값을 웹디자인을 위해 사용가능

 

-------------------------------------------------------------------------------------

1600x900 

윈10 기본 하단바 40px

Chrome 상단바 103px

 

 

1366x768

윈10 기본 하단바 40px

Chrome 상단바 103px

 

 

 

아이폰 11 

해상도 414x896

사이즈: 828x1792 

DPR: 2.0

 

웹브라우저 컨텐츠 heigth : 896 - (92 + 82) = 722px

브라우저 (크롬)상단바 heigth : 92 px

하단 버튼바 heigth : 82px

 

폴더블 폰 모바일웹 브라우저 해상도 정보

기종 화면 사이즈 (W x H) 해상도 Phys. (W x H) DPR
(Device Pixel Ratio)
 
 Galaxy Flip3   384 x 939  1080 x 2640
 260 x 512
2.8125  
 Galaxy Flip2  

   
 Galaxy Flip  412 x 1004  1080 x 2636
 112 x 300


 
 Galaxy 폴드3  접힌화면 320 x 872
 넓은화면 674 x 842
 접힌화면 840 x 2289
 넓은화면 1769.25 x 2210.25

2.625  
 Galaxy 폴드2  884 x 1104  1768 x 2208 2  
 Galaxy 폴드1  768 x 1076  1536 x 2152 2  
         
         
         

 

 

 

IOS 해상도 DPR 브라우저
해상도 (px)
크롬  사파리 FireFox
컨텐츠 Height 상단Bar (px) 하단 버튼Bar (px) 컨텐츠 Height 상단Bar (px) 하단 버튼Bar (px) 컨텐츠 Height 상단Bar (px) 하단 버튼Bar (px)
iPhone 11 828 x 1792 2 414 x 896 722
724
92 82 717
719
95 84      
iPhoneX 1125 x 2436 3 375 x 812 632 92 88 633
635
95 84 632    
iPhone 7+ 1242 x 2208 3 414 x 736 620
622
45 71 620 45 71      
                    네이버
iPhone 6 750 x 1334 2 375 x 667       551 71 45      
iPad Air 2048 x 1536 2 1024 x 768 - - - 671 97 0 665 103 0
                         
                         
안드로이드 해상도
DPR
브라우저
해상도 (px)
크롬  삼성브라우저 Firefox     
컨텐츠 Height 상단Bar (px) 하단 버튼Bar (px) 컨텐츠 Height 상단Bar (px) 하단 버튼Bar (px) 컨텐츠 Height 상단Bar (px)  하단 버튼Bar (px) 
Galaxy Note 9 1440 x 2960 4 360 x 740 628 70 42 592 64 84      
      360 x 640 528 70 42 492 64 84      
Galaxy Tab Adbanced2   2 1280 x 800                  
                    네이버
Galaxy 제니레드 1080 x 2400 3 360 x 800             643 66 91
(46 + 45)
GalaxyS10 5G     412 725                
V20
(LG-F800K)
1440 x 2560 (1440 x  2392) 4 360 x 640 (360 x 598) 517
518
81 42 - - - 518 80 42
옵티머스 G2 (LG- F320K) 1080 x 1920    360 x 640 508
511
83 49 519          
        크롬            Firefox     
옵티머스 G 767 x 1280   384 x 640 558
559
82 0       567    
Galaxy S3     360 x 640                  

 

18:9(2:1)

  • 2160 x 1080
    • LG Q6, LG Q7
    • 구글 픽셀 3
  • 2880 x 1440 
    • LG G6
    • 구글 픽셀 2 XL,
    • LG V30, LG V35

 

18.5:9

  • FHD 1080 x 2220 (360 x 740)
    • Galaxy A8(2018)
    • Galaxy A8+(2018)
    • Galaxy A8 Star
    • Galaxy A9(2018)
  • QHD 1440 x 2960
    • Galaxy S8  (360 x 740)
    • Galaxy S8+
    • Galaxy S9  (360 x 740)
    • Galaxy S9+
    • Galaxy 노트8
    • Galaxy 노트9  (360 x 740)

 

19:9

  • HD 720 x 1520 (360 x 760)
    • Galaxy A10e 
  • FHD 1080 x 2280 (360 x 760)
    • Galaxy S10e
    • Galaxy 노트10
  •  QHD 1440 x 3040
    • Galaxy S10
    • Galaxy S10+
    • Galaxy S10 5G
    • Galaxy 노트10+

 

19.3:9

  • QHD 1440 x 3088
    • Galaxy 노트20 Ultra

 

20:9

  • FHD 1080 x 2400 (360 x 800)
    • Galaxy A70
    • Galaxy A80
    • Galaxy A90
    • Galaxy A21
    • Galaxy A31
    • Galaxy A41
    • Galaxy A51
    • Galaxy A71
    • Galaxy 노트20
  • QHD  1440 x 3200
    • Galaxy S20
    • Galaxy S20+
    • Galaxy S20 Ultra

 

19.5:9 (13:6)

  • 5.8 inch (2436 x 1125) - HDR AMOLED
    • iPhone X
    • iPhone XS
    • iPhone 11 Pro
  • 5.9 inch 1080 x 2340
    • 갤럭시 A40
  • 6.1 inch 3120 x 1440
    • LG G7 ThinQ - HDR IPS LCD
    • LG G8 ThinQ - HDR AMOLED
  • 6.4 inch - HDR AMOLED
    • LG V50S ThinQ (1080 x 2340)
    • LG V40 ThinQ (1440 x 3120)
    • LG V50 ThinQ (1440 x 3120)
  • 6.5 inch (2688 x 1242) - HDR AMOLED
    • Phone XS Max
    • iPhone 11 Pro Max

 

  • 6.1 inch (1792 x 828) - IPS TFT-LCD
    • iPhone XR
    • iPhone 11
  • 6.4 inch 1080 x 2340
    • 갤럭시 A9 Pro
    • 갤럭시 A30
    • 갤럭시 A50

 

 

20.5:9

  • FHD (2460 x 1080)
    • LG V60 ThinQ
    • LG VELVET
반응형

checkbox

html

<form>
  <fieldset>
    
    <legend>
      <h3>What type of accessibilty issues do you see most often?</h3>
    </legend>

    <div class="wrapper">
      <input id="a11y-issue-1" name="a11y-issues" type="checkbox" value="no-issues">
      <label for="a11y-issue-1">There are no issues.</label>
    </div>

    <div class="wrapper">
      <input id="a11y-issue-2" name="a11y-issues" type="checkbox" value="no-focus-styles">
      <label for="a11y-issue-2">Focus styles are not present.</label>
    </div>

    <div class="wrapper">
      <input id="a11y-issue-3" name="a11y-issues" type="checkbox" value="html-markup">
      <label for="a11y-issue-3">HTML markup is used in a bizarre way. Also, what happens if the label text is very looooooooong, like this one?</label>
    </div>
    
  </fieldset>
</form>

css

html {
  box-sizing: border-box;
  background: #f2f2f2;
  padding: 20px 50px
}

/* Inherit box-sizing to make it easier to change the property
 * for components that leverage other behavior.*/
*,
*::before,
*::after {
  box-sizing: inherit;
}

/*style form to limit width and highlight the long label*/
form {
    margin: 1rem auto;
    max-width: 750px;
}

/*style wrapper to give some space*/
.wrapper {
    position: relative;
    margin-bottom: 1rem;
    margin-top: 1rem;
}

/*style label to give some more space*/
.wrapper label {
    display: block;
    padding: 12px 0 12px 48px;
}

/*style and hide original checkbox*/
.wrapper input {
  height: 40px;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 40px;
}

/*position new box*/
.wrapper input + label::before {
  border: 2px solid;
  content: "";
  height: 40px;
  left: 0;
  position: absolute;
  top: 0;
  width: 40px;
}

/*create check symbol with pseudo element*/
.wrapper input + label::after {
  content: "";
  border: 4px solid;
  border-left: 0;
  border-top: 0;
  height: 20px;
  left: 14px;
  opacity: 0;
  position: absolute;
  top: 6px;
  transform: rotate(45deg);
  transition: opacity 0.2s ease-in-out;
  width: 12px;
}

/*reveal check for 'on' state*/
.wrapper input:checked + label::after {
  opacity: 1;
}

/*focus styles—commented out for the tutorial, but you’ll need to add them for proper use
.wrapper input:focus + label::before {
  box-shadow: 0 0 0 3px #ffbf47;  
  outline: 3px solid transparent;
}*/

https://codepen.io/tutsplus/pen/rqrpqw

 

Custom Accessible Checkboxes: Pseudo Element Check

Taken from [How to Make Custom Accessible Checkboxes and Radio Buttons](http://webdesign.tutsplus.com/tutorials/how-to-make-custom-accessible-checkboxe...

codepen.io

 

Custom Radio Button Styles

<form>
  <fieldset>
    
    <legend>
      <h3>What type of accessibilty issues do you see most often?</h3>
    </legend>

    <div class="wrapper">
      <input id="a11y-issue-1" name="a11y-issues" type="radio" value="no-issues">
      <label for="a11y-issue-1">There are no issues</label>
    </div>

    <div class="wrapper">
      <input id="a11y-issue-2" name="a11y-issues" type="radio" value="no-focus-styles">
      <label for="a11y-issue-2">Focus styles are not present</label>
    </div>

    <div class="wrapper">
      <input id="a11y-issue-3" name="a11y-issues" type="radio" value="html-markup">
      <label for="a11y-issue-3">HTML markup is used in bizarre way. Also, what happens if the label text is very looooooooong, like this one?</label>
    </div>
    
  </fieldset>
</form>
html {
  box-sizing: border-box;
  background: #f2f2f2;
  padding: 20px 50px
}

/* Inherit box-sizing to make it easier to change the property
 * for components that leverage other behavior.*/
*,
*::before,
*::after {
  box-sizing: inherit;
}

/*style form to limit width and highlight the long label*/
form {
    margin: 1rem auto;
    max-width: 750px;
}

/*style wrapper to give some space*/
.wrapper {
    position: relative;
    margin-bottom: 1rem;
    margin-top: 1rem;
}

/*style label to give some more space*/
.wrapper label {
    display: block;
    padding: 12px 0 12px 48px;
}

/*style and hide original checkbox*/
.wrapper input {
  height: 40px;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 40px;
}

/*position new box*/
.wrapper input + label::before {
  border: 2px solid;
  content: "";
  height: 40px;
  left: 0;
  position: absolute;
  top: 0;
  width: 40px;
  border-radius: 50%;
}

/*radio pseudo element styles*/
.wrapper input + label::after {
  content: "";
  opacity: 0;
  border: 10px solid;
  border-radius: 50%;
  position: absolute;
  left: 10px;
  top: 10px;
  transition: opacity 0.2s ease-in-out;
}

/*reveal check for 'on' state*/
.wrapper input:checked + label::after {
  opacity: 1;
}

/*focus styles*/
.wrapper input:focus + label::before {
  box-shadow: 0 0 0 3px #ffbf47;  
  outline: 3px solid transparent; /* For Windows high contrast mode. */
}

https://codepen.io/tutsplus/pen/XxBqwz

 

Custom Accessible Radio Buttons: Pseudo Element as Check

Taken from [How to Make Custom Accessible Checkboxes and Radio Buttons](http://webdesign.tutsplus.com/tutorials/how-to-make-custom-accessible-checkboxe...

codepen.io

 

https://webdesign.tutsplus.com/tutorials/how-to-make-custom-accessible-checkboxes-and-radio-buttons--cms-32074

 

 

How to Make Custom Accessible Checkboxes and Radio Buttons

Form elements like checkboxes and radio buttons look different depending on the user’s browser and operating system. For this reason designers and developers have long been styling their own...

webdesign.tutsplus.com

https://codepen.io/mpeace/pen/EKZqJP

 

Custom Checkboxes and Radio Buttons - Accessibility

Visually replace default system checkboxes and radio buttons with custom versions to allow for design consistency across browsers and platforms. - D...

codepen.io

https://m.blog.naver.com/PostView.nhn?blogId=qkrchgml4&logNo=220869883245&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

[Html/CSS] CSS를 이용하여 Tab menu 만들기

Tab menu를 만들기 위해서 구글링을 해본 결과 구글링은 없는 게 없다!! 찾아보니 만드는 방법은 여러 가...

blog.naver.com

https://www.w3.org/TR/2016/WD-wai-aria-practices-1.1-20160317/examples/radio/radio.html

 

ARIA Radio Group and Radio Example

Pizza Crust Regular crust Deep dish Thin crust

www.w3.org

https://www.w3.org/TR/2016/WD-wai-aria-practices-1.1-20160317/examples/radio/js/radio.js

 

반응형

https://tldrdevnotes.com/css-sass/vh-full-height-mobile-phones/

 

TLDR Dev Notes

100vh does not take into account the browser bar or the navigation menu. On iOS Safari and Google Chrome, the viewport will not resize in response to the URL being shown or hidden. This is a compromise by design, to avoid page jarring, reflows and relayout

tldrdevnotes.com

 

 

반응형

6

iPhone 11

/* 1792x828px at 326ppi */
@media only screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) { 
}

This media query is also for: iPhone XR


iPhone 11 Pro

/* 2436x1125px at 458ppi */ 
@media only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) { 
}

This media query is also for: iPhone X and iPhone Xs


iPhone 11 Pro Max

/* 2688x1242px at 458ppi */ 
@media only screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) { 
}

This media query is also for: iPhone Xs Max


Device orientation

To add landscape or portrait orientation, use the following code:

For portrait:

and (orientation : portrait)

For landscape:

and (orientation : landscape)

반응형

https://gist.github.com/needim/d15fdc2ac133d8078f7c

 

Device Specific CSS Media Queries Collection

Device Specific CSS Media Queries Collection. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

https://css-tricks.com/snippets/css/media-queries-for-standard-devices/

 

Media Queries for Standard Devices | CSS-Tricks

This page lists a ton of different devices and media queries that would specifically target that device. That's probably not generally a great practice, but it is helpful to know what the dimensions for all these devices are in a CSS context.

css-tricks.com

http://imagestory.net/?p=1645

 

여러기기의 중단점 – Media Queries for Standard Devices – Tarot's Design & Frontend Dev.

Media Queries for Standard Devices BY CHRIS COYIER LAST UPDATED ON JULY 23, 2016 Phones and Handhelds iPhones /* ———– iPhone 4 and 4S ———– */ /* Portrait and Landscape */ @media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-

imagestory.net

https://www.mydevice.io/#compare-devices

 

mydevice.io : web devices capabilities

Mobile devices, in Responsive Web Design, relate to a core value which is the value of CSS width or ("device-width"), in CSS Device Independant Pixels, which depends both of the browser and user zoom settings. Choose your weapon :

www.mydevice.io

https://blog.outsider.ne.kr/1153

 

JavaScript에 미디어쿼리를 사용하는 matchMedia() :: Outsider's Dev Story

요즘은 모바일과 데스크톱용 사이트를 따로 만드는 대신 웹사이트를 반응형으로 만들어서 다양한 해상도에 대응하는 것이 자연스럽다고 생각한다. 웹사이트를 반응형으로 만들려면 [CSS 미디어쿼리](https://deve...

blog.outsider.ne.kr

https://yesviz.com/

 

Screen sizes, viewport size and CSS media queries for Devices | Viz Devices by YesViz.com

 

yesviz.com

 

반응형

https://webdir.tistory.com/481

 

스크롤을 감지하여 사이트의 헤더를 보이거나 숨기기

앞서 유사한 기능의 플러그인인 Headroom.js 에 대하여 살펴보았는데, 구형 IE에 대한 크로스브라우징에 어려움을 겪을 수 있습니다. 이에 원리는 유사하나 대상 요소가 명확하게 한정된 요소일때 간단히 구현할..

webdir.tistory.com

 

반응형

https://docs.telerik.com/kendo-ui/api/javascript/ui/tabstrip/methods/append

 

append - API Reference - Kendo UI TabStrip | Kendo UI for jQuery

 

docs.telerik.com

 

반응형

'Librarys > Tabs' 카테고리의 다른 글

이중탭 구현  (0) 2021.12.09
탭(이중탭) 예제  (0) 2019.05.27

jQuery 사용하여 이중탭 구현

 

html

<div class="login">
  <!-- contents -->
  <div class="container">
    <div class="tit-box">
        <h2>로그인 폼</h2>
    </div>
  	<div class="tabonoff content-wrap">
      <!-- 탭메뉴 -->
      <ul id="tabMenu" class="jq_tab tab-menu">
        <li>
          <a href="javascript:void(0);" class="tit"><span>A 타입</span></a>
        </li>
        <li>
          <a href="javascript:void(0);" class="tit"><span>B 타입</span></a>
        </li>
      </ul>
      <!-- //탭메뉴 -->
      <div class="cont-wrap">
      <!-- 탭1_설치 -->
      <div class="tab-cont">
        <div class="tabonoff sub-tabs">
          <!-- dots_indicator -->
            <div class="dots">
              <a href="javascript:void(0);" class="on"></a>
              <a href="javascript:void(0);"></a>
              <a href="javascript:void(0);"></a>
            </div>
          <!-- //dots_indicator -->

        <!-- 서브_탭메뉴 -->
        <ul class="jq_tab jq_stabMenu stab-menu">
          <li class="active"><a href="javascript:void(0);" class="tit">ID/PW</a></li>
          <li><a href="javascript:void(0);" class="tit">로그인2</a></li>
          <li><a href="javascript:void(0);" class="tit">로그인3</a></li>
        </ul>
        <!-- //서브_탭메뉴 -->
      	<div class="cont-wrap cont-box">
            <!-- IDPW_탭1_1-->
            <div class="tab-cont">
                <div class="form-group">
                    <div class="input-box">
                        <div class="input">
                            <input type="text" title="아이디 입력" placeholder="아이디">
                        </div>
                        <div class="input">
                            <input type="password" title="패스워드 입력" placeholder="패스워드 입력">
                        </div>  
                    </div>
                  <div class="btn-wrap w100p">
                    <button class="id_loginCheck btn-sblue" type="button">로그인</button>
                  </div>
                  <div class="desc">
                    <p>※ 할당받은 ID를 입력하시면 로그인이 됩니다.</p>  
                  </div>
                </div>
            </div>
            <!-- //IDPW_탭1_1 -->
            <!-- 탭1_2 -->
            <div class="tab-cont">
              <div class="form-group">
              <div class="input-box pd">
                <div class="input">
                    <input type="text" title="사용자ID / 이메일" placeholder="사용자ID / 이메일">
                </div> 
                </div>
                <div class="btn-wrap">
                  <button class="id_register_fido btn-navy" type="button">등록</button>
                  <button class="id_loginCheck btn-sblue" type="button">로그인</button>
                  <button class="id_delete btn-gray" type="button">해지</button>
                </div>
                <div class="desc">
                    <p>※ 할당받은 ID를 입력하고 등록하시면 로그인이 됩니다.</p>  
                </div>
                </div>
            </div>
            <!-- //탭1_2 -->

        	<!-- 탭1_3 -->
        	<div class="tab-cont">
          		<div class="form-group">
                    <div class="input-box">
                        <div class="input">
                            <input type="text" title="아이디 입력" placeholder="아이디">
                        </div>
                      <div class="input">
                          <input type="password" title="패스워드 입력" placeholder="패스워드 입력">
                      </div>  
                    </div>
                    <div class="btn-wrap">
                      <button class="id_register_motp btn-navy" type="button">등록</button>
                      <button class="id_loginCheck btn-sblue" type="button" >로그인</button>
                      <button class="id_delete btn-gray" type="button">해지</button>
                    </div>
                	<div class="desc">
                    	<p>※ㅎㅎㅎ</p>  
                	</div>
                  </div>
                </div>
        		<!-- //탭1_3 -->
    			</div>
    		</div>
    	</div>
    	<!-- //탭1_설치 -->
    	<!-- 탭2_미설치 -->
    	<div class="tab-cont">
    		<div class="tabonoff sub-tabs">
              <!-- dots_indicator -->
              <div class="dots">
                <a data-dot="dot1" href="javascript:void(0);" class="on"></a>
                <a data-dot="dot2"  href="javascript:void(0);"></a>
                <a data-dot="dot3"   href="javascript:void(0);"></a>
              </div>
                <!-- //dots_indicator -->
                <!-- 서브_탭메뉴 -->
                <ul class="jq_tab jq_stabMenu stab-menu">
                  <li class="active"><a href="javascript:void(0);" class="tit">ID/PW</a></li>
                  <li><a href="javascript:void(0);" class="tit">FIDO2</a></li>
                  <li><a href="javascript:void(0);" class="tit">MOTP</a></li>
                </ul>
                <!-- //서브_탭메뉴 -->

                <div class="cont-wrap cont-box">
                    <!-- 탭2_1 -->
                    <div class="tab-cont">
                      <div class="form-group">
                        <div class="input-box">
                          <div class="input">
                              <input type="text" title="아이디 입력" placeholder="아이디">
                          </div>
                          <div class="input">
                              <input type="password" title="패스워드 입력" placeholder="패스워드 입력">
                          </div>  
                        </div>
                        <div class="btn-wrap w100p">
                            <button class="id_loginCheck btn-sblue" type="button">로그인</button>
                        </div>
                        <div class="desc">
                            <p>※ 할당받은 ID를 입력하시면 로그인이 됩니다.</p>  
                        </div>

                      </div>
                    </div>
                    <!-- //탭2_1 -->

                    <!-- 탭2_2-->
                    <div class="tab-cont">
                      <div class="form-group">
                        <div class="input-box pd">
                          <div class="input">
                              <input type="text" title="사용자ID / 이메일" placeholder="사용자ID / 이메일">
                          </div>
                        </div>
                        <div class="btn-wrap">
                          <button class="id_register_fido btn-navy" type="button" >등록</button>
                          <button class="id_loginCheck btn-sblue" type="button" >로그인</button>
                          <button class="id_delete btn-gray" type="button" >해지</button>
                        </div>
                        <div class="desc">
                          <p>※ sdd</p>  
                        </div>
                      </div>
                    </div>
                    <!-- //탭2_2 -->

      				<!-- 탭2_3 -->
      				<div class="tab-cont">
      					<div class="form-group">
                          <div class="input-box">
                            <div class="input">
                                <input type="text" title="아이디 입력" placeholder="아이디">
                            </div>
                            <div class="input">
                                <input type="password" title="패스워드 입력" placeholder="패스워드 입력">
                            </div>  
                          </div>
                          <div class="btn-wrap">
                            <button class="id_register_motp btn-navy" type="button" >등록</button>
                            <button class="id_loginCheck btn-sblue" type="button" >로그인</button>
                            <button class="id_delete btn-gray" type="button" >해지</button>
                          </div>
                          <div class="desc">
                            <p>※ aaaaa </p>  
                          </div>
      					</div>
    				</div>
    				<!-- //탭2_3 -->
  					</div>
  				</div>
  			</div>
  			<!-- //탭2_미설치 -->                 
  		</div>                      
  	</div>
  </div>
  <!-- //contents -->
</div>

 

script


$(document).ready(function(){
        
    // 이중탭
    $(".tabonoff > .cont-wrap").children().css("display", "none"); 
    $(".tabonoff > .cont-wrap div:first-child").css("display", "block");
    $(".tabonoff > .jq_tab li:first-child").addClass("on"); 

    $(".tabonoff").find(".jq_tab > li").on("click", function() { 
        var index = $(this).parent().children().index(this);
		
        $(this).siblings().removeClass();
        $(this).addClass("on");
       // console.log($(this).parent().children());
        $(this).parent().next(".cont-wrap").children().hide().eq(index).show();
    });

     // 설치/미설치 탭메뉴 이미지교체 
     $("#tabMenu > li").click(function(){
        var $this = $(this);
        $("#tabMenu > li").each(function(idx){
            var $li = $(this);
            $li.find("img").attr("src", $(this).find("img").attr("src").replace("_on","_off"));
        });
        $this.find("img").attr("src", $this.find("img").attr("src").replace("_off","_on"));
    });   

	// 서브_탭메뉴 > Dot Indicator 연결
	$(".jq_stabMenu li > a").on("click", function() {
		var index = $(this).parent().index();
		$(this).closest(".tabonoff").find(".dots > a").removeClass("on");
		$(this).closest(".tabonoff").find(".dots > a").eq(index).addClass("on");
	});
   
    //  Dot Indicator > 서브_탭메뉴 연결
    $(".dots > a").click(function(){
        var dotIndex = $(this).parent().children().index(this); 
        $(this).siblings().removeClass();
        $(this).addClass("on");
        // console.log(dotIndex); 
        $(this).closest(".tabonoff").find("li").eq(dotIndex).trigger("click");	
    });

    // '로그인'버튼 클릭이벤트
    $(".id_loginCheck").click(function(){
        location.href="./sub-main.html"
    });
    

});

 

css

.login .container{width:1280px; /*margin:0 auto;*/ margin-top:100px; margin-bottom:160px;}
.login .tit-box{margin-bottom:56px;}
.login .tit-box p{font-size:36px; color:#797979; margin-bottom:20px;}
.login .tit-box h2{font-size:60px; font-family:'NotoM';}

.login .content-wrap{display:block; clear:both;*zoom:1; width:1024px; margin:0 auto;}
.login .content-wrap:after{display:block; height:0;content:".";font-size:0;visibility:hidden;clear:both;}
.login .content-wrap .form-group{width:582px; margin:0 auto;}
.login .content-wrap>.tab-conts{display:block; float:left; width:100%;clear:both;color:#fff; width:1024px;}
.login .content-wrap .tab-menu{position:relative; width:440px; margin:0 auto; height:40px;}
.login .content-wrap .tab-menu::after{display:block; content:''; width:1px; height:36px; background:#b7b7b7; position:absolute; top:0; left:50%; transform:translateX(-50%);}
.login .content-wrap .tab-menu li::before{display:block; content:''; clear:both;}
.login .content-wrap .tab-menu li{float:left; width:45%; height:44px; font-size:30px; vertical-align:middle; font-family:'NotoM'; color:#a2a3a3;}
.login .content-wrap .tab-menu li:first-of-type{margin-right:5%;}
.login .content-wrap .tab-menu li:last-of-type{margin-left:5%;}
.login .content-wrap .tab-menu li.on{color:#2b2e38;}
.login .content-wrap .tab-menu li a{display:block; width:100%; text-align:center;}
.login .content-wrap .tab-menu li a img{vertical-align:middle;}
.login .content-wrap .tab-menu li:first-of-type a img{margin-right:15px;}
.login .content-wrap .tab-menu li:last-of-type a img{margin-left:20px;}
.login .content-wrap .tab-menu li a span{vertical-align:middle;}
.login .sub-tabs{display:block; clear:both; *zoom:1; padding:0 50px; /*margin-top:20px;*/ position:relative;}
.login .sub-tabs .stab-menu{width:800px; margin:0 auto; height:68px; padding:0 50px;}
.login .sub-tabs .stab-menu li::before{display:block; content:''; clear:both;}
.login .sub-tabs .stab-menu li{float:left; width:33.33%; height:66px;font-size:30px; color:#bec2c7; font-family:'NotoM';}
.login .sub-tabs .stab-menu li a{display:block; padding:20px 0;}
.login .sub-tabs .stab-menu li.on{color:#2b2e38; border-bottom:3px solid #2b2e38;}

.login .cont-box{position:relative; width:900px; margin:0 auto; border:1px solid #b7b7b7; height:420px;}

.login .form-group .btn-wrap{width:456px; margin:0 auto; margin-top:24px;}
.login .form-group .btn-wrap::after{display:block; content:''; clear:both;}
.login .form-group .btn-wrap button{width:148px; float:left;}
.login .form-group .btn-wrap button{color:#fff; font-size:26px; font-family:'NotoM'; padding:32px 0; line-height:1;}
.login .form-group .btn-wrap button + button{margin-left:6px;}
.login .form-group .btn-wrap.w100p{width:360px;}
.login .form-group .btn-wrap.w100p button{width:100%;}

.login .input-box{width:360px; margin:0 auto; margin-top:52px;}
.login .tab-cont .input-box.pd{padding:28px 0 10px 0;}

.login .input-box .input + .input{margin-top:14px;}
.login .input-box input{font-size:28px; /* padding:9px 12px;*/ width:100%; line-height:1; background:#fff; border-radius:0px; border:0; border-bottom:1px solid #cccccc; height:52px;}

.login .input-box input:focus, 
.login .input-box select:focus, 
.login .input-box select:focus{outline:1px solid transparent;}
.login .form-group .desc{font-size:20px; font-family:'NotoR'; color:#a1a2a4; margin-top:24px; line-height:1.1;}
.login .tab-cont{position:relative;}
.login .tab-cont .dots{width:100%; position:absolute; bottom:-40px; left:50%; transform:translateX(-50%);}
.login .tab-cont .dots a{display:inline-block; width:10px; height:10px; border-radius:50%; background:#c3cacf; transition:all .3s ease-in-out;}
.login .tab-cont .dots a.on{background:#428bf2;border-radius:50px; width:24px;}
.login .tab-cont .dots a + a{margin-left:12px;}
.login .content-wrap .tab-menu{margin-bottom:24px; margin-bottom:20px;}
.login .content-wrap .tab-menu{width:520px;}
.login .content-wrap .pt{padding-top:24px;}

 


 

이미지 탭

 

https://freemi99.tistory.com/entry/jQuery-%ED%83%AD%EB%A9%94%EB%89%B4-%EC%9D%B4%EB%AF%B8%EC%A7%80-%ED%83%AD%EB%A9%94%EB%89%B4-li-%EC%95%88%EC%97%90-div-%EA%B5%AC%EC%A1%B0%EB%A1%9C

 

jQuery 탭메뉴 - 이미지 탭메뉴 / li 안에 div 구조로

4. 탭메뉴 리스트 속에 컨텐즈 존재하게 !! li 안에 div 구조로 html 1번탭내용 2번탭내용 3번탭내용 4번탭내용 css ul,li{list-style:none} .tab{position:relative;overflow:hidden;height:500px} .tab li{float..

freemi99.tistory.com

 

http://www.blueb.co.kr/?c=1/4&cat=%ED%83%AD%EB%A9%94%EB%89%B4&uid=595

 

블루비 웹스토어 - 메뉴/네비게이션

 

www.blueb.co.kr

http://www.blueb.co.kr/?c=1/4&cat=%ED%83%AD%EB%A9%94%EB%89%B4&p=2&uid=502

 

블루비 웹스토어 - 메뉴/네비게이션

 

www.blueb.co.kr

https://jsbin.com/docaqeqoju/edit?html,js,output

 

JS Bin

Sample of the bin:

jsbin.com

 

반응형

'Librarys > Tabs' 카테고리의 다른 글

이중탭 구현  (0) 2021.12.09
이중탭 레퍼런스  (0) 2019.05.28

+ Recent posts