Cool CSS Menu Hover Effects - Using :before and :after pseudo element - Pure CSS Tutorial

Hôm nay mình sẽ giới thiệu cho các bạn tạo một hiệu ứng Menu Hover độc đáo, thường ứng ụng trong các trang website.
<ul id="nav-demo">
    <li><a href=""><span>Trang chủ</span></a></li>
    <li><a href=""><span>Giới thiệu</span></a></li>
    <li><a href=""><span>Dịch vụ</span></a></li>
    <li><a href=""><span>Dự án</span></a></li>
    <li><a href=""><span>Liên hệ</span></a></li>
</ul>

#nav-demo {
    padding: 0;
    margin: 0;
    &:after,
    &:before {
        content: " ";
        display: table;
    }
    &:after {
        clear: both;
    }
    li {
        float: left;
        list-style: none;
        a {
            position: relative;
            display: block;
            padding: 10px 20px;
            margin: 20px 0;
            text-transform: uppercase;
            color: #262626;
            font-weight: bold;
            -webkit-transition: .5s;
            -o-transition: .5s;
            transition: .5s;
            span {
                position: relative;
                z-index: 2;
            }
            &:before,&:after {
                content: "";
                position: absolute;
                left: 0;
                width: 100%;
                height: 100%;
                -webkit-transition: .5s;
                -o-transition: .5s;
                transition: .5s;
                z-index: 1;
            }
            &:before {
                top:0;
                opacity: 0;
                border-top:1px solid #000;
                border-bottom:1px solid #000;
                -webkit-transform: scaleY(2);
                    -ms-transform: scaleY(2);
                        transform: scaleY(2);
            }
            &:after {
                top:1px;
                -webkit-transform: scaleY(0);
                    -ms-transform: scaleY(0);
                        transform: scaleY(0);
                background-color: #262626;
            }
        }
        &:hover {
            a {
                color: #fff;
                &:before {
                    -webkit-transform: scaleY(1.2);
                        -ms-transform: scaleY(1.2);
                            transform: scaleY(1.2);
                    opacity: 1;
                }
                &:after {
                    -webkit-transform: scale(1);
                        -ms-transform: scale(1);
                            transform: scale(1);
                }
            }
        }
    }
}
@media screen and (max-width: 450px) {
    #nav-demo {
        li {
            float: none;
        }
    }
}

0 thảo luận về Cool CSS Menu Hover Effects - Using :before and :after pseudo element - Pure CSS Tutorial

comment_blank
Hãy để lại #comment của bạn mình sẽ giải đáp thắc mắc một cách sớm nhất có thể.

Bài viết cùng chuyên mục