๐Ÿ’›[๋ถ€์ŠคํŠธ์ฝ”์Šค_์›น UI ๊ฐœ๋ฐœ] 14. ๋ฉ”๋‰ด

๐Ÿ‘พยท2021๋…„ 1์›” 29์ผ
0

HTML & CSS

๋ชฉ๋ก ๋ณด๊ธฐ
14/20

๋ฉ”๋‰ด ์†Œ๊ฐœ

๋ฉ”๋‰ด = ๋‚ด๋น„๊ฒŒ์ด์…˜์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ

๋‚ด๋น„๊ฒŒ์ด์…˜์€ ์›น ์‚ฌ์ดํŠธ ๋‚ด์—์„œ ์ œ๊ณต๋˜๋Š” ์ •๋ณด๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์—ญํ• 

์‚ฌ์šฉ์ž๊ฐ€ ์›น ์‚ฌ์ดํŠธ์—์„œ ์ œ๊ณต๋˜๋Š” ํŽ˜์ด์ง€๋ฅผ ์ž˜ ๋ชจ๋ฅผ ์ˆ˜ ์žˆ์Œ.
๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์›น ์‚ฌ์ดํŠธ์—์„œ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š” ๋‹ค์–‘ํ•œ ํŽ˜์ด์ง€๋“ค์„ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ ์ข‹๊ฒŒ ๋ชจ์•„์„œ ๋ณด์—ฌ์ค„์ˆ˜์žˆ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

ํ•ด๋‹น ์ •๋ณด๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ํ•ด๋‹น ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ์ œ๊ณตํ•ด์ฃผ๋Š” ์—ญํ• 

๋ฉ”๋‰ด์˜ ์ข…๋ฅ˜

  • 1๋‹จ๋ฉ”๋‰ด
    : ํ”ํžˆ ์›น ์‚ฌ์ดํŠธ์—์„œ ์ƒ๋‹จ์— ์นดํ…Œ๊ดผ๋“ค์„ ๋‚˜์—ดํ•ด์„œ ๋ณด์—ฌ์ฃผ๋Š” ํ˜•ํƒœ

  • 2๋‹จ ๋ฉ”๋‰ด
    : ์ฃผ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ–ˆ์„๋•Œ ๊ทธ ํ•˜๋‹จ์œผ๋กœ ์„œ๋ธŒ๋ฉ”๋‰ด๊ฐ€ ์ถ”๊ฐ€๋กœ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ
    1๋‹จ๋ฉ”๋‰ด๋กœ๋งŒ ์ œ๊ณตํ•˜๊ธฐ์— ํŽ˜์ด์ง€๊ฐ€ ๋งŽ์„ ๊ฒฝ์šฐ์—๋Š” ์ถ”๊ฐ€์ ์œผ๋กœ ํ•˜์œ„ ์นดํ…Œ๊ณ ๋ฆฌ๋“ค์„ 2๋‹จ ๋ฉ”๋‰ด๋กœ ๊ฐ™์ด ๋ฌถ์–ด์„œ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ์ œ๊ณต.

  • ์ขŒ์ธก ๋ฉ”๋‰ด
    : 2๋‹จ๋ฉ”๋‰ด๋‚˜ 1๋‹จ๋ฉ”๋‰ด๊ฐ€ ์›น ์‚ฌ์ดํŠธ์—์„œ ์ขŒ์ธก์— ๋‚˜์—ด๋˜๋Š” ๊ฒฝ์šฐ.

ex) ๋„ค์ด๋ฒ„ ์‡ผํ•‘, ๋„ค์ด๋ฒ„ ์˜ํ™”, ๋„ค์ด๋ฒ„ ์›น์†Œ์„ค
ํ•ด๋‹น ์ฝ˜ํ…์ธ ๊ฐ€ ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ ๋ฉ”๋‰ด๊ฐ€ ๋‹ค๋ฅธ ๋ฉ”๋‰ด์™€ ๋‹ค๋ฅด๊ฒŒ ๋ฐฐ๊ฒฝ์ƒ‰์ด ๋“ค์–ด๊ฐ€์žˆ๊ณ , ํ…์ŠคํŠธ ์ปฌ๋Ÿฌ๋„ ๋ฐฐ๊ฒฝ์ƒ‰์— ๋งž์ถฐ์„œ ๋ณ€ํ•จ
์ฃผ๋ฉ”๋‰ด์™€ ์„œ๋ธŒ๋ฉ”๋‰ด ๊ฐ๊ฐ์— ํ™œ์„ฑํ™” ํ‘œ์‹œ


