
๋ฉ๋ด๋ ํค๋์์ ๋ฉ๋ด๋ฒํผ์ ๋๋ฅด๋ฉด ๋ด๋ ค์ค๋ ๋ถ๋ถ์ ๋งํ๋ฉฐ,
๋ณดํต 4๊ฐ์ ๋ฉ์ธ๋ฉ๋ด์ ๊ฐ๊ฐ 4๊ฐ์ฉ์ ์๋ธ๋ฉ๋ด๋ก ๊ตฌ์ฑ๋์ด์๋ค.
๋ชจ์์ ๊ฐ๋กํ1,2,3/ ์ธ๋กํ1,2 ... ๋ก ๋์ด ์์. (์ผ๋จ A~C์ ํ์์๋..)
ํ๋์ฉ ๋ง๋ค์ด๋ณด๋ฉด์ ์ ์ด๋๊ฒ ์!
๊ธฐ๋ณธ HTML
<header>
<h1>
<a href="#"><img src="images/logo.png" alt="๋ก๊ณ " /></a>
</h1>
<nav>
<ul>
<li class="lv1">
<a href="#">๋ฉ์ธ๋ฉ๋ด1</a>
<ul class="lv2">
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
</ul>
</li>
<li class="lv1">
<a href="#">๋ฉ์ธ๋ฉ๋ด2</a>
<ul class="lv2">
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
</ul>
</li>
<li class="lv1">
<a href="#">๋ฉ์ธ๋ฉ๋ด3</a>
<ul class="lv2">
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
</ul>
</li>
<li class="lv1">
<a href="#">๋ฉ์ธ๋ฉ๋ด4</a>
<ul class="lv2">
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
<li><a href="#">์๋ธ๋ฉ๋ด</a></li>
</ul>
</li>
</ul>
</nav>
</header>
์ ์ฒด ๋ฉ์ธ์ ๊ฐ์ธ๋ ul -> ๊ทธ ๋ฉ์ธ๋ฉ๋ด๋ค li (lv1) -> ๋ฉ์ธ ๋ฉ๋ด ์ ์๋ธ๋ฉ๋ด๋ฅผ ๊ฐ์ธ๋ ul (lv2) -> ๊ฐ๊ฐ์ ์๋ธ๋ฉ๋ด (li)
๊ฐ๋กํ 1

CSS
style.css
header {
background-color: #faebd7;
display: flex;
height: 100px;
align-items: center;
}
header h1 {
display: block;
}
header nav {
width: 600px;
margin: 0px 0 0 370px;
}
header nav > ul {
display: flex;
}
header ul a {
display: block;
text-align: center;
background: #f4ffab;
padding: 10px;
}
li.lv1 {
position: relative;
width: 25%;
}
ul.lv2 {
position: absolute;
width: 100%;
z-index: 998;
display: none;
}
li.lv1:hover > a {
color: #fff;
background: rgb(199, 101, 101);
}
ul.lv2 li:hover a {
color: #fff;
background: rgb(230, 152, 152);
}

JQuery
script.js
$("header nav >ul").mouseenter(function () {
$("ul.lv2").stop().slideDown(800);
});
$("header nav >ul").mouseleave(function () {
$("ul.lv2").stop().slideUp(500);
});

๊ฐ๋กํ 2

์ด ์น๊ตฌ๋ html๋ ์กฐ๊ธ ๋ค๋ฆ.
HTML
index.html
<header>
<div class="headerBg"></div>
<h1>
...
</header>
๋ก๊ณ ๋ณด๋ค๋ ์์ div ๋ฅผ ํ๋ ๋ง๋ค์ด์ค๋ค.
CSS
style.css
header {
position: relative;
display: flex;
height: 100px;
align-items: center;
/* background-color: rgb(72, 201, 46); */
}
.headerBg {
position: absolute;
width: 100%;
height: 158px;
left: 0;
top: 100px;
background: rgb(98, 172, 83);
z-index: 997;
display: none;
}
header h1 a {
display: block;
width: 200px;
height: 40px;
}
header nav {
width: 600px;
margin: 60px 0px 0px 370px;
}
header nav > ul {
display: flex;
}
header nav ul a {
display: block;
text-align: center;
background: #fff;
padding: 10px;
}
li.lv1 {
position: relative;
width: 25%;
}
ul.lv2 {
position: absolute;
width: 100%;
z-index: 998;
display: none;
}
ul.lv2 a {
color: #fff;
background: rgb(98, 172, 83);
}
li.lv1:hover > a {
color: #fff;
background: rgb(31, 122, 39);
}
ul.lv2 li:hover a {
color: #333;
background: #fff;
}
JQuery
script.js
$("header nav >ul").mouseenter(function () {
$("ul.lv2, .headerBg").stop().slideDown();
});
$("header nav >ul").mouseleave(function () {
$("ul.lv2, .headerBg").stop().slideUp();
});

