【前端每日一题】用纯CSS实现以下效果

题目描述:

用纯CSS实现:鼠标移到哪个圆圈上,该圆圈包括它前面的圆圈都变为实心。

思考过程:

用JS很容易实现,但用纯CSS还是第一次做。

首先一排的圆圈,就会想到无序列表,接着选中的元素为包括自己和自己前面的元素,就可以想到兄弟选择器~(会选中排在自己后面的同类元素),这两种是相反的情况。通过相反可以想到flex布局中有从右到左的方向属性。

代码:

//html,为了增加区别,我给每个li加了数字
<body>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
    </ul>
</body>
//CSS
ul{
    display: flex;
    flex-direction: row-reverse; //从右往左
}
li{
    margin: 10px;
    list-style: none;
    height: 20px;
    width: 20px;
    border: 1px solid black;
    border-radius: 50%;
    text-align: center;
}
li:hover ~li,li:hover{    //~li是除了本身的,所以要加上自己
    background-color: pink;
}

效果图:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值