1๋‹จ ๋ฉ”๋‰ด ์ œ์ž‘

๋ฉ”๋‰ด์˜ ์ฃผ์š”๊ธฐ๋Šฅ

  • 5๊ฐœ์˜ ํ•ญ๋ชฉ์„ ๊ฐ–๋Š” ๊ฐ€๋กœํ˜•ํƒœ์˜ ๋ฉ”๋‰ด
  • ๋ฉ”๋‰ด๋Š” ๊ฐ„๊ฒฉ์ด ๋ชจ๋‘ ๋™์ผํ•œ ํ˜•ํƒœ
  • ๋ฉ”๋‰ด๋ฅผ ๋งˆ์šฐ์Šค ์˜ค๋ฒ„ํ–ˆ์„๋•Œ ํ…์ŠคํŠธ ์ปฌ๋Ÿฌ, ํฐํŠธ ๊ตต๊ธฐ๊ฐ€ ๋ณ€๊ฒฝ
  • ๋ฉ”๋‰ด๊ฐ€ ํ™œ์„ฑํ™”๋˜์—ˆ์„๋•Œ background์— ๋งž์ถฐ์„œ ๋ฉ”๋‰ด๋ช…์˜ ์Šคํƒ€์ผ์ด ๊ฐ™์ด ๋ณ€ํ•˜๋„๋ก ๋™์ž‘

๋ฉ”๋‰ด์˜ ์Šคํƒ€์ผ ์ •๋ณด

  • ์ „์ฒด ๋„ˆ๋น„ max:700px/min:500px ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์— ๋งž์ถฐ์„œ ์œ ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๊ฒŒ๋”, ๊ฐ„๊ฒฉ์€ ๋ชจ๋‘ ๋™์ผ
  • ๋†’์ด 36px
  • ํฐํŠธ 12px/#333
  • ์™ธ๊ณฝ์„  1px #ddd
  • ๋ฉ”๋‰ด ํ™œ์„ฑํ™”์‹œ ๋ฐฐ๊ฒฝ์ƒ‰ gray / font : 12px bold #fff/ ์™ธ๊ณฝ์„  1px gray

์ฃผ์š” ํƒœ๊ทธ ๋ฐ ์†์„ฑ

  • HTML
    div, ul, li, a
  • CSS
    display, position, border, margin, background, table-layout, :hover

table-layout์€ ๋ฉ”๋‰ด ๊ฐ„๊ฒฉ์„ ๊ท ๋“ฑํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ display:table์Šคํƒ€์ผ ์ ์šฉํ• ๋•Œ ๊ฐ™์ด ์“ธ ์˜ˆ์ •


<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <link rel="stylesheet" href="menu1.css">
    <title>๋ฉ”๋‰ด์‹ค์Šต1</title>
</head>
<body>
  <div class="wrap">
      <ul class="menu">
        <li class="menu_item"><a href="#" class="menu_link">๋ฉ”์ผ</a></li>
        <li class="menu_item active"><a href="#" class="menu_link">์นดํŽ˜</a></li>
        <li class="menu_item"><a href="#" class="menu_link">์†Œํ”„ํŠธ์›จ์–ด</a></li>
        <li class="menu_item"><a href="#" class="menu_link">์ง€์‹๋ฐฑ๊ณผ</a></li>
        <li class="menu_item"><a href="#" class="menu_link">์˜ํ™”</a></li>
      </ul>
  </div>
</body>
</html>
@charset "UTF-8";

/* ๊ธฐ๋ณธ ์Šคํƒ€์ผ */
body {
    font-family: '๋‚˜๋ˆ”๊ณ ๋”•', NanumGothic, Dotum, '๋‹์›€', sans-serif;
    font-size: 14px;
    line-height: 16px;
}
body, ul, ol, li, div, a {
    margin:0;
    padding:0;
}
ul, ol {
    list-style:none;
}
a {
    color: inherit;
    text-decoration: none;
}