๊ฐ๋กํ 3

CSS
style.css
header {
display: flex;
height: 100px;
align-items: center;
}
header nav {
width: 600px;
margin: 58px 0 0 370px;
}
header nav > ul {
display: flex;
}
header ul a {
display: block;
text-align: center;
background: #fff;
padding: 10px;
}
li.lv1 {
position: relative;
width: 25%;
}
ul.lv2 {
position: absolute;
width: 100%;
z-index: 998;
display: none;
}
li.lv1:hover > a {
color: #fff;
background: rgb(199, 101, 101);
}
ul.lv2 li:hover a {
color: #fff;
background: rgb(230, 152, 152);
}
JQuery
script.js
$('li.lv1').mouseenter(function(){
$(this).find('ul.lv2').stop().slideDown()
})
$('li.lv1').mouseleave(function(){
$('ul.lv2').stop().slideUp()
})

์ง๊ธ๊น์ง ์์ฑํ ์ฝ๋๋ nav ๋ฉ๋ด ๋ถ๋ถ์ ์๋์ ์ผ๋ก margin์ ์ฃผ์ด ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋๋ฐ,
๊ทธ๋ ๊ฒ ํ์ง ์๊ตฌ header์์ ๋ก๊ณ ์ ๋ฉ๋ด ์ฌ์ด๋ฅผ ์ ๋์ ๋ฐฐ์นํด์ฃผ๋ justify-content: space-between์ ์จ์ค๋ ๋๋ค.
์ธ๋กํ์ ๋ฉ๋ด๊ฐ ์ผ์ชฝ์ ์ธ๋ก๋ก ์๋ C,D,E์์ ์์ฉํ ์ ์๋ค ^
์๋ C ๋ฟ์ด์๋๋ฐ ๋ ๊ฐ๋ ๋์ด๋ฌ๋ค ใ
์ธ๋กํ1

CSS
style.css
header {
width: 200px;
height: 100%;
border-right: 1px solid #000;
padding-top: 30px;
background-color: #ffd1e9;
}
header h1 {
width: 200px;
height: 40px;
}
header nav {
margin-top: 20px;
}
header nav > ul {
width: 180px;
padding-left: 14px;
}
header nav a {
display: block;
width: 100%;
text-align: center;
background: #fff;
padding: 10px;
}
li.lv1 {
border-bottom: 1px solid rgb(194, 44, 94);
}
li.lv1:nth-child(1) {
border-top: 1px solid rgb(194, 44, 94);
}
ul.lv2 {
display: none;
}
li.lv1:hover > a {
color: #fff;
background: rgb(242, 76, 170);
}
ul.lv2 li:hover a {
color: #fff;
background: rgb(247, 104, 185);
}
JQuery
script.js
$("li.lv1").mouseenter(function () {
$(this).find("ul.lv2").stop().slideDown();
});
$("li.lv1").mouseleave(function () {
$("ul.lv2").stop().slideUp();
});

์ธ๋กํ2

CSS
style.css
header {
width: 200px;
height: 100%;
padding-top: 30px;
background-color: #f3f5ff;
}
header h1 {
width: 200px;
height: 40px;
}
header nav {
margin-top: 20px;
}
header nav > ul {
width: 180px;
padding-left: 14px;
}
header nav a {
display: block;
width: 100%;
text-align: center;
padding: 10px;
}
li.lv1 {
position: relative;
}
ul.lv2 {
position: absolute;
left: 166px;
top: -30px;
width: 100%;
background: rgb(111, 115, 136);
z-index: 998;
display: none;
}
.lv1:hover > a {
color: #ffffff;
background: rgb(111, 115, 136);
}
.lv2 li:hover > a {
color: #ffffff;
background: rgb(166, 164, 201);
}
JQuery
script.js
$("li.lv1").mouseenter(function () {
$(this).find("ul.lv2").stop().fadeIn();
});
$("li.lv1").mouseleave(function () {
$("ul.lv2").stop().fadeOut();
});

'์๊ฒฉ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์น๋์์ธ ๊ธฐ๋ฅ์ฌ 4 - D์ ํ (์ ์ ํ ์ ๋ฆฌ) (0) | 2023.05.19 |
---|---|
์น๋์์ธ ๊ธฐ๋ฅ์ฌ 2 - ๊ธฐ๋ณธ ์ธํ & ์ด๋ฏธ์ง ์ฌ๋ผ์ด๋ (0) | 2023.05.19 |
์น๋์์ธ ๊ธฐ๋ฅ์ฌ ์ค๊ธฐ 1 - ๊ฐ์ก๊ธฐ (A-1) (0) | 2023.05.19 |