刚才帮一个朋友项目实现了一个功能,购物车按钮上追加角标,显示购物车数量。
这完全是一个 CSS 问题,这里记录一下,方便下次直接拿来用。
先上效果图
然后上代码
HTML dom 部分
CSS 代码
/*购物车角标数字*/
.nav-counter {
position: absolute;
top: 11px;
right: -8px;
min-width: 8px;
height: 20px;
width: 20px;
line-height: 19px;
margin-top: -11px;
font-weight: normal;
color: white;
text-align: center;
text-shadow: 0 1px rgb(0 0 0 / 20%);
background: #e23442;
border: 1px solid #911f28;
border-radius: 10px;
background-image: -moz-linear-gradient(top, #e8616c, #dd202f);
background-image: -o-linear-gradient(top, #e8616c, #dd202f);
background-image: linear-gradient(to bottom, #e8616c, #dd202f);
-webkit-box-shadow: inset 0 0 1px 1px rgb(255 255 255 / 10%), 0 1px rgb(0 0 0 / 12%);
box-shadow: inset 0 0 1px 1px rgb(255 255 255 / 10%), 0 1px rgb(0 0 0 / 12%);
}
.nav-counter-blue {
background: #e8616c;
border: 1px solid #dd202f;
background-image: -webkit-linear-gradient(top, #e8616c, #dd202f);
background-image: -moz-linear-gradient(top, #e8616c, #dd202f);
background-image: -o-linear-gradient(top, #e8616c, #dd202f);
background-image: linear-gradient(to bottom, #e8616c, #dd202f);
}
JS代码(用于显示数字)
var currentCartQuantity = $.getCurrentCartQuantity();
console.log('当前购物车数量:'+currentCartQuantity);
if(currentCartQuantity <= 99) {
$('#cart-counter').html(currentCartQuantity);
} else {
$('#cart-counter').html('···');
}
注意:这里获取购物车数量是通过 ajax 向后台查询返回的,然后数量如果大于99显示...