/* 1๋‹จ ๋ฉ”๋‰ด */
.wrap {
    max-width: 700px;
    min-width: 500px;
    margin: 5px; /*์™ธ๊ณฝ์„  ํ™•์ธ ์œ„ํ•ด*/
}
.menu {
    display: table;
    /*๋ฉ”๋‰ด์˜ ๊ฐ„๊ฒฉ์ด ๋ชจ๋‘ ๋™์ผํ•œ ๋„ˆ๋น„๋ฅผ ๊ฐ–๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„œ table๋กœ ๋งŒ๋“ฆ*/
    width: 100%; /*๋ถ€๋ชจ ์š”์†Œ์˜ ๋„ˆ๋น„๊ฐ’๊ณผ ๋™์ผํ•œ ๊ฐ’ ์ƒ์†๋ฐ›์Œ*/
    table-layout: fixed; /*๊ฐ„๊ฒฉ์„ ๊ท ๋“ฑํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ*/
}
.menu_item {
    display: table-cell;
}
.menu_link {
    display: block; /*table-cell์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ตœ๋Œ€ ๋„ˆ๋น„์— ๊ฝ‰ ๋งž๋Š” ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด*/
    height: 36px;    
    border: 1px solid #ddd;
    font-size: 12px;
    line-height: 36px;
    color: #333;
    text-align: center;
}
.menu_item + .menu_item .menu_link {
    margin-left: -1px; /*์ธ์ ‘ํ•œ border ๊ฒน์น˜๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ*/
}

/*๋ฉ”๋‰ด ์˜ค๋ฒ„ ํšจ๊ณผ*/
.menu_item:hover .menu_link {
/*์ƒ์œ„์˜ menu_item์— hover๋ฅผ ์ฃผ๋Š”๊ฒŒ menu_link์— ์ฃผ๋Š”๊ฒƒ๋ณด๋‹ค ํ™•์žฅ์„ฑ์ด ์ข‹์Œ*/
    color: green;
    font-weight: bold;
}

/*๋ฉ”๋‰ด ํ™œ์„ฑํ™” ๋ถ€๋ถ„*/
.menu_item.active .menu_link {
    position: relative; /*๋ฉ”๋‰ด ๊ตฌ์กฐ์—์„œ ์ œ์ผ ์ƒ๋‹จ์œผ๋กœ ์˜ฌ๋ผ์˜ค๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ. relative ์„ ์–ธํ•ด์ฃผ๋ฉด z-index๊ฐ€ ์ƒˆ๋กœ ์ƒ์„ฑ๋จ*/
    border-color: #555;
    font-weight: bold;
    color: #fff;
    background: gray; 
}

position:relative;
: border๊ฐ€ ๊ฒน์ณ์ ธ์„œ 2px๋กœ ๋ณด์ด๋Š” ๊ฒƒ์„ 1px๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ margin-left:-1px;์ด๋ผ๊ณ  ์„ ์–ธํ•จ. ์ด๋ ‡๊ฒŒ ํ•˜๊ฒŒ ๋˜๋ฉด ๊ตฌ์กฐ์ƒ์œผ๋กœ ๋’ค์— ๋‚˜์˜ค๋Š” ๋ฉ”๋‰ด์˜ ์™ธ๊ฐ์„ ์ด ์œ„๋กœ ๋‚˜์˜ค๊ฒŒ๋จ. (z-index์˜ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ๋Š” ๋” ๋’ค์— ์žˆ๋Š” ๊ตฌ์กฐ๊ฐ€ ์œ„๋กœ ์˜ฌ๋ผ์˜ค๊ฒŒ๋จ) ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ฉ”๋‰ด๊ฐ€ ํ™œ์„ฑํ™”๋˜์—ˆ์„๋•Œ์—๋„ ์•ž์— ์žˆ๋Š” ๋ฉ”๋‰ด๋Š” ์šฐ์ธก ์™ธ๊ณฝ์„ ์ด ๋…ธ์ถœ๋˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— position:relative;๋ฅผ ํ†ตํ•ด z-index๊ฐ’์„ ์ƒˆ๋กœ ์ƒ์„ฑํ•ด์„œ ํ™œ์„ฑํ™”๋œ ๋ฉ”๋‰ด๋ฅผ ์ œ์ผ ์ƒ๋‹จ์œผ๋กœ ์˜ฌ๋ผ์˜ค๊ฒŒ ํ•œ๋‹ค.

