CSS・CSS3

クールでカッコイイドロップダウンメニューをCSSで実装する

cool-drop

今回は、HTMLとCSSでクールでカッコイイドロップダウンメニューのご紹介です。
CSS3のtransformを利用してドロップダウンを表示しているのですが、ドロップダウンのメニューがクールでカッコ良かったので、シェアしたいと思います。
実装もそんなに難しくないとは思います。
一応、デモサイトも作って見ました。

デモサイト

ドロップダウンメニュー実装方法

それでは、実装方法を説明していきたいと思います。

HTML

HTMLに関しては、よくドロップダウンで利用されているマークアップだと思いますし、WordPressのメニューにも利用できるマークアップです。

<ul class="menu clearfix">
    <li><a href="">メニュー1</a></li>
    <li>
        <a href="">メニュー2</a>
        <ul class="submenu">
            <li><a href="">サブメニュー</a></li>
            <li><a href="">サブメニュー</a></li>
            <li><a href="">サブメニュー</a></li>
            <li><a href="">サブメニュー</a></li>
        </ul>         
    </li>
    <li><a href="">メニュー3</a></li>
    <li><a href="">メニュー4</a></li>
    <li>
    	<a href="">メニュー5</a>
        <ul class="submenu">
            <li><a href="">サブメニュー</a></li>
            <li><a href="">サブメニュー</a></li>
            <li><a href="">サブメニュー</a></li>
            <li><a href="">サブメニュー</a></li>
        </ul>  
    </li>
</ul>

CSS

最後にCSSを記載すれば、完了です。

.clearfix:after {
    content: "."; 
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
.clearfix {
    min-height: 1px;
}
.menu,.submenu {
    margin: 0;
    padding: 0;
    list-style: none;
}
/*---------------------------------------------------------
  					ドロップダウン
---------------------------------------------------------*/
.menu {          
    margin: 50px auto;
    width: 800px;
    width: fit-content;   
}

.menu > li {
    background: #2c3e50;
    float: left;
    position: relative;
    transform: skewX(25deg);
}

.menu a {
    display: block;
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 14px;
}        

.menu li:hover {
    background: #3498db;
}        

.menu > li > a {
    transform: skewX(-25deg);
    padding: 1em 2em;
}


.submenu {
    position: absolute;
    width: 200px;
    left: 50%; margin-left: -100px;
    transform: skewX(-25deg);
    transform-origin: left top;
}

.submenu li {
    background-color: #34495e;
    position: relative;
    overflow: hidden;       
}                        

.submenu > li > a {
    padding: 1em 2em;            
}

.submenu > li::after {
    content: '';
    position: absolute;
    top: -125%;
    height: 100%;
    width: 100%;            
    box-shadow: 0 0 50px rgba(0, 0, 0, .9);           
}        


.submenu > li:nth-child(odd){
    transform: skewX(-25deg) translateX(0);
}

.submenu > li:nth-child(odd) > a {
    transform: skewX(25deg);
}

.submenu > li:nth-child(odd)::after {
    right: -50%;
    transform: skewX(-25deg) rotate(3deg);
}                


.submenu > li:nth-child(even){
    transform: skewX(25deg) translateX(0);
}

.submenu > li:nth-child(even) > a {
    transform: skewX(-25deg);
}

.submenu > li:nth-child(even)::after {
    left: -50%;
    transform: skewX(25deg) rotate(3deg);
}


.submenu,
.submenu li {
    opacity: 0;
    visibility: hidden;     
}

.submenu li {
    transition: .2s ease-out transform;
}

.menu > li:hover .submenu,
.menu > li:hover .submenu li {
    opacity: 1;
    visibility: visible;
}        

.menu > li:hover .submenu li:nth-child(even){
    transform: skewX(25deg) translateX(15px);          
}

.menu > li:hover .submenu li:nth-child(odd){
    transform: skewX(-25deg) translateX(-15px);            
}

上記まで記載すれば、CSSで作るクールでカッコイイ ドロップダウンメニューの実装完了です。

参考サイト : Just another dropdown menu concept

こちらの記事をシェアする

こちらの記事があなたのお役にたちましたら、シェアしていただけますと大変嬉しく今後のブログ更新の糧となりますのでどうぞよろしくお願いします。(^^♪

About

Glow-Facotryでは、無料・有料のWPテーマを配布・販売サイトです。また、Web関連やWPの記事・日常的(ゲームも)なことをブログを利用して発信して行きたいと思っております。
よかったら下記のフォローをお気軽にお願いします。

関連記事

コメント

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PREVIOUS tiksluscarousel

レスポンシブ対応jQueryプラグイン カルーセルスライダー Tikslus Carousel使い方

NEXT search-form-customize

CSSとJSで検索フォームをカスタマイズするコード 5+