<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <title>CSS制作立体导航</title> <link rel="stylesheet" href="http://www.w3cplus.com/demo/css3/base.css"> <style> body{ background: #ebebeb; } .nav{ width:560px; height: 50px; font:bold 0/50px Arial; text-align:center; margin:40px auto 0; background: #f65f57; /*制作导航圆角*/ border-radius: 8px; /*制作导航立体效果*/ box-shadow: 0 7px 0 #ba4a45; } .nav a{ display: inline-block; /* a元素的过渡属性:1、设置所有a标签过渡;2、过渡时间;3、速度曲线:以慢速开始的过渡效果 */ -webkit-transition: all 0.2s ease-in;/* Safari 和 Chrome */ -moz-transition: all 0.2s ease-in;/* Firefox */ -o-transition: all 0.2s ease-in;/* Opera */ -ms-transition: all 0.2s ease-in;/* IE 9 */ transition: all 0.2s ease-in; } .nav a:hover{ /* 鼠标移上时的效果;定义2D旋转10度 */ -webkit-transform:rotate(10deg); -moz-transform:rotate(10deg); -o-transform:rotate(10deg); -ms-transform:rotate(10deg); transform:rotate(10deg); } .nav li{ position:relative; display:inline-block; padding:0 16px; font-size: 14px; text-shadow:1px 2px 4px rgba(0,0,0,.5); list-style: none outside none; } /*制作导航分隔线效果*/ .nav li::before, .nav li::after{ content:""; position:absolute; top:14px; height: 25px; width: 1px; } .nav li::after{ right: 0; /* 线性渐变 */ background: -moz-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0)); background: -webkit-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0)); background: -o-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0)); background: -ms-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0)); background: linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0)); } .nav li::before{ left: 0; background: -moz-linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a); background: -webkit-linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a); background: -o-linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a); background: -ms-linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a); background: linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a); } /*删除导航第一个导航项左边的分隔线*/ .nav li:first-child::before{ background: none; } /*删除导航最后一个导航右边的分隔线*/ .nav li:last-child::after{ background: none; } .nav a, .nav a:hover{ color:#fff; text-decoration: none; } </style> </head> <body> <ul class="nav"> <li><a href="">首页</a></li> <li><a href="">个人简介</a></li> <li><a href="">作品集</a></li> <li><a href="">博客</a></li> <li><a href="">资源</a></li> <li><a href="">联系我</a></li> </ul> </body></html>
Rendering:
1
2
Zusammenfassung:
1. Verwenden Sie eine ungeordnete Liste für den Körperteil
2. (1) Bewegen Sie den Mauszeiger nach oben.
(2) Frage
Der Unterschied zwischen::before und :before
Einfach ausgedrückt, Single Doppelpunkt (:) wird für CSS3-Pseudoklassen und der Doppelpunkt (::) für CSS3-Pseudoelemente verwendet.
w3c-Spezifikation zu CSS-Selektoren:
Ein Pseudoelement besteht aus zwei Doppelpunkten (
), gefolgt vom Namen des Pseudoelements.::
Dieses
, ::
, :first-line
und :first-letter
) Diese Kompatibilität ist für die neuen Pseudoelemente, die in CSS Level 3 eingeführt wurden, nicht zulässig.:before
:after
Einfache Übersetzung: Pseudoelemente bestehen aus Doppelpunkten und dem Namen des Pseudoelements. Der Doppelpunkt wurde in der aktuellen Spezifikation eingeführt, um Pseudoklassen von Pseudoelementen zu unterscheiden. Allerdings muss der Browser gleichzeitig die alten vorhandenen Pseudoelement-Schreibmethoden unterstützen, wie zum Beispiel: erste Zeile, :erster Buchstabe, :before, :after usw., während die neuen Pseudoelemente in CSS3 eingeführt werden sind nicht erlaubt 🎜>Die alte Schreibmethode mit einem Doppelpunkt wird jetzt unterstützt. Jetzt können Sie die Frage im Titel vollständig beantworten, wie z. B. :before. Der einzelne Doppelpunkt und der doppelte Doppelpunkt werden auf die gleiche Weise geschrieben wie::before der gleiche Effekt
.Wenn Ihre Website
nur
mit Webkit, Firefox, Opera und anderen Browsern kompatibel sein muss, wird daher empfohlen, für Pseudoelemente die Doppelpunktschrift zu verwenden. Wenn es im IE-Browser kompatibel sein muss, ist es sicherer, die CSS2-Methode zum Schreiben mit einem Doppelpunkt zu verwenden.Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine dreidimensionale Navigationsleiste mit CSS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!