display:table;๊ณผ table-layout:fixed;๋ฅผ ์„ ์–ธํ–ˆ์„๋•Œ๋Š” ๋ฉ”๋‰ด์˜ ๋„ˆ๋น„๋ฅผ ์ „์ฒด ๋„ˆ๋น„์˜ 1/N๋กœ ๊ฐ–๊ธฐ ๋–„๋ฌธ์— ๋ฉ”๋‰ด์˜ ์ „์ฒด ๋„ˆ๋น„๊ฐ€ ์œ ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๋”๋ผ๋„ ๊ท ๋“ฑํ•œ ๋„ˆ๋น„๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ ์ด๋Ÿฐ ๊ตฌ์กฐ ๊ฐ–๋Š” ๋ฉ”๋‰ด ์ž‘์„ฑํ• ๋•Œ table๊ด€๋ จ ์†์„ฑ ์ž˜ ์ˆ™์ง€ํ•˜๊ธฐ

์ •๋ฆฌ

  • ๋ฉ”๋‰ด ์ตœ์†Œ/์ตœ๋Œ€ ๋„ˆ๋น„ : min-width, max-width
    ๋ธŒ๋ผ์šฐ์ € ๋„ˆ๋น„๊ฐ€ ๊ฐ€๋ณ€์ ์œผ๋กœ ๋ณ€๊ฒฝ์ด ๋˜์—ˆ์„๋•Œ ๋ฉ”๋‰ด๋Š” ํ•ญ์ƒ ๋ธŒ๋ผ์šฐ์ € ๋„ˆ๋น„์— ๋งž๊ฒŒ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋„๋ก ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ๋“ค
    ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ฐ€๋ณ€์ ์œผ๋กœ ๋„ˆ๋น„๊ฐ€ ๋ณ€๊ฒฝ๋œ๋‹ค ํ•˜๋”๋ผ๋„ ์›ํ•˜๋Š” ๊ณ ์ • ์‚ฌ์ด์ฆˆ์™€ ์ตœ๋Œ€ ๋„ˆ๋น„ ์‚ฌ์ด์ฆˆ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„

  • ๋ฉ”๋‰ด ๋„ˆ๋น„ ๊ท ๋“ฑ : display:table, table-layout
    ๋ฉ”๋‰ด ๋ฆฌ์ŠคํŠธ์—๋Š” table ์†์„ฑ, ๊ฐ๊ฐ์˜ ์•„์ดํ…œ๋“ค์€ table-cell๋กœ ์ž…๋ ฅ
    table-layout:fixed ์†์„ฑ ์“ฐ๊ฒŒ ๋˜๋ฉด table-cell์˜ ๋„ˆ๋น„๊ฐ€ ๋ชจ๋‘ ๋™์ผํ•˜๊ฒŒ๋” ์ ์šฉ๋จ
    ๋”ฐ๋ผ์„œ ์ „์ฒด table์˜ ๋„ˆ๋น„๊ฐ€ ๋Š˜์–ด๋‚˜๊ฑฐ๋‚˜ ์ค„์–ด๋“ค์—ˆ์„๋•Œ์—๋„ ์•ˆ์—์žˆ๋Š” table-cell์˜ ๋„ˆ๋น„๊ฐ€ ๊ณ„์†ํ•ด์„œ ๊ท ๋“ฑํ•˜๊ฒŒ ์œ ์ง€๋จ

  • border ๊ฒน์นจ ํ˜„์ƒ : margin
    A B
    ๊ฐ€ ์žˆ์„๋•Œ B์— margin-left:-1px;๋ฅผ ์ฃผ๊ฒŒ ๋˜๋ฉด B๊ฐ€ ์™ผ์ชฝ์œผ๋กœ 1px ์ด๋™ํ•จ.
    ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์šฐ์ธก์— ์žˆ๋Š” ์™ธ๊ณฝ์„ ์ด ์ขŒ์ธก์— ์žˆ๋Š” ๋ฉ”๋‰ด ์œ„๋กœ ์˜ฌ๋ผ์™€์„œ ์™ธ๊ณฝ์„ ์„ ํ•˜๋‚˜ ๋ฎ๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜๋กœ๋งŒ ๋ณด์ด๊ฒŒ ๋จ.


