下拉菜单旋转出现css

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        @charset "utf-8";
        body{
            margin: 0;
            padding: 0;
            -webkit-text-size-adjust: none;
            /*background-image: url("../img/hat.jpg");*/
            font: 12px "宋体";
        }

        a img {
            border: 0
        }

        ul, ol, li {
            list-style-type: none;
            vertical-align: 0
        }

        a {
            outline-style: none;
            color: #535353;
            text-decoration: none
        }

        a:hover {
            color: #D40000;
            text-decoration: none
        }

        .clear {
            height: 0;
            overflow: hidden;
            clear: both
        }
        header{
            height: 100px;
        }
        input{
            border: none;
        }
        .button {
            display: inline-block;
            zoom: 1;
            *display: inline;
            vertical-align: baseline;
            margin: 0 2px;
            outline: none;
            cursor: pointer;
            text-align: center;
            text-decoration: none;
            font: 14px/100% Arial, Helvetica, sans-serif;
            padding: 0.25em 0.6em 0.3em;
            text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
            -webkit-border-radius: .5em;
            -moz-border-radius: .5em;
            border-radius: .5em;
            -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
            -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
            box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
        }

        /*restCSS结束,应用特效时,以上样式可删除*/
        /* 需要的css样式 */
        .nav {
            width: 970px;
            margin: 0 auto;
            text-align: center;
        }

        .menu, .menu ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .menu {
            height: 58px;
            margin-top: 20px;
        }

        .menu li {
            background-color: #0C0000;
            border-bottom: 2px solid #181818;
            border-top: 2px solid #303030;
            min-width: 160px;
        }

        .menu > li {
            display: block;
            float: left;
            position: relative;
        }

        .menu > li:first-child {
            border-radius: 5px 0 0;
        }

        .menu a {
            border-left: 3px solid rgba(0, 0, 0, 0);
            /*background: url("../img/back.jpg");*/
            color: #808080;
            display: block;
            font-size: 18px;
            line-height: 54px;
            padding: 0 25px;
            text-decoration: none;
            text-transform: uppercase;
        }

        .menu li:hover {
            background-color: #1c1c1c;
            background: -moz-linear-gradient(#1c1c1c, #1b1b1b);
            background: -ms-linear-gradient(#1c1c1c, #1b1b1b);
            background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #1c1c1c), color-stop(100%, #1b1b1b));
            background: -webkit-linear-gradient(#1c1c1c, #1b1b1b);
            background: -o-linear-gradient(#1c1c1c, #1b1b1b);
            filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1c1c1c', endColorstr='#1b1b1b');
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#1c1c1c', endColorstr='#1b1b1b')";
            background: linear-gradient(#1c1c1c, #1b1b1b);
            border-bottom: 2px solid #222222;
            border-top: 2px solid #1B1B1B;
            /*改变加深父元素的背景*/
        }

        .menu li:hover > a {
            border-radius: 5px 0 0 0;
            border-left: 3px solid #C4302B;
            color: #C4302B;
        }

        .submenu {
            left: 0;
            max-height: 0;
            position: absolute;
            top: 100%;
            z-index: 0;
            -webkit-perspective: 400px;
            -moz-perspective: 400px;
            -ms-perspective: 400px;
            -o-perspective: 400px;
            perspective: 400px;
        }

        .submenu li {
            opacity: 0;
            -webkit-transform: rotateY(90deg);
            -moz-transform: rotateY(90deg);
            -ms-transform: rotateY(90deg);
            -o-transform: rotateY(90deg);
            transform: rotateY(90deg);
            -webkit-transition: opacity .4s, -webkit-transform .5s;
            -moz-transition: opacity .4s, -moz-transform .5s;
            -ms-transition: opacity .4s, -ms-transform .5s;
            -o-transition: opacity .4s, -o-transform .5s;
            transition: opacity .4s, transform .5s;
            /*实现下拉菜单螺旋淡出*/
        }

        .menu .submenu li:hover a {
            border-left: 3px solid #454545;
            border-radius: 0;
            color: #ffffff;
        }

        .menu > li:hover .submenu, .menu > li:focus .submenu {
            max-height: 2000px;
            z-index: 10;
        }

        .menu > li:hover .submenu li, .menu > li:focus .submenu li {
            opacity: 1;
            -webkit-transform: none;
            -moz-transform: none;
            -ms-transform: none;
            -o-transform: none;
            transform: none;
        }
        /*动画递进的时间 实现一个个螺旋子菜单*/
        .menu li:hover .submenu li:nth-child(1) {
            -webkit-transition-delay: 0s;
            -moz-transition-delay: 0s;
            -ms-transition-delay: 0s;
            -o-transition-delay: 0s;
            transition-delay: 0s;
        }

        .menu li:hover .submenu li:nth-child(2) {
            -webkit-transition-delay: 50ms;
            -moz-transition-delay: 50ms;
            -ms-transition-delay: 50ms;
            -o-transition-delay: 50ms;
            transition-delay: 50ms;
        }

        .menu li:hover .submenu li:nth-child(3) {
            -webkit-transition-delay: 100ms;
            -moz-transition-delay: 100ms;
            -ms-transition-delay: 100ms;
            -o-transition-delay: 100ms;
            transition-delay: 100ms;
        }

        .menu li:hover .submenu li:nth-child(4) {
            -webkit-transition-delay: 150ms;
            -moz-transition-delay: 150ms;
            -ms-transition-delay: 150ms;
            -o-transition-delay: 150ms;
            transition-delay: 150ms;
        }

        .menu li:hover .submenu li:nth-child(5) {
            -webkit-transition-delay: 200ms;
            -moz-transition-delay: 200ms;
            -ms-transition-delay: 200ms;
            -o-transition-delay: 200ms;
            transition-delay: 200ms;
        }

        .menu li:hover .submenu li:nth-child(6) {
            -webkit-transition-delay: 250ms;
            -moz-transition-delay: 250ms;
            -ms-transition-delay: 250ms;
            -o-transition-delay: 250ms;
            transition-delay: 250ms;
        }

        .menu li:hover .submenu li:nth-child(7) {
            -webkit-transition-delay: 300ms;
            -moz-transition-delay: 300ms;
            -ms-transition-delay: 300ms;
            -o-transition-delay: 300ms;
            transition-delay: 300ms;
        }

        .menu li:hover .submenu li:nth-child(8) {
            -webkit-transition-delay: 350ms;
            -moz-transition-delay: 350ms;
            -ms-transition-delay: 350ms;
            -o-transition-delay: 350ms;
            transition-delay: 350ms;
        }

        .submenu li:nth-child(1) {
            -webkit-transition-delay: 350ms;
            -moz-transition-delay: 350ms;
            -ms-transition-delay: 350ms;
            -o-transition-delay: 350ms;
            transition-delay: 350ms;
        }

        .submenu li:nth-child(2) {
            -webkit-transition-delay: 300ms;
            -moz-transition-delay: 300ms;
            -ms-transition-delay: 300ms;
            -o-transition-delay: 300ms;
            transition-delay: 300ms;
        }

        .submenu li:nth-child(3) {
            -webkit-transition-delay: 250ms;
            -moz-transition-delay: 250ms;
            -ms-transition-delay: 250ms;
            -o-transition-delay: 250ms;
            transition-delay: 250ms;
        }

        .submenu li:nth-child(4) {
            -webkit-transition-delay: 200ms;
            -moz-transition-delay: 200ms;
            -ms-transition-delay: 200ms;
            -o-transition-delay: 200ms;
            transition-delay: 200ms;
        }

        .submenu li:nth-child(5) {
            -webkit-transition-delay: 150ms;
            -moz-transition-delay: 150ms;
            -ms-transition-delay: 150ms;
            -o-transition-delay: 150ms;
            transition-delay: 150ms;
        }

        .submenu li:nth-child(6) {
            -webkit-transition-delay: 100ms;
            -moz-transition-delay: 100ms;
            -ms-transition-delay: 100ms;
            -o-transition-delay: 100ms;
            transition-delay: 100ms;
        }

        .submenu li:nth-child(7) {
            -webkit-transition-delay: 50ms;
            -moz-transition-delay: 50ms;
            -ms-transition-delay: 50ms;
            -o-transition-delay: 50ms;
            transition-delay: 50ms;
        }

        .submenu li:nth-child(8) {
            -webkit-transition-delay: 0s;
            -moz-transition-delay: 0s;
            -ms-transition-delay: 0s;
            -o-transition-delay: 0s;
            transition-delay: 0s;
        }

    </style>
</head>
<body>
<div class="nav">
    <ul class="menu">
        <li><a href="javascript:;">HOME</a>
            <ul class="submenu">
                <li><a href="javascript:;">options</a></li>
                <li><a href="javascript:;">options</a></li>
                <li><a href="javascript:;">options</a></li>
                <li><a href="javascript:;">options</a></li>
                <li><a href="javascript:;">options</a></li>
            </ul>
        </li>
        <li><a href="javascript:;">ABOUT</a>
            <ul class="submenu">
                <li><a href="javascript:;">options</a></li>
                <li><a href="javascript:;">options</a></li>
                <li><a href="javascript:;">options</a></li>
            </ul>
        </li>
        <li><a href="javascript:;">TEAM</a></li>
        <li><a href="javascript:;">NEWS</a></li>
        <li><a href="javascript:;">JALLERY</a></li>
        <li><a href="javascript:;">CONTENT</a></li>
    </ul>
</div>

</body>
</html>

 

转载于:https://www.cnblogs.com/zjz666/p/11163881.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,可以使用CSS3中的transition和transform属性来实现旋转弹出菜单效果。下面是一份示例代码: HTML代码: ```html <div class="menu"> <button class="menu-btn">菜单</button> <ul class="menu-list"> <li><a href="#">选项1</a></li> <li><a href="#">选项2</a></li> <li><a href="#">选项3</a></li> <li><a href="#">选项4</a></li> </ul> </div> ``` CSS代码: ```css .menu { position: relative; display: inline-block; } .menu-btn { padding: 10px 20px; border: none; background-color: #333; color: #fff; cursor: pointer; } .menu-list { position: absolute; top: 100%; right: 0; background-color: #fff; border: 1px solid #ccc; padding: 10px; list-style: none; transform: rotateX(-90deg); transform-origin: top; transition: transform 0.3s ease-out; opacity: 0; } .menu:hover .menu-list { transform: rotateX(0deg); opacity: 1; } ``` 解释一下代码: 首先,我们将菜单按钮和菜单内容包含在一个`<div>`元素中,并设置该元素的`position`为`relative`。然后,我们给菜单按钮添加样式,包括背景颜色、颜色、边框等。菜单按钮的样式可以根据自己的需要进行调整。 接下来,我们给菜单内容添加样式。我们将菜单内容的`position`设置为`absolute`,并设置`top`和`right`属性使其显示在菜单按钮的下方。我们还设置了菜单内容的背景颜色、边框、内边距和列表样式,使其看起来像一个标准的下拉菜单。 但是,我们并没有让菜单内容默认显示出来。我们使用了CSS3中的`transform`属性,将菜单内容旋转90度,使其不可见。我们还设置了`transform-origin`属性,将旋转的中心点设置在菜单内容的顶部。 接下来,我们使用了CSS3中的`transition`属性,使菜单内容在显示/隐藏具有动画效果。当鼠标悬停在菜单按钮上,我们使用CSS伪类`:hover`,将菜单内容的`transform`属性设置为旋转0度,使其显示出来。同,我们将菜单内容的`opacity`属性设置为1,使其完全可见。 这样就完成了一个简单的旋转弹出菜单效果。您可以根据需要进行调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值