问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于CSS导航的问题

发布网友 发布时间:2022-04-06 13:31

我来回答

3个回答

懂视网 时间:2022-04-06 17:52

方法一:利用裁剪(该方法IE下不支持)

利用裁剪 clip-path: polygon(),直接画出一个三角 唯一一点需要算出大致百分比就可以画出来

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width">
 <style>
  .nav-box {
  display: flex;
  list-style: none;
  font-size: 14px;
  }
  .nav-box li {
  white-space: nowrap;
  color: #019fe9;
  background: #edf9ff;
  counter-increment: listCounter;
  clip-path: polygon(87% 0, 100% 50%, 87% 100%, 0 100%, 13% 50%, 0 0);
  line-height: 40px;
  padding: 0 25px;
  margin-right: -10px;
  }
  .nav-box li::before {
  content: counter(listCounter) "-";
  }
  .nav-box .active {
  color: #fcfefe;
  background: #009fe9;
  }
  .nav-box .active ~ li {
  color: #8e8e8e;
  background: #ebedf0;
  }
 </style>
 </head>
 <body>
 <!-- 容器 -->
 <ol class="nav-box">
  <li><a href="">规则说明</a></li>
  <li><a href="">参与活动</a></li>
  <li class="active" aria-current="true"><a href="">参与抽奖</a></li>
  <li><a href="">奖品发放</a></li>
  <li><a href="">查看结果</a></li>
 </ol>
 </body>
</html>

(相关教程推荐:CSS入门教程)

方法二:利用错位

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width">
 <style scoped>
  .nav-box {
  display: flex;
  list-style: none;
  font-size: 14px;
  }
  .nav-box li {
  white-space: nowrap;
  color: #019fe9;
  padding: 0 15px 0 25px;
  line-height: 40px;
  margin-left: 3px;
  position: relative;
  z-index: 99;
  }
  .nav-box li:first-child{
  background: #edf9ff;
  margin-right: 7px;
  }
  .nav-box .active:first-child{
  background: #019fe9;
  }
  .nav-box li:first-child::before,
  .nav-box li:first-child::after{
  left: 7px;
  }
  .nav-box li::before,
  .nav-box li::after {
  content: "";
  position: absolute;
  left: 0;
  height: 50%;
  width: 100%;
  background: #edf9ff;
  z-index: -1;
  }
  .nav-box li::before {
  top: 0;
  transform: skew(30deg);
  }
  .nav-box li::after {
  bottom: 0;
  transform: skew(-30deg);
  }
  .nav-box .active {
  color: #d7effb;
  }
  .nav-box .active::before,
  .nav-box .active::after {
  background: #009fe9;
  }
  .active ~ li {
  color: #909091;
  }
  .active ~ li::before,
  .active ~ li::after {
  background: #ebedf0;
  }
 </style>
 </head>
 <body>
 <!-- 容器 -->
 <ol class="nav-box">
  <li class="active">1-规则说明</li>
  <li>2-参与活动</li>
  <li>3-参与抽奖</li>
  <li>4-奖品发放</li>
  <li>5-参与结果</li>
 </ol>
 </body>
</html>

方法三:border造三角

利用 border 生成前后三角

缺点是索引需要自己定义,不加标签情况下无法使用css计数器

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width">
 <style>
 .nav-box{
 height:40px;
 line-height:40px;
 list-style: none;
 padding:0;
 display:flex;
 font-size:14px;
 overflow: hidden;
 }
 .nav-box li{
 padding:0 10px 0 10px;
 margin-right: 18px;
 white-space: nowrap;
 position:relative;
 color:#019fe9;
 background:#edf9ff ;
 }
 /* 三角 */
 .nav-box li:before,.nav-box li:after{
 content:'';
 position:absolute;
 width: 0;
 height: 0;
 }
 .nav-box li:before{
 right: -16px;
 border: solid transparent;
 border-width: 20px 0 20px 16px;
 border-left-color:#edf9ff;
 z-index:2;
 }
 /* 白线 */
 .nav-box li:after{
 top: -3px;
 left: -18px;
 border: solid #edf9ff;
 border-width: 23px 0 23px 18px;
 border-left-color: transparent;
 z-index: 1;
 }
 .nav-box .active{
 color: #fff;
 background:#009fe9;
 }
 .nav-box .active ~ li{
 color:#8e8e8e;
 background:#ebedf0;
 }
 .nav-box .active:before{
 border-left-color:#009fe9;
 }
 .nav-box .active:after{
 border-color: #009fe9;
 border-left-color: transparent;
 }
 .nav-box .active ~ li:before{
 border-left-color:#ebedf0;
 } 
 .nav-box .active ~ li:after{
 border-color: #ebedf0;
 border-left-color: transparent;
 }
 </style>