2๋‹จ ๋ฉ”๋‰ด ์ œ์ž‘

๋ฉ”์ธ ๋ฉ”๋‰ด๊ฐ€ ํ™œ์„ฑํ™”๋˜์—ˆ์„๋•Œ ํ•ด๋‹น ์„œ๋ธŒ๋ฉ”๋‰ด๊ฐ€ ์กด์žฌํ•  ๊ฒฝ์šฐ ํ•˜๋‹จ์— ์„œ๋ธŒ ๋ฉ”๋‰ด๊ฐ€ ๋…ธ์ถœ์ด ๋˜๋Š” ํ˜•ํƒœ

์ฃผ์š” ๊ธฐ๋Šฅ

๋ฉ”๋‰ด๋Š” ๊ฐ€๋กœ ์ค‘์•™ ์ •๋ ฌ๋œ ํ˜•ํƒœ
๋ฉ”๋‰ด๊ฐ€ ํ™œ์„ฑํ™”๋˜์—ˆ์„๋•Œ ์ƒํƒœ์— ๋งž๋Š” ์„œ๋ธŒ๋ฉ”๋‰ด๊ฐ€ ๋…ธ์ถœ๋˜๋Š” ํ˜•ํƒœ
๋งŒ์•ฝ ์„œ๋ธŒ๋ฉ”๋‰ด๊ฐ€ ์—†๋‹ค๋ฉด ํ•˜๋‹จ์— ์•„๋ฌด๊ฒƒ๋„ ๋…ธ์ถœ๋˜์ง€ ์•Š๊ฒŒ ํ•จ.
ํ™œ์„ฑํ™”, ๋งˆ์šฐ์Šค ์˜ค๋ฒ„์‹œ ๋ฉ”๋‰ด์˜ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

์Šคํƒ€์ผ ์ •๋ณด

  • ๋ฉ”์ธ/์„œ๋ธŒ ๋ฉ”๋‰ด ๋†’์ด:50px
  • ๋ฉ”์ธ๋ฉ”๋‰ด-ํฐํŠธ 20px #333
  • ๋ฉ”์ธ๋ฉ”๋‰ด ์˜ค๋ฒ„/ํ™œ์„ฑํ™”์‹œ ํฐํŠธ 20px bold green
  • ์„œ๋ธŒ ๋ฉ”๋‰ดใ…  ํฐํŠธ 17px #333
  • ์„œ๋ธŒ ๋ฉ”๋‰ด ์˜ค๋ฒ„/ํ™œ์„ฑํ™” ์‹œ ํฐํŠธ 17px bold green, ํ•˜๋‹จ ๋ผ์ธ 2px green

์ฃผ์š” ํƒœ๊ทธ ๋ฐ ์Šคํƒ€์ผ

  • HTML
    div, ul, li, a, span
  • CSS
    position, border, margin, padding, background, text-align, :after, :hover

text-alignํ†ตํ•ด ์ธ๋ผ์ธ ๋ธ”๋ก ์š”์†Œ ๊ฐ€์šด๋ฐ ์ •๋ ฌ


<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <link rel="stylesheet" href="menu2.css">
    <title>๋ฉ”๋‰ด์‹ค์Šต2</title>
