Files
2026-06-11 18:47:38 +09:00

226 lines
4.4 KiB
CSS

/* Trend07 Header Style - PNS Style */
#site-header {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 90px;
background-color: transparent; /* 초기 투명 */
border-bottom: 1px solid rgba(255,255,255,0.2);
z-index: 1000;
transition: all 0.3s ease;
}
/* 스크롤 시 스타일 변경 (JS로 클래스 추가) */
#site-header.scrolled {
background-color: #fff;
height: 80px;
border-bottom: 1px solid #eee;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.header-inner {
max-width: 1600px;
margin: 0 auto;
height: 100%;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 40px;
}
.header-logo img {
height: 30px;
width: auto;
filter: brightness(0) invert(1); /* 초기 흰색 로고 */
transition: filter 0.3s;
}
#site-header.scrolled .header-logo img {
filter: none; /* 스크롤 시 원래 색상 */
}
.header-gnb ul {
display: flex;
gap: 50px;
margin: 0;
padding: 0;
list-style: none;
}
.header-gnb > ul > li {
position: relative;
}
.header-gnb a {
text-decoration: none;
color: #fff;
font-size: 16px;
font-weight: 500;
transition: color 0.3s;
display: block;
padding: 30px 0;
}
#site-header.scrolled .header-gnb a {
color: #333;
}
.header-gnb a:hover {
color: #009fe3; /* PNS Blue */
}
/* 2차 메뉴 (드롭다운) */
.sub-menu {
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
background: #fff;
min-width: 180px;
padding: 15px 0;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
border-top: 3px solid #009fe3;
opacity: 0;
visibility: hidden;
transition: all 0.3s;
display: block !important; /* flex 덮어쓰기 */
}
.header-gnb li:hover .sub-menu {
opacity: 1;
visibility: visible;
top: 80%;
}
.sub-menu li {
text-align: center;
}
.sub-menu a {
color: #555 !important;
padding: 10px 20px;
font-size: 14px;
}
.sub-menu a:hover {
background-color: #f9f9f9;
color: #009fe3 !important;
}
.header-utils ul {
display: flex;
align-items: center;
gap: 20px;
margin: 0;
padding: 0;
list-style: none;
}
.header-utils a, .header-utils button {
text-decoration: none;
color: #fff;
font-size: 13px;
background: none;
border: none;
cursor: pointer;
transition: color 0.3s;
}
#site-header.scrolled .header-utils a,
#site-header.scrolled .header-utils button {
color: #333;
}
.header-utils a:hover, .header-utils button:hover {
color: #009fe3;
}
/* 모바일 메뉴 */
.mobile-menu-trigger, .mobile-menu-panel {
display: none;
}
@media (max-width: 1024px) {
.header-gnb, .header-utils {
display: none;
}
.mobile-menu-trigger {
display: block;
width: 30px;
height: 20px;
position: relative;
background: none;
border: none;
cursor: pointer;
}
.mobile-menu-trigger span {
display: block;
width: 100%;
height: 2px;
background-color: #fff;
position: absolute;
left: 0;
transition: all 0.3s;
}
#site-header.scrolled .mobile-menu-trigger span {
background-color: #333;
}
.mobile-menu-trigger span:nth-child(1) { top: 0; }
.mobile-menu-trigger span:nth-child(2) { top: 50%; transform: translateY(-50%); }
.mobile-menu-trigger span:nth-child(3) { bottom: 0; }
.mobile-menu-panel {
display: block;
position: fixed;
top: 0;
right: -100%;
width: 100%;
height: 100%;
background: #fff;
z-index: 1100;
transition: right 0.4s ease;
padding: 20px;
}
.mobile-menu-panel.active {
right: 0;
}
.mobile-menu-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 40px;
border-bottom: 1px solid #eee;
padding-bottom: 20px;
}
.mobile-menu-close {
font-size: 30px;
background: none;
border: none;
cursor: pointer;
}
.mobile-gnb ul {
list-style: none;
padding: 0;
margin: 0;
}
.mobile-gnb a {
display: block;
padding: 15px 0;
font-size: 18px;
color: #333;
text-decoration: none;
border-bottom: 1px solid #f5f5f5;
}
}