Rumah  >  Artikel  >  hujung hadapan web  >  css3制作炫酷导航栏效果

css3制作炫酷导航栏效果

WBOY
WBOYasal
2016-08-27 08:53:571967semak imbas

今天主要利用hover选择器。鼠标滑过查看效果。

一。普通导航栏

  • Home
  • Content
  • Service
  • Team
  • Contact

 

 

对于这种普通的导航栏,只是鼠标滑过的时候颜色会变,所以思路变得很简单。

(1)使用ul标签布局

(2)鼠标经过事件

<span style="color: #0000ff;"><span style="color: #800000;">div </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="demo1"</span><span style="color: #0000ff;">></span>
        <span style="color: #0000ff;"><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>Home<span style="color: #0000ff;"></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>Content<span style="color: #0000ff;"></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>Service<span style="color: #0000ff;"></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>Team<span style="color: #0000ff;"></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>Contact<span style="color: #0000ff;"></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
        <span style="color: #0000ff;"></span><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span></span></span></span></span></span></span></span>
<span style="color: #800000;">*</span>{<span style="color: #ff0000;">
    padding</span>:<span style="color: #0000ff;">0</span>;<span style="color: #ff0000;">
    margin</span>:<span style="color: #0000ff;">0</span>;<span style="color: #ff0000;">
    list-style</span>:<span style="color: #0000ff;">none</span>;<span style="color: #ff0000;">
    text-decoration</span>:<span style="color: #0000ff;">none</span>;
}<span style="color: #800000;">
a</span>{<span style="color: #ff0000;">
    color</span>:<span style="color: #0000ff;">#fff</span>;
}<span style="color: #800000;">
#demo1</span>{<span style="color: #ff0000;">
    width</span>:<span style="color: #0000ff;">600px</span>;
}<span style="color: #800000;">
#demo1 ul li</span>{<span style="color: #ff0000;">
    float</span>:<span style="color: #0000ff;">left</span>;<span style="color: #ff0000;">
    width</span>:<span style="color: #0000ff;">100px</span>;<span style="color: #ff0000;">
    height</span>:<span style="color: #0000ff;">50px</span>;<span style="color: #ff0000;">
    text-align</span>:<span style="color: #0000ff;">center</span>;<span style="color: #ff0000;">
    background</span>:<span style="color: #0000ff;">#ccc</span>;<span style="color: #ff0000;">
    line-height</span>:<span style="color: #0000ff;">50px</span>;<span style="color: #ff0000;">
    color</span>:<span style="color: #0000ff;">#FFF</span>;
}<span style="color: #800000;">
#demo1 ul li:hover</span>{<span style="color: #ff0000;">
    background</span>:<span style="color: #0000ff;">#999</span>;
}

(二)括号类导航栏

  • Home
  • Content
  • Service
  • Team
  • Contact

对于导航栏的排版这里就不多说了,可以看到当鼠标经过的时候会从文字中出现括号,思路:

(1)当无鼠标经过事件时,括号其实是有的,只不多它处于隐形状态在文字中间

(2)当鼠标经过时,括号从中间移动到两边,并且从隐形变为显示。

 <span style="color: #0000ff;"><span style="color: #800000;">div </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="demo2"</span><span style="color: #0000ff;">></span>
        <span style="color: #0000ff;"><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Home<span style="color: #0000ff;"></span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Content<span style="color: #0000ff;"></span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Service<span style="color: #0000ff;"></span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Team<span style="color: #0000ff;"></span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">></span>Contact<span style="color: #0000ff;"></span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
        <span style="color: #0000ff;"></span><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span></span></span></span></span></span></span></span></span></span></span></span></span>