</head>
<body>
  <div class="wrap">
    <!-- ๋ฉ”์ธ ๋ฉ”๋‰ด -->
    <ul class="menu">
     <!-- ๋ฉ”์ธ ๋ฉ”๋‰ด ํ™œ์„ฑํ™” ํด๋ž˜์Šค active ์ถ”๊ฐ€ -->
      <li class="menu_item active">
        <a href="#" class="menu_link">์›นํˆฐ</a>
        <!-- ์„œ๋ธŒ ๋ฉ”๋‰ด -->
        <ul class="submenu">
          <!-- ์„œ๋ธŒ ๋ฉ”๋‰ด ํ™œ์„ฑํ™” ํด๋ž˜์Šค active ์ถ”๊ฐ€ -->
          <li class="submenu_item active"><a href="#" class="submenu_link"><span>์š”์ผ๋ณ„</span></a></li>
          <li class="submenu_item"><a href="#" class="submenu_link"><span>์žฅ๋ฅด๋ณ„</span></a></li>
          <li class="submenu_item"><a href="#" class="submenu_link"><span>์ž‘๊ฐ€๋ณ„</span></a></li>
          <li class="submenu_item"><a href="#" class="submenu_link"><span>์—ฐ๋„๋ณ„</span></a></li>
          <li class="submenu_item"><a href="#" class="submenu_link"><span>์ž‘ํ’ˆ๋ณ„</span></a></li>  
        </ul>
      </li>
      <li class="menu_item">
        <a href="#" class="menu_link">๋ธ”๋กœ๊ทธ</a>
      </li>
      <li class="menu_item">
        <a href="#" class="menu_link">์ง€์‹๋ฐฑ๊ณผ</a>
        <!-- ์„œ๋ธŒ ๋ฉ”๋‰ด -->
        <ul class="submenu">
          <li class="submenu_item"><a href="#" class="submenu_link"><span>๊ฑด๊ฐ•๋ฐฑ๊ณผ</span></a></li>
          <li class="submenu_item"><a href="#" class="submenu_link active"><span>๋ฐ€๋ฆฌํ„ฐ๋ฆฌ๋ฐฑ๊ณผ</span></a></li>
          <li class="submenu_item"><a href="#" class="submenu_link"><span>์Œ์‹๋ฐฑ๊ณผ</span></a></li>
          <li class="submenu_item"><a href="#" class="submenu_link"><span>๋™๋ฌผ๋ฐฑ๊ณผ</span></a></li>      
        </ul>
      </li>        
      <li class="menu_item">
        <a href="#" class="menu_link">์นดํŽ˜</a>          
      </li>
    </ul>
  </div>
</body>
</html>
@charset "UTF-8";

/* ๊ธฐ๋ณธ ์Šคํƒ€์ผ */
body {
    font-family: '๋‚˜๋ˆ”๊ณ ๋”•', NanumGothic, Dotum, '๋‹์›€', sans-serif;
    font-size: 14px;
    line-height: 16px;
}
body, ul, ol, li, div, a {
    margin:0;
    padding:0;
}
ul, ol {
    list-style:none;
}
a {
    color: inherit;
    text-decoration: none;
}
/* 2๋‹จ ๋ฉ”๋‰ด */
.menu {
    width: 700px;
    margin: 20px auto 0; /*block ์š”์†Œ ์ค‘์•™์ •๋ ฌ ๋ฐ ์—ฌ๋ฐฑ*/
    text-align: center; /*inline-block์š”์†Œ ์ค‘์•™์ •๋ ฌ*/
}
.menu_item {
    display: inline-block; /*๊ฐ€๋กœ๋กœ ๋ฐฐ์น˜๋˜๊ฒŒ*/
}
.menu_link {
    display: block; /*menu_link์™€ menu_item์ด ๋™์ผํ•œ ์‚ฌ์ด์ฆˆ ๊ฐ–๊ฒŒ*/
    padding: 13px 20px; /*๊ฐ menu_item๋“ค์ด ์—ฌ๋ฐฑ์ด ์ƒ๊น€์œผ๋กœ์จ ๋ˆŒ๋Ÿฌ์ง€๋Š” ์˜์—ญ์ด ๋” ํฌ๊ฒŒ ์žกํ˜€์„œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๋ฅด๊ธฐ ์‰ฝ๊ฒŒํ•จ*/
    font-size: 20px;
    line-height: 24px;
    font-weight: bold;
    color: #444;
}
.menu_item:hover .menu_link,
.menu_item.active .menu_link {
    color: green; /* ๋ฉ”์ธ ๋ฉ”๋‰ด ์„ ํƒ, ํ™œ์„ฑํ™” ํšจ๊ณผ */
}

/*๋ฉ”์ธ๋ฉ”๋‰ด์— active๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ์— ์„œ๋ธŒ๋ฉ”๋‰ด ๋…ธ์ถœ*/
.menu_item.active .submenu {
    display: block; /* ๋ฉ”์ธ ๋ฉ”๋‰ด ํ™œ์„ฑํ™” ์‹œ ์„œ๋ธŒ ๋ฉ”๋‰ด ๋…ธ์ถœ ์ฒ˜๋ฆฌ */
}
/*์„œ๋ธŒ๋ฉ”๋‰ด*/
.submenu {
    display: none; /* ์„œ๋ธŒ ๋ฉ”๋‰ด๋Š” ๊ธฐ๋ณธ ๋น„๋…ธ์ถœ ์ฒ˜๋ฆฌ */
    position: absolute;
    /* ์„œ๋ธŒ๋ฉ”๋‰ด๊ฐ€ ๋ฉ”์ธ๋ฉ”๋‰ด์ฒ˜๋Ÿผ ์ „์ฒด์˜์—ญ์—์„œ ๊ฐ€๋กœ์ค‘์•™์ •๋ ฌ๋˜๋„๋ก ์žก์•„์•ผํ•จ. ๋งŒ์•ฝ ๋ถ€๋ชจ์ธ menu_item์— position:relative ์ฃผ๊ฒŒ ๋˜๋ฉด ๋ถ€๋ชจ์˜ ์œ„์น˜, ๋„ˆ๋น„, ๋†’์ด ๋“ฑ์„ ์ƒ์†๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ๋ธŒ๋ผ์šฐ์ € ์ „์ฒด ๊ฐ€๋กœ ๋„ˆ๋น„์— ์ค‘์•™์ •๋ ฌ๋˜๋Š” ํ˜•ํƒœ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์—†๋‹ค. (๋ถ€๋ชจ์˜ ์œ„์น˜์— ์„œ๋ธŒ๋ฉ”๋‰ด๊ฐ€ ์˜ํ–ฅ๋ฐ›์Œ)*/
    left: 0;
    width: 100%;
    min-width: 700px;
    /*min-width๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์ฐฝ์ด ์ค„์–ด๋“ค๊ฒฝ์šฐ ์„œ๋ธŒ๋ฉ”๋‰ด๊ฐ€ ๋ฐ‘์œผ๋กœ ๋–จ์–ด์ง€๋Š” ํ˜„์ƒ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ ๋„ฃ์–ด์ฃผ๊ธฐ*/
    border-top: 1px solid #eee; /* ์„œ๋ธŒ ๋ฉ”๋‰ด ์ƒ๋‹จ ๋ผ์ธ */
    border-bottom: 1px solid #eee; /* ์„œ๋ธŒ ๋ฉ”๋‰ด ํ•˜๋‹จ ๋ผ์ธ */
}
.submenu_item {
    display: inline-block;
}
.submenu_link {
    display: block;
    padding: 15px 35px;
    font-size: 17px;
    line-height: 20px;
    color: #333;
}
 /* ์„œ๋ธŒ ๋ฉ”๋‰ด ์„ ํƒ, ํ™œ์„ฑํ™” ์‹œ ํšจ๊ณผ */
.submenu_item:hover .submenu_link,
.submenu_item.active .submenu_link {
    font-weight: bold;
    color: green;
}
.submenu_link span {
    position: relative; 
}
 /* ์„œ๋ธŒ ๋ฉ”๋‰ด ์„ ํƒ, ํ™œ์„ฑํ™” ์‹œ ํ•˜๋‹จ ๋ผ์ธ ๋…ธ์ถœ ํšจ๊ณผ  */
.submenu_item:hover span:after,
.submenu_item.active span:after {
    position: absolute;
    content: ''; /*๋นˆ๊ฐ’ ๋„ฃ์–ด์ฃผ๊ธฐ*/
    right: 0;
    bottom: -15px;
    left: 0;    
    border-bottom: 2px solid green;
}

