我想用CSS3创建一个很酷的面包屑菜单,我在网上看到很多关于它的tuto - 这个例子几乎不符合我的需求http://css-tricks.com/examples/TriangleBreadcrumbs/
.breadcrumb li a {
color: white;
text-decoration: none;
padding: 10px 0 10px 55px;
background: brown;
background-image: linear-gradient(to bottom, brown, black);
position: relative;
display: block;
float: left;
}
.breadcrumb li a:after {
content: " ";
display: block;
width: 0;
height: 0;
border-top: 50px solid transparent;
border-bottom: 50px solid transparent;
border-left: 30px solid hsla(34,85%,35%,1);
position: absolute;
top: 50%;
margin-top: -50px;
left: 100%;
z-index: 2;
}
.breadcrumb li a:before {
content: " ";
display: block;
width: 0;
height: 0;
border-top: 50px solid transparent; /* Go big on the size, and let overflow hide */
border-bottom: 50px solid transparent;
border-left: 30px solid white;
position: absolute;
top: 50%;
margin-top: -50px;
margin-left: 1px;
left: 100%;
z-index: 1;
}
但是我想在菜单按钮上有一个垂直线性渐变,当鼠标悬停时,这个渐变也应该反转。
我知道我可以用精灵来做这件事,但只能用CSS3吗?
答案 0 :(得分:2)
您需要更改技术才能实现此目的。
CSS是:
.breadcrumb {
list-style: none;
overflow: hidden;
font: 18px Helvetica, Arial, Sans-Serif;
}
.breadcrumb li a {
color: white;
text-decoration: none;
padding: 10px 30px 10px 25px;
background: transparent;
position: relative;
display: block;
float: left;
z-index: 1;
}
.breadcrumb li a:after {
content: " ";
display: block;
width: 99%;
height: 50%;
background: linear-gradient(to bottom, lightgreen, green);
position: absolute;
top: 0px;
left: 0px;
z-index: -1;
-webkit-transform: skewX(35deg);
transform: skewX(35deg);
}
.breadcrumb li a:before {
content: " ";
display: block;
width: 99%;
height: 50%;
position: absolute;
bottom: 0px;
left: 0px;
z-index: -1;
background: linear-gradient(to bottom, green, black);
-webkit-transform: skewX(-35deg);
transform: skewX(-35deg);
}
.breadcrumb li a:hover:after {
background: linear-gradient(to bottom, black, green);
}
.breadcrumb li a:hover:before {
background: linear-gradient(to bottom, green, lightgreen);
}
它是如何运作的?
我保持基本元素透明,并且只使用文本。
然后,2个伪元素分层在基本元素的上半部分,向后倾斜,基本元素的下半部分向前倾斜。
您可以轻松调整效果的角度。
最后,悬停状态,只是改变了渐变。
唯一的缺点:由于渐变分为两部分,因此您需要找到中点匹配的颜色。
我将您的请求从棕色变为绿色,因此更容易看到。
答案 1 :(得分:-2)