<span style="color: #800000;">#demo2</span>{<span style="color: #ff0000;">
    width</span>:<span style="color: #0000ff;">600px</span>;<span style="color: #ff0000;">
    height</span>:<span style="color: #0000ff;">50px</span>;<span style="color: #ff0000;">
    margin</span>:<span style="color: #0000ff;">20px auto</span>;
}<span style="color: #800000;">
#demo2 ul li</span>{<span style="color: #ff0000;">
    position</span>:<span style="color: #0000ff;">relative</span>;<span style="color: #ff0000;">
    float</span>:<span style="color: #0000ff;">left</span>;<span style="color: #ff0000;">
    width</span>:<span style="color: #0000ff;">100px</span>;<span style="color: #ff0000;">
    height</span>:<span style="color: #0000ff;">50px</span>;<span style="color: #ff0000;">
    text-align</span>:<span style="color: #0000ff;">center</span>;<span style="color: #ff0000;">
    line-height</span>:<span style="color: #0000ff;">50px</span>;<span style="color: #ff0000;">
    background</span>:<span style="color: #0000ff;">#000</span>;
}<span style="color: #800000;">
#demo2 ul li a:before</span>{<span style="color: #ff0000;">
    content</span>:<span style="color: #0000ff;">"["</span>;<span style="color: #ff0000;">
    margin-right</span>:<span style="color: #0000ff;">10px</span>;<span style="color: #ff0000;">
    transform</span>:<span style="color: #0000ff;">translateX(20px)</span>;<span style="color: #ff0000;">
    -webkit-transform</span>:<span style="color: #0000ff;">translateX(20px)</span>;<span style="color: #ff0000;">
    -moz-transform</span>:<span style="color: #0000ff;">translateX(20px)</span>;<span style="color: #ff0000;">
    -ms-transform</span>:<span style="color: #0000ff;">translateX(20px)</span>;
    
}<span style="color: #800000;">
#demo2 ul li a:after</span>{<span style="color: #ff0000;">
    content</span>:<span style="color: #0000ff;">"]"</span>;<span style="color: #ff0000;">
    margin-left</span>:<span style="color: #0000ff;">10px</span>;<span style="color: #ff0000;">
    transform</span>:<span style="color: #0000ff;">translateX(-20px)</span>;<span style="color: #ff0000;">
    -webkit-transform</span>:<span style="color: #0000ff;">translateX(-20px)</span>;<span style="color: #ff0000;">
    -moz-transform</span>:<span style="color: #0000ff;">translateX(-20px)</span>;<span style="color: #ff0000;">
    -ms-transform</span>:<span style="color: #0000ff;">translateX(-20px)</span>;
}<span style="color: #800000;">
#demo2 ul li a:before,#demo2 ul li a:after</span>{<span style="color: #ff0000;">
    display</span>:<span style="color: #0000ff;">inline-block</span>;<span style="color: #ff0000;">
    opacity</span>:<span style="color: #0000ff;">0</span>;<span style="color: #ff0000;">
    transition</span>:<span style="color: #0000ff;">transform 0.3s, opacity 0.2s</span>;<span style="color: #ff0000;">
    -moz-transition</span>:<span style="color: #0000ff;">transform 0.3s, opacity 0.2s</span>;<span style="color: #ff0000;">
    -webkit-transition</span>:<span style="color: #0000ff;">transform 0.3s, opacity 0.2s</span>;<span style="color: #ff0000;">
    -ms-transition</span>:<span style="color: #0000ff;">transform 0.3s, opacity 0.2s</span>;
}<span style="color: #800000;">
#demo2 ul li a:hover::before,#demo2 ul li a:hover::after,#demo2 ul li a:focus::before,#demo2 ul li a:focus::after </span>{<span style="color: #ff0000;">
    opacity</span>:<span style="color: #0000ff;"> 1</span>;<span style="color: #ff0000;">
    -webkit-transform</span>:<span style="color: #0000ff;"> translateX(0px)</span>;<span style="color: #ff0000;">
    -moz-transform</span>:<span style="color: #0000ff;"> translateX(0px)</span>;<span style="color: #ff0000;">
    transform</span>:<span style="color: #0000ff;"> translateX(0px)</span>;
}

三。滑动导航栏

  • Home
  • Content
  • Service
  • Team
  • Contact

 

 

从演示效果来看要注意两点

(1)鼠标经过时有横向从上到下

(2)鼠标经过时文字从上到下并且变换颜色

这就和上一个例子很像了

(1)横线其实是存在的,只不过鼠标没有经过时是在文字上方且透明的,鼠标经过时横线由上到下。

(2)文字这里就要定义一个动画了,因为在鼠标经过时它体现了三种状态:

  ①文字从现位置划下

  ②文字从出现在上方

  ③文字从上方滑到现位置

 <span style="color: #0000ff;"><span style="color: #800000;">div </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="demo3"</span><span style="color: #0000ff;">></span>
        <span style="color: #0000ff;"><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">><span style="color: #800000;">span</span><span style="color: #0000ff;">></span>Home<span style="color: #0000ff;"></span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">><span style="color: #800000;">span</span><span style="color: #0000ff;">></span>Content<span style="color: #0000ff;"></span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">><span style="color: #800000;">span</span><span style="color: #0000ff;">></span>Service<span style="color: #0000ff;"></span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">><span style="color: #800000;">span</span><span style="color: #0000ff;">></span>Team<span style="color: #0000ff;"></span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><span style="color: #800000;">li</span><span style="color: #0000ff;">><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">><span style="color: #800000;">span</span><span style="color: #0000ff;">></span>Contact<span style="color: #0000ff;"></span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #800000;">li</span><span style="color: #0000ff;">></span>
        <span style="color: #0000ff;"></span><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span>
    <span style="color: #0000ff;"></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
<span style="color: #800000;">#demo3 ul li</span>{<span style="color: #ff0000;">
    float</span>:<span style="color: #0000ff;">left</span>;<span style="color: #ff0000;">
    margin</span>:<span style="color: #0000ff;">0 25px</span>;<span style="color: #ff0000;">
    position</span>:<span style="color: #0000ff;">relative</span>;
}<span style="color: #800000;">
#demo3 ul li a</span>{<span style="color: #ff0000;">
    color</span>:<span style="color: #0000ff;">#D8761E</span>;<span style="color: #ff0000;">
    font-family</span>:<span style="color: #0000ff;">'Righteous', cursive</span>;<span style="color: #ff0000;">
    display</span>:<span style="color: #0000ff;">block</span>;<span style="color: #ff0000;">
    padding</span>:<span style="color: #0000ff;">10px 0</span>;
}<span style="color: #800000;">
#demo3 ul li span</span>{<span style="color: #ff0000;">
    display</span>:<span style="color: #0000ff;">block</span>;
}<span style="color: #800000;">
#demo3 ul li a:before</span>{<span style="color: #ff0000;">
    content</span>:<span style="color: #0000ff;">""</span>;<span style="color: #ff0000;">
    position</span>:<span style="color: #0000ff;">absolute</span>;<span style="color: #ff0000;">
    width</span>:<span style="color: #0000ff;">100%</span>;<span style="color: #ff0000;">
    height</span>:<span style="color: #0000ff;">3px</span>;<span style="color: #ff0000;">
    background</span>:<span style="color: #0000ff;">#D8761E</span>;<span style="color: #ff0000;">
    bottom</span>:<span style="color: #0000ff;">0</span>;<span style="color: #ff0000;">
    opacity</span>:<span style="color: #0000ff;">0</span>;<span style="color: #ff0000;">
    -webkit-transform</span>:<span style="color: #0000ff;"> translate3d(0, -40px, 0)</span>;<span style="color: #ff0000;">
    transform</span>:<span style="color: #0000ff;"> translate3d(0, -40px, 0)</span>;<span style="color: #ff0000;">
    -webkit-transition</span>:<span style="color: #0000ff;"> -webkit-transform 0s 0.3s, opacity 0.2s</span>;<span style="color: #ff0000;">
    transition</span>:<span style="color: #0000ff;"> transform 0s 0.3s, opacity 0.2s</span>;
}<span style="color: #800000;">
#demo3 ul li a:hover::before</span>{<span style="color: #ff0000;">
    opacity</span>:<span style="color: #0000ff;">1</span>;<span style="color: #ff0000;">
    -webkit-transform</span>:<span style="color: #0000ff;"> translate3d(0, 0, 0)</span>;<span style="color: #ff0000;">
    transform</span>:<span style="color: #0000ff;"> translate3d(0, 0, 0)</span>;<span style="color: #ff0000;">
    -webkit-transition</span>:<span style="color: #0000ff;"> -webkit-transform 0.5s, opacity 0.1s</span>;<span style="color: #ff0000;">
    transition</span>:<span style="color: #0000ff;"> transform 0.5s, opacity 0.1s</span>;<span style="color: #ff0000;">
    -webkit-transition-timing-function</span>:<span style="color: #0000ff;"> cubic-bezier(0.4, 0, 0.2, 1)</span>;<span style="color: #ff0000;">
    transition-timing-function</span>:<span style="color: #0000ff;"> cubic-bezier(0.4, 0, 0.2, 1)</span>; 
}<span style="color: #800000;">
#demo3 ul li a:hover span</span>{<span style="color: #ff0000;">
    color</span>:<span style="color: #0000ff;">#510301</span>;<span style="color: #ff0000;">
    -webkit-animation</span>:<span style="color: #0000ff;"> anim-francisco 0.3s forwards</span>;<span style="color: #ff0000;">
    animation</span>:<span style="color: #0000ff;"> anim-francisco 0.3s forwards</span>;
}<span style="color: #800000;">
@-webkit-keyframes anim-francisco </span>{<span style="color: #ff0000;">
    50% {
        opacity</span>:<span style="color: #0000ff;"> 0</span>;<span style="color: #ff0000;">
        -webkit-transform</span>:<span style="color: #0000ff;"> translate3d(0, 100%, 0)</span>;<span style="color: #ff0000;">
        transform</span>:<span style="color: #0000ff;"> translate3d(0, 100%, 0)</span>;
    }<span style="color: #800000;">

    51% </span>{<span style="color: #ff0000;">
        opacity</span>:<span style="color: #0000ff;"> 0</span>;<span style="color: #ff0000;">
        -webkit-transform</span>:<span style="color: #0000ff;"> translate3d(0, -100%, 0)</span>;<span style="color: #ff0000;">
        transform</span>:<span style="color: #0000ff;"> translate3d(0, -100%, 0)</span>;
    }<span style="color: #800000;">

    100% </span>{<span style="color: #ff0000;">
        opacity</span>:<span style="color: #0000ff;"> 1</span>;<span style="color: #ff0000;">
        -webkit-transform</span>:<span style="color: #0000ff;"> translate3d(0, 0, 0)</span>;<span style="color: #ff0000;">
        transform</span>:<span style="color: #0000ff;"> translate3d(0, 0, 0)</span>;
    }<span style="color: #800000;">
}