์„œ๋ธŒ๋ฉ”๋‰ด ํ™œ์„ฑํ™” ์‹œ ํ•˜๋‹จ ๋ผ์ธ ๋…ธ์ถœ์„ ์œ„ํ•ด์„œ ํ…์ŠคํŠธ ๋ฐ‘์˜ ๋„ˆ๋น„์™€ ๋™์ผํ•˜๊ฒŒ ์žก๊ธฐ ์œ„ํ•ด์„œ๋Š” width๊ฐ’์„ ์ค˜์„œ ์žก์„ ์ˆ˜ ์žˆ์Œ.
๊ทผ๋ฐ width๊ฐ’์„ ์ฃผ๊ฒŒ ๋˜๋ฉด ๋‚˜์ค‘์— ์œ ์ง€ ๋ณด์ˆ˜๋•Œ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.
ํ…์ŠคํŠธ๋ช…์ด ๊ธธ์–ด์งˆ๋•Œ ๋ฉ”๋‰ด๋„ ๊ฐ™์ด ๋„ˆ๋น„๊ฐ€ ๋Š˜์–ด๋‚˜๋Š”๋ฐ, ๊ทธ๋Ÿด ๊ฒฝ์šฐ width๊ฐ’์„ ํ•ญ์ƒ ํ…์ŠคํŠธ ์‚ฌ์ด์ฆˆ์— ๋งž๋Š” ๋„ˆ๋น„ ์‚ฌ์ด์ฆˆ ๊ฐ’์„ ํ•ญ์ƒ ๋„ฃ์–ด์ค˜์•ผํ•จ.
๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ๋ฉ”๋‰ด๋ณ„๋กœ ๊ฐ๊ฐ ์Šคํƒ€์ผ ๊ด€๋ฆฌ๊ฐ€ ์ ์šฉ๋˜์•ผ ํ•˜๋ฏ€๋กœ ๋Œ€์‹  submenu_link์•ˆ์— ํ…์ŠคํŠธ๋ฅผ ๊ฐ์‹ธ๋Š” span ํƒœ๊ทธ ์ถ”๊ฐ€ํ•จ.
span์€ ์ธ๋ผ์ธ ์†์„ฑ์ด๋ฏ€๋กœ ํ…์ŠคํŠธ ๋„ˆ๋น„์™€ ๋™์ผํ•˜๊ฒŒ ์˜์—ญ์ด ์žกํž˜

์ •๋ฆฌ

  • ๋ฉ”๋‰ด ์ค‘์•™ ์ •๋ ฌ : display:inline-block, text-align:center

  • ์„œ๋ธŒ ๋ฉ”๋‰ด ๋ณด์ด๊ธฐ/๊ฐ์ถ”๊ธฐ display:block/none
    ์„œ๋ธŒ๋ฉ”๋‰ด๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋…ธ์ถœ์‹œํ‚ค๋ฉด ์„œ๋ธŒ๋ฉ”๋‰ด ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ๊ฒน์น˜๊ฒŒ๋จ
    ๋”ฐ๋ผ์„œ default๋กœ none ํ•ด์ฃผ๊ณ  ๋ฉ”๋‰ด๊ฐ€ ํ™œ์„ฑํ™”๋˜์—ˆ์„๋•Œ, ์ฆ‰ active ํด๋ž˜์Šค๊ฐ€ ์žˆ์„๋•Œ๋งŒ ์„œ๋ธŒ๋ฉ”๋‰ด ๋ณด์ด๋„๋ก block์œผ๋กœ ๋ณ€๊ฒฝ

  • ์„œ๋ธŒ ๋ฉ”๋‰ด ํ•˜๋‹จ ๋ผ์ธ : span, :after
    menu_link์— ๋ฐ”๋กœ border-bottom์„ ์ฃผ๊ฒŒ ๋˜๋ฉด menu_link์™€ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋™์ผํ•œ border-bottom์ด ์ƒ์„ฑ๋จ.
    ๋”ฐ๋ผ์„œ ๋ฉ”๋‰ด ๋„ˆ๋น„์— ๋™์ผํ•œ ์‚ฌ์ด์ฆˆ๋ฅผ ๋งž์ถฐ์„œ border-bottom์ด ๋‚˜์˜ค๊ฒŒ ํ•˜๋ ค๋ฉด span์œผ๋กœ ๋ฉ”๋‰ด๋ฅผ ๊ฐ์‹ธ์„œ ๊ฐ€์ƒ์„ ํƒ์ž๋ฅผ span์— ๊ฑธ์–ด์คŒ.
    ๊ทธ๋Ÿฐ ํ›„์— border-bottom์„ ์ฃผ๋ฉด span์€ ์ธ๋ผ์ธ ์š”์†Œ์ด๋ฏ€๋กœ ๋ฉ”๋‰ด๋ช…์— ๋”ฑ ๋งž๋Š” ๊ตฌ์กฐ๋กœ ์ธ์‹ํ•จ

0๊ฐœ์˜ ๋Œ“๊ธ€