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等值,这样我们就能实现不同类型、不同颜色的箭头样式了。
粉丝
0
关注
0
收藏
0