.group-menu2 .gnb-list{ display: flex; padding: 11px 0 11px 15px; background: #fff; gap: 10px; width: calc(100% - 50px); overflow-x: auto; -ms-overflow-style: none; scrollbar-width: none; } .group-menu2 .gnb-list::-webkit-scrollbar{ display: none; }
ν¬λ‘μ€ λΈλΌμ°μ§(cross-browser compatibility)μ μΉ νμ΄μ§ λλ μΉ μ ν리μΌμ΄μ μ΄ μ¬λ¬ μΉ λΈλΌμ°μ (μ£Όλ‘
Google Chrome
,Microsoft Edge
,Opera
,FireFox
,Safari
)μμ μΌκ΄λ λ°©μμΌλ‘ λμνλλ‘ λ³΄μ₯νλ κ²μ μλ―Έν©λλ€.
νμ¬ overflow-x
κ° μ μ©λ ν΄λμ€ .gnb-list
μ ::-webkit-scrollbar {display:none;}
μ μμ±νμ¬ Safari
, Chrome
κ³Ό κ°μ΄ WebKit
μμ§μ μ°λ λΈλΌμ°μ μμ μ€ν¬λ‘€λ° μ¨κΈ°κΈ°
-ms-overflow-style: none;
μ μμ±νμ¬ Internet Explorer
λ° Microsoft Edge
λΈλΌμ°μ μμμ μ€ν¬λ‘€λ° μ¨κΈ°κΈ°
scrollbar-width: none;
μ μμ±νμ¬ Firefox
λΈλΌμ°μ μμμ μ€ν¬λ‘€λ° μ¨κΈ°κΈ°
WebKit
μ μ€ν μμ€ μΉ λΈλΌμ°μ μμ§μΌλ‘, μ£Όλ‘Safari
,Google Chrome
,Opera
μ κ°μ μΉ λΈλΌμ°μ μ μ¬μ©λκ³ μμ΅λλ€.WebKit
μHTML
,CSS
λ°JavaScript
λ₯Ό ν΄μνκ³ λ λλ§νμ¬ μΉ νμ΄μ§λ₯Ό νμνλ μν μ ν©λλ€.
Style1
<ul class="prd-list style1"> <li class="prd-item"> <a href="" class="link"></a> <div class="thumb-box"> <em class="number">1</em> <img src="./assets/images/tab-all.jpg" alt="[3 SET] μμ΄λ¦¬ν μ€ν λ€λν μΉ΄λΌ ν°μ μΈ " class="img"> <div class="icons"> <img src="./assets/images/new.png" alt=""> </div> </div> <div class="desc-box"> <button class="review">리뷰 4,639</button> <p class="name">[3 SET] μμ΄λ¦¬ν μ€ν λ€λν μΉ΄λΌ ν°μ μΈ </p> <div class="price"> <span class="percent">41%</span> <span class="current">69,000μ</span> <del class="before">117,000μ</del> </div> <div class="etc"> <span class="banner">λ΄ νμ€ν°λ² νμ νν (~4/14)</span> </div> </div> </li> </ul>
Style2
<ul class="prd-list style2"> <li class="prd-item"> <a href="" class="link"></a> <div class="thumb-box"> <img src="./assets/images/desc-item1.jpg" alt="[SET] λ§¨μ¦ μ¬λμ€ & ν΄λ‘ ν°μ μΈ (μμ΄μ리λ & μμ΄λ¦¬ν)" class="img"> <div class="icons"> <img src="./assets/images/new.png" alt=""> </div> </div> <div class="desc-box"> <button class="review">리뷰 221</button> <p class="name">[SET] λ§¨μ¦ μ¬λμ€ & ν΄λ‘ ν°μ μΈ (μμ΄μ리λ & μμ΄λ¦¬ν)</p> <div class="price"> <span class="percent">24%</span> <span class="current">99,000μ</span> <del class="before">131,000μ</del> </div> <div class="etc"> <span class="banner">M-3XL</span> <span class="banner">νμ ν μΈκ° 94,000μ(4/9~4/13)</span> </div> </div> </li> </ul>
λͺ¨λ(
Module
)μ΄λ β1κ° λλ κ·Έ μ΄μμ μ½ν μΈ μ κΈ°λ₯μ λ¬Άμβ μ λλ€. μ¦, λͺ¨λμ νλ‘κ·Έλ¨μ μ΅μ λ¨μμ΄λ©°, κ° λͺ¨λμHTML
κ·Έλ¦¬κ³ λ³μμ μν μ‘°ν©μΌλ‘ ꡬλλ©λλ€. λͺ¨λμ νλμ λ 립λ μμ ν νλ‘κ·Έλ¨μΌλ‘ μ¬μ©μκ° μ λ ₯νmodule=βλͺ¨λμμ΄λβ
μ΄λ μ½λμ μν΄μ νλ¨λλ©° ꡬλλ©λλ€.
Cafe24μ λͺ¨λ λ μ΄μμ μμ€ν
μ μ°Έκ³ νμ¬ κ° λ¦¬μ€νΈ μ€νμΌ(ul
)λ€μ κ³΅ν΅ ν΄λμ€ .prd-list
λ₯Ό μ£Όκ³ μμλ€λ λμΌν ν΄λμ€ λͺ
μ μ£ΌκΈ°
λ¨Όμ style1
μ κΈ°μ€μΌλ‘ CSS
λ‘ λ μ΄μμ μ‘κΈ°
style1
κ³Ό style2
μ λ μ΄μμμ΄ λ€λ₯΄κΈ° λλ¬Έμ κ³΅ν΅ ν΄λμ€ .prd-list
μ κ°κ°μ μ€νμΌ λͺ
μ ν΄λμ€λ‘ μΆκ°(style1
, style2
, ...)
.prd-list.style2
λ₯Ό λΆλͺ¨λ‘ CSS
λ₯Ό μ¬μ©νμ¬ style2
μ λ§κ² λ μ΄μμ μμ νκΈ°
.prd-list.style2 .prd-item{ padding: 20px 0; display: flex; } .prd-list.style2 .prd-item+.prd-item{ border-top: 1px solid #eee; } ...
μμ κ°μ λ°©λ²μΌλ‘ λΉμ·ν λ μ΄μμμ μμ½κ² μμ ν μ μκ³ , λΆνμν μ½λλ₯Ό μ€μΌμ μλ€.
μΉ ν°νΈμ μ’ λ₯μλ μ¬λ¬ νμμ΄ μμΌλ©°, κ° νμμ νΉμ μ©λμ μΉ νκ²½μμμ μ΅μ νλ₯Ό κ³ λ €νμ¬ λμμΈλμμ΅λλ€.
WOFF
(μΉ μ€ν κΈκΌ΄ νμ)μWOFF2
(μΉ μ€ν κΈκΌ΄ νμ 2)λ μΉ νμ΄μ§μ μ΅μ νλ νμμ΄λ©°,TTF
(νΈλ£¨νμ ν°νΈ)μOTF
(μ€ννμ ν°νΈ) λ±λ μ¬μ©λ©λλ€.
WOFF
λ μΉ ν°νΈμ νμ€ νμ μ€ νλλ‘ μΉ νμ΄μ§μμ μ¬μ©νκΈ°μ μ΅μ νλ μΉ ν°νΈ νμμ λλ€.
WOFF2
λ μΉWOFF2
λWOFF
μ κ°μ λ²μ μΌλ‘,WOFF
λ₯Ό μ΅λ 20% μμΆν ν°νΈμ λλ€. μ΅μ μΉ ν°νΈ νμ€ μ€ νλλ‘, λ λΉ λ₯΄κ² λ‘λλλ μ₯μ μ΄ μμ΅λλ€.
Microsoft
μApple
μ΄ ν¨κ» κ°λ°ν κΈκΌ΄ νμμΌλ‘, λͺ¨λ κΈμμ λν λͺ¨μκ³Ό ν¬κΈ° μ 보λ₯Ό ν¬ν¨ν©λλ€. μΉμμλ μ£Όλ‘ μ¬μ©λμ§ μκ³ , μ£Όλ‘ μΉ ν°νΈ νμμΌλ‘ λ³ννμ¬ μ¬μ©ν©λλ€.
Adobe
μMicrosoft
κ° κ³΅λμΌλ‘ κ°λ°ν κΈκΌ΄ νμμΌλ‘,TTF
μ μ μ¬νμ§λ§ λ λ§μ κ³ κΈ κΈ°λ₯μ μ 곡ν©λλ€.TTF
μ λ§μ°¬κ°μ§λ‘ μΉμμλ μ£Όλ‘ μ¬μ©λμ§ μκ³ , μ£Όλ‘ μΉ ν°νΈ νμμΌλ‘ λ³ννμ¬ μ¬μ©ν©λλ€.
@font-face { font-family: 'Gilroy'; src: url('../fonts/Gilroy-Regular.woff2') format('woff2'); font-weight: normal; } @font-face { font-family: 'Gilroy'; src: url('../fonts/Gilroy-Medium.woff2') format('woff2'); font-weight: 500 ; } @font-face { font-family: 'Gilroy'; src: url('../fonts/Gilroy-SemiBold.woff2') format('woff2'); font-weight: 600; } @font-face { font-family: 'Gilroy'; src: url('../fonts/Gilroy-Bold.woff2') format('woff2'); font-weight: 700; ; }
font-family
λ₯Ό μ¬μ©νμ¬ ν°νΈμ μ΄λ¦μ μ§μ (λμΌν ν°νΈλ‘ λ€μν κ΅΅κΈ°λ₯Ό ννν λ ν°νΈμ μ΄λ¦μ κ°κ² νλ€.)
μλ κ²½λ‘(../
)λ₯Ό μ¬μ©νμ¬ ν°νΈ νμΌμ κ²½λ‘λ₯Ό μ§μ νκ³ κ° ν°νΈμ format('...')
λͺ
μνκΈ°
font-weight
λ‘ κ° ν°νΈμ κ΅΅κΈ° μ€μ (λ³΄ν΅ 400
κΈ°μ€ = regular
)
<nav class="gnb"> <div class="menu-top"> <ul class="gnb-list"> <li class="gnb-item"> <a href="" class="focus"><span class="orange">24μκ° νμμΈμΌ</span></a> </li> <li class="gnb-item"> ... </li> </ul> <button class="btn-all"><span class="blind">μ 체λ©λ΄</span></button> <h2>μ 체λ©λ΄</h2> </div> <div class="menu-all"> <ul class="all-list"> <li class="all-item"> <a href="" class="focus"> <span class="orange">24μκ° νμμΈμΌ</span> </a> </li> <li class="all-item"> ... </li> </ul> </div> </nav>
.group-menu2 .menu-top .btn-all{ position: absolute; top: 10px;right: 10px; content: ''; background-image: url(../images/arrow-open.png); background-repeat: no-repeat; display: block; width: 28px; height: 28px; background-size: 12px; background-position: center; transform: rotate(0); z-index: 1; } .group-menu2 .menu-top h2{ position: absolute; top: 0; left: 0; font-size: 16px; line-height: 23px; color: #000; width: 100%; padding: 11px 16px; display: none; } .group-menu2 .menu-top.on h2{ display: block; } .group-menu2 .menu-top.on .btn-all{ transform: rotate(180deg); } .group-menu2 .menu-top.on .gnb-list{ visibility: hidden; } .group-menu2 .menu-all{ background: #fff; display: none; }
$('.group-menu2 .btn-all').click(function(){ $('.header .menu-top').toggleClass('on'); $('.menu-all').slideToggle(); })
ν΄λμ€ .btn-all
μ ν΄λ¦ μ΄λ²€νΈ μμ± (νμ΄ν λ²νΌ)
.menu-top
μ ν΄λμ€ on
μ΄ μΆκ°λμμλ μμ .gnb-list
κ° λ³΄μ΄μ§ μκ² λ§λ€κΈ° (visibility: hidden;
)
ν΄λμ€ on
μ΄ μΆκ°λμμλ h2
μ¦ λλ²μ§Έ λ©λ΄ .menu-all
μ μ λͺ©μ΄ display: block;
λμ€κ² λ§λ€κΈ°
ν΄λμ€ on
μ΄ μΆκ°λμμλ νμ΄ν λ²νΌ(.btn-all
)μ 180λ νμ μν€κΈ°
.menu-top
μ toggleClass('on')
μ λ£μ΄ ν΄λ¦ν λλ§λ€ ν΄λμ€ on
μ ν κΈ μν€κΈ°
λ§μ°¬κ°μ§λ‘ λλ²μ§Έ λ©λ΄ .menu-all
μ ν¨μ slideToggle();
λ₯Ό λ£μ΄ ν΄λ¦ν λλ§λ€ μ¬λΌμ΄λλ₯Ό ν κΈμν€κΈ° (slideToggle
μ display: none;
μνμμλ μλν¨)