CSS 3 드롭다운 에니메이션 메뉴
- 퍼블리셔/css
- 2012. 7. 21. 13:33
CSS 3 로 제작된 드롭다운 메뉴입니다.
뭐 워낙 좋은 드롭다운메뉴는 많이 있습니다. 그런데 하나같이 이미지가 있어야 하거나, 스크립트가 추가되거나 합니다.
또 부드럽게 하위메뉴가 펼쳐지면 좋은데 그냥 보이고, 감추는 형식입니다.
CSS 3 에는 에니메이션이나 트렌스폼같은것이 있습니다. 적절하게 잘만 응용하면 좋은 드롭다운 메뉴가 나오는데요....
저도 해보았지만 그닥 만만하지가 않군요.
적어도 ie8 버젼까지는 사용할만 해야 할것 같아서요...
이 메인메뉴의 포커스는 아래와 같습니다.
ie7 이하로는 물론 보이기는 하나 약간 엉클어집니다. 뭐 구지 그것까지 지원할 필요가 없구요...
좋은 브라우져 세고 셌는데....구지 하위 브라우져 신경 쓸 필요가 없다고 봅니다.
여하튼 파이어폭스에서 보여지는 모습입니다.
익스플로러는 둥근 이미지, 트랜지션 등등 지원하지 않는것이 많습니다. 그냥 보이고 안보이고의 기능입니다.
어떻게 보여지는지 참고하세요. 익스플로러 8 입니다.
코드 나갑니다.
뭐 워낙 좋은 드롭다운메뉴는 많이 있습니다. 그런데 하나같이 이미지가 있어야 하거나, 스크립트가 추가되거나 합니다.
또 부드럽게 하위메뉴가 펼쳐지면 좋은데 그냥 보이고, 감추는 형식입니다.
CSS 3 에는 에니메이션이나 트렌스폼같은것이 있습니다. 적절하게 잘만 응용하면 좋은 드롭다운 메뉴가 나오는데요....
저도 해보았지만 그닥 만만하지가 않군요.
적어도 ie8 버젼까지는 사용할만 해야 할것 같아서요...
이 메인메뉴의 포커스는 아래와 같습니다.
- 이미지가 없습니다.
- 자바스크립트가 없습니다.
- 하위로 펼쳐지는 드롭다운 메뉴입니다.
- 하위로 부드럽게 펼쳐집니다.
ie7 이하로는 물론 보이기는 하나 약간 엉클어집니다. 뭐 구지 그것까지 지원할 필요가 없구요...
좋은 브라우져 세고 셌는데....구지 하위 브라우져 신경 쓸 필요가 없다고 봅니다.
여하튼 파이어폭스에서 보여지는 모습입니다.
익스플로러는 둥근 이미지, 트랜지션 등등 지원하지 않는것이 많습니다. 그냥 보이고 안보이고의 기능입니다.
어떻게 보여지는지 참고하세요. 익스플로러 8 입니다.
코드 나갑니다.
<ul id="nav">
<li><a href="#">link 1</a></li>
<li><a href="#">DropDown 1<span class="subIcon">∇</span></a>
<ul>
<li><a href="#">child 1</a></li>
<li><a href="#">child 2</a></li>
<li><a href="#">child 3</a></li>
</ul>
</li>
<li><a href="#">link 2</a></li>
<li><a href="#">DropDown 2<span class="subIcon">∇</span></a>
<ul>
<li><a href="#">child 1</a></li>
<li><a href="#">child 2</a></li>
<li><a href="#">child 3</a></li>
<li><a href="#">child 4</a></li>
<li><a href="#">child 5</a></li>
<li><a href="#">child 6</a></li>
<li><a href="#">child 7</a></li>
<li><a href="#">child 8</a></li>
<li><a href="#">child 9</a></li>
</ul>
</li>
</ul>
#nav { display:inline-block; width:100%; margin:0px auto; padding:0; }
#nav li { margin:0px; float:left; position:relative; list-style:none; line-height: 40px; }
#nav li a { display: block; padding:0 15px; text-decoration: none; }
#nav li:hover > ul { opacity:1; }
#nav ul { opacity:0; padding:0; margn:0; width:150px; position:absolute; }
#nav ul ul { left:150px; top:0px; padding:0; margn:0; }
#nav ul li { float:none; height: 0; line-height: 0; }
#nav li:hover ul li { height: 40px; line-height: 40px; }
/* subIcon */
.subIcon { padding-left:5px; }
/* color */
#nav li a,.subIcon { color: #444; text-shadow:0 1px #fff; }
#nav li a:hover { color: #000; }
/* background */
#nav li a {
background: rgb(234,234,234); /* Old browsers */
background: -moz-linear-gradient(top, rgba(234,234,234,1) 0%, rgba(170,170,170,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(234,234,234,1)), color-stop(100%,rgba(170,170,170,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(234,234,234,1) 0%,rgba(170,170,170,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(234,234,234,1) 0%,rgba(170,170,170,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(234,234,234,1) 0%,rgba(170,170,170,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(234,234,234,1) 0%,rgba(170,170,170,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eaeaea', endColorstr='#aaaaaa',GradientType=0 ); /* IE6-9 */
}
#nav li:hover > a {
background: rgb(193,193,193); /* Old browsers */
background: -moz-linear-gradient(top, rgba(193,193,193,1) 0%, rgba(155,155,155,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(193,193,193,1)), color-stop(100%,rgba(155,155,155,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(193,193,193,1) 0%,rgba(155,155,155,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(193,193,193,1) 0%,rgba(155,155,155,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(193,193,193,1) 0%,rgba(155,155,155,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(193,193,193,1) 0%,rgba(155,155,155,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c1c1c1', endColorstr='#9b9b9b',GradientType=0 ); /* IE6-9 */
}
/* border */
#nav li {
border-right:1px solid #999;
border-left:1px solid #eee;
}
#nav li:first-child { border-left:0 none; }
#nav li:last-child { border-right:0 none; }
#nav li li { border:0 none; }
/* border-radius */
#nav li:first-child a {
-webkit-border-radius: 3px 0 0 3px;
-moz-border-radius: 3px 0 0 3px;
border-radius: 3px 0 0 3px;
}
#nav li:last-child a {
-webkit-border-radius: 0 3px 3px 0;
-moz-border-radius: 0 3px 3px 0;
border-radius: 0 3px 3px 0;
}
#nav li li a {
-webkit-border-radius: 3px !important;
-moz-border-radius: 3px !important;
border-radius: 3px !important;
}
/* transition */
#nav li a {
-webkit-transition: all 0.5s linear;
-moz-transition:all 0.5s linear;
-o-transition:all 0.5s linear;
}
#nav li ul li {
-webkit-transition: all 0.5s;
-moz-transition:all 0.5s;
-o-transition:all 0.5s;
}
아래에서 다운로드 받아서 사용하세요.다른 드롭다운 메뉴
jQuery 드롭다운메뉴 사용하는 방법-jquery.droppy.js => http://demun.tistory.com/2082
수평 드롭다운 메뉴 => http://demun.tistory.com/2145
CSS 3 드롭다운 에니메이션 메뉴 => http://demun.tistory.com/2161
티스토리 카테고리 메뉴를 드롭다운으로 이용하는 방법 => http://demun.tistory.com/2175
수평 드롭다운 메뉴바 달기(jquery이용) Horizontal CSS Menus => http://demun.tistory.com/1672
이미지가 필요없는 css 드롭다운 메뉴 Vertical css menu => http://demun.tistory.com/1613
티스토리 블로그메뉴를 드롭다운으로 이용하는 방법 => http://demun.tistory.com/2174
css 애니메인션 드롭다운 => http://demun.tistory.com/2310