@keyframes anim-francisco </span>{<span style="color: #ff0000;">
    50% {
        opacity</span>:<span style="color: #0000ff;"> 0</span>;<span style="color: #ff0000;">
        -webkit-transform</span>:<span style="color: #0000ff;"> translate3d(0, 100%, 0)</span>;<span style="color: #ff0000;">
        transform</span>:<span style="color: #0000ff;"> translate3d(0, 100%, 0)</span>;
    }<span style="color: #800000;">

    51% </span>{<span style="color: #ff0000;">
        opacity</span>:<span style="color: #0000ff;"> 0</span>;<span style="color: #ff0000;">
        -webkit-transform</span>:<span style="color: #0000ff;"> translate3d(0, -100%, 0)</span>;<span style="color: #ff0000;">
        transform</span>:<span style="color: #0000ff;"> translate3d(0, -100%, 0)</span>;
    }<span style="color: #800000;">

    100% </span>{<span style="color: #ff0000;">
        opacity</span>:<span style="color: #0000ff;"> 1</span>;<span style="color: #ff0000;">
        -webkit-transform</span>:<span style="color: #0000ff;"> translate3d(0, 0, 0)</span>;<span style="color: #ff0000;">
        transform</span>:<span style="color: #0000ff;"> translate3d(0, 0, 0)</span>;
    }<span style="color: #800000;">
}</span>

这里注意的是不能给标签设置宽高,因为一旦设置宽高会影响文字滑动路线,变得很夸张。这里加span也是这个原因,鼠标经过a时让span以a为参照进行滑动。

里面的标签就不解释了,自己查效果会更好哦。

我好无奈呀,用这个显示效果a标签和li的默认样式竟然不能取消,谁能告诉我为什么/(ㄒoㄒ)/~~  不过自己编译的话在浏览器里是正常的

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn