<!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>
Rendu :
1
2
Résumé :
1. Utiliser une liste non ordonnée pour la partie du corps
2. (1) survol
L'effet lorsque la souris est déplacée vers le haut.
(2) QuestionLa différence entre ::avant et :avant
En termes simples, seul le deux-points (:) est utilisé pour les pseudo-classes CSS3 et le double deux-points (::) est utilisé pour les pseudo-éléments CSS3.
spécification w3c sur les sélecteurs css :
Un pseudo-élément est composé de deux deux-points (::
) suivis du nom du pseudo-élément.
Ce ::
la notation est introduite par le document actuel afin d'établir une discrimination entre pseudo-classes et pseudo-éléments Pour des raisons de compatibilité avec les feuilles de style existantes, les agents utilisateurs doivent également accepter la notation précédente à un deux-points pour les pseudo-éléments introduite dans les niveaux CSS. 1 et 2 (à savoir, :first-line
, :first-letter
, :before
et :after
Cette compatibilité n'est pas autorisée pour les nouveaux pseudo-éléments introduits dans le niveau CSS 3.
Traduction simple : les pseudo-éléments sont constitués de doubles deux-points et du nom du pseudo-élément. Le double deux-points a été introduit dans la spécification actuelle pour distinguer les pseudo-classes des pseudo-éléments. Cependant, le navigateur doit prendre en charge en même temps les anciennes méthodes d'écriture de pseudo-éléments existantes, telles que : first-line, :first-letter, :before, :after, etc., tandis que les nouveaux pseudo-éléments introduits dans CSS3 ne sont pas autorisés 🎜>L'ancienne méthode d'écriture avec deux points simples est désormais prise en charge. Vous pouvez désormais répondre entièrement à la question dans le titre. Pour les pseudo-éléments qui existaient avant CSS2, comme :before, les deux points simples et doubles s'écrivent de la même manière ::before
a le même effet.
Par conséquent, si votre site Web
doit seulement êtrecompatible avec webkit, firefox, opera et autres navigateurs, il est recommandé d'utiliser l'écriture à deux points pour les pseudo-éléments. S'il doit être compatible avec le navigateur IE, il est plus sûr d'utiliser la méthode d'écriture CSS2 à deux points.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!