导航和点击特效两种写法

一、常见的<ul><li></li></ul>

横向导航需要设置display:inline-block或者float:right;

点击特效:

(1)使用vue-router自带的linkActiveClass属性(但是只能设置字体的变化):

const router = createRouter({
    history: createWebHistory(),
    routes,
    linkActiveClass:'navActive'
})
export default router;
active:{
   font-weight:bolder;
 }

(2)对于vue3

.active{
    border-bottom:1px solid black;
    color:blue;
  }
.test ul li {
    display:inline-block;
    margin-right:100px;
  }
<div class="test">
    <ul>
      <li v-for="(item,index) in options" :class="{'active':index===number}" :key="index" @click="change(index)">{{item}}</li>
    </ul>
  </div>
 setup() {
    const number = ref(0);
    return {
      number,
      options:["aa","bb","cc","dd"],
      change(index){
       this.number = index
      }
    }
  },

二、使用<dl><dt><dd>

.div1 form input{
          display: none;
        }
.div1 form label span{
          margin-right: 100px;
        }
.div1 form input:checked+span{
          color:blue;
          border-bottom: blue 1px solid;
        }
<div class="div1">
      <dl>
        <dt>
          <form>
            <label><input type="radio" name="aa" checked><span>111</span></label>
            <label><input type="radio" name="aa"><span>222</span></label>
            <label><input type="radio" name="aa"><span>333</span></label>
          </form>
        </dt>
        <dd>dsds</dd>
        <dd>dsds</dd>
      </dl>
</div>

不需要js代码,主要利用form表单<lable>标签和<input>标签的check属性,还有:check和+(相邻兄弟选择器)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值