</head>
<body>
 <ol class="nav-box">
 <li>1-规则说明</li>
 <li>2-参与活动</li>
 <li class="active">3-参与抽奖</li>
 <li>4-奖品发放</li>
 <li>5-参与结果</li>
 </ol>
</body>
</html>

更多编程相关教程,请关注Gxlcms编程入门栏目!

热心网友 时间:2022-04-06 15:00

  第一种方法
  把a标签设置成块级元素,设置大小跟外面的框一样大就行了。
  第二种方法
  直接把hover写在a标签外面的标签上。追问设置在a标签上 果真可以了。

热心网友 时间:2022-04-06 16:18

用hover,给白色框设置hover
举个例子,假如你白色框ID是DIV1吧
#DIV1.hover
{
color: green;

}
这样鼠标移到DIV1上面,就会给DIV1里面的文字加上绿色了追问我在后面的白色框后面加.hover 不行,没效果

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
现在波兰的签证率高不高 去波兰如何办签证 去波兰办签证好办理吗 波兰签证好签吗 win7 多重网络 教师资格证普通话要多少级 想考教师资格证普通话必须过几级 qq影视会员SVIP和超级影视VIP的区别在哪里? 一小撮怎么造句 盛行一时怎么造句 我14岁怎么练肌肉 腹肌 我14岁,想练出腹肌,有什么办法? 14岁锻炼腹肌最好的方法 我现在是一个14岁的小孩 我想练出腹肌 不要八块只要六块就行,我要怎么练 14岁的男孩怎么练腹肌 我今年14岁,如何练就一身腹肌? 14岁小男孩怎么练腹肌?尽量详细点,每天早上中午晚上该怎么做 我14岁男生,想锻炼腹肌,请问该如何做? 14岁如何练肌肉? 14岁男生怎么锻炼出腹肌最简单的 军队机关和公安机关政治委员制度有何区别 派出所指导员是什么级别 派出所教导员是什么级别 乡级派出所所长教导员什么级别什么条件 公安局里面,一把手,二把手 ,三把手,都是什么职务, 派出所都有哪些职位 派出所有哪些职位? 派出所所长一般是什么行政级别? 哪一级公安局有政委 为什么有些公安局有政委,而有些公安局没有?公安部有政委吗 煎蛋放什么材料好吃, 煎鸡蛋怎么做好吃啊? 煎蛋放什么调料??? 煎蛋加什么即好吃又实费 煎鸡蛋怎样煎鸡蛋好吃 南充最好吃的海鲜大排档在哪儿? 南充白土坝最好吃的海鲜牛排自助餐厅是哪家? 除了吉布鲁,南充什么地方海鲜自助餐比较好吃? 南充那家鱼好吃 南充的澜海阁澳门豆捞好吃吗?卫生吗?听说很难吃的 南充王府井新开那家旋转海鲜火锅自助怎么样? 南充市区有那些好吃的?在什么地方? 哪些海鲜比较好吃? 南充市市区哪里有好吃好喝的最佳去处? 四川南充有什么好玩的,好吃的! 南充哪里有好吃的美食 南充哪家牛排好吃 企业荣誉证书办理哪家好? 中国3.15诚信品牌荣誉证书办理 丽颜肌被评为“中国3.15诚信品牌”是真的吗? 丽颜肌荣获《中国3.15诚信品牌》是真的吗?