ホームページ > 記事 > ウェブフロントエンド > CSS3 でクールなナビゲーション バー効果を作成する
今日は主にホバーセレクターを使用します。マウスをロールオーバーして効果を確認します。
1つ。通常のナビゲーションバー
この通常のナビゲーション バーの場合、マウスをスライドさせたときに色が変わるだけなので、アイデアは非常にシンプルになります。
(1) ULタグレイアウトを使用する
(2)ネズミ追い越しイベント
(2) ブラケットナビゲーションバー
ここではナビゲーション バーのレイアウトについては多くは言いません。マウスがテキストの上を通過すると括弧が表示されることがわかります。
(1) マウス通過イベントがない場合、括弧は実際には存在しますが、テキストの途中で見えなくなります(2)マウスを重ねると括弧が中央から両側に移動し、非表示から表示に変わります。
リーリー
从演示效果来看要注意两点
(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ㄒ)/~~ 不过自己编译的话在浏览器里是正常的