首頁 >web前端 >html教學 >css3製作酷炫導覽列效果

css3製作酷炫導覽列效果

WBOY
WBOY原創
2016-08-27 08:53:571988瀏覽

今天主要利用hover選擇器。滑鼠滑過查看效果。

一。普通導航列

  • Home
  • Content
  • Service
  • Team
  • Contact

 

 

對於這種普通的導覽欄,只是滑鼠滑過的時候顏色會變,所以想法變得很簡單。

(1)使用ul標籤佈局

(2)老鼠經過事件

<span style="color: #0000ff;"><</span><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><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><</span><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><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><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><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><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 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><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><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><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><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><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><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><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><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><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><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><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 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><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><span style="color: #800000;">ul</span><span style="color: #0000ff;">></span>
            <span style="color: #0000ff;"><</span><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">><</span><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><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">><</span><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><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">><</span><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><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">><</span><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><span style="color: #800000;">li</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #0000ff;">><</span><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 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ㄒ)/~~  不过自己编译的话在浏览器里是正常的

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn