css下拉菜单中的箭头怎么做

admin 轻心小站 关注 LV.19 运营
发表于前端技术学习版块 css,教程

CSS下拉菜单的箭头是很常见的设计元素,它可以提示用户当前菜单项是可下拉的,同时也能增加菜单的美观度。那如何实现这样的箭头呢?/*先设置菜单项的样式*/ .dropdown-menu{ positio

CSS下拉菜单的箭头是很常见的设计元素,它可以提示用户当前菜单项是可下拉的,同时也能增加菜单的美观度。那如何实现这样的箭头呢?

/*先设置菜单项的样式*/
.dropdown-menu{
 position: absolute;
 top: 100%;
 left: 0;
 z-index: 999;
 display: none; /*隐藏菜单*/
 background-color: white;
 border: 1px solid #ddd;
 box-shadow: 0px 3px 3px rgba(0,0,0,0.15);
}

.dropdown-menu li{
 padding:6px 12px;
}

/*添加箭头的样式*/
.dropdown-menu:before {
 content: "";
 position: absolute;
 top: -10px;
 left: 50%;
 margin-left: -5px;
 border-width: 0 5px 5px;
 border-style: solid;
 border-color: transparent transparent #ccc;
}

.dropdown-menu:after {
 content: "";
 position: absolute;
 top: -9px;
 left: 50%;
 margin-left: -4px;
 border-width: 0 4px 4px;
 border-style: solid;
 border-color: transparent transparent white;
}

/*鼠标悬停时的样式*/
.dropdown-menu li:hover{
 background-color: #f2f2f2;
}

.dropdown-menu li:hover:before{
 border-color: transparent transparent #333;
}

.dropdown-menu li:hover:after{
 border-color: transparent transparent #f2f2f2;
} 

以上代码中,我们给下拉菜单(menu)添加了一个伪元素:before和:after,用它们来实现箭头的样式。箭头的位置是通过伪元素的top和left属性来控制的。我们先使用:before元素来创建一个三角形,不显示下箭头的部分,再使用:after元素来显示白色的底边,遮盖下箭头的部分,最终形成一只指向下方的箭头。

当然,这只是我们一个简单的实现,如果我们需要让箭头的样式更灵活,可以通过微调伪元素的属性达到效果。如改变border-width、border-color等值,这样我们就能实现不同类型、不同颜色的箭头样式了。

文章说明:

本文原创发布于探乎站长论坛,未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,探乎站长论坛平台仅提供信息存储空间服务。

评论列表 评论
发布评论

评论: css下拉菜单中的箭头怎么做

粉丝

0

关注

0

收藏

0

已有0次打赏