前端菜鸡流水账日记 -- checkbox二级菜单滚动条设置

下午好哇,今天二更咯,这次想说的是一个ElemenuUI中的一个组件 -- checkbox多选框,管网的地址是https://element.eleme.cn/#/zh-CN/component/installation,关于这个的具体的写法,感兴趣的小伙伴可以去管网看看,很快就能找到的

我今天要记录的是关于他的二级菜单当盒子的内容过多时,超出屏幕展示的范围将会被自动隐藏起来,而overflow就可以解决这个问题,

关于overflow:

假设场景是这样的,如下图所示,有两个部分,并且都有各自对应的二级,但是很显然第一个的二级,比较多,第二个的比较少,那么如果第一个的继续增加,在超过浏览器的范围之后,就将会被隐藏,那我们要怎么做呢?

可以看到上述的场景假设,如果遇到这样的,那肯定是最开始先找到对应的父元素盒子,在上边进行一个样式的修改,

   <div @click="sign" class="overlay"></div>
    <div
      class="pipe"
      v-show="seen1"
      @mouseenter="enter()"
      @mouseleave="leave"
   }"
    >


样式:
.pipe {
  width: 170px;
  height:400px;
  overflow-y: auto !important ;
}

不出意外的话就是可以实现的了,但是这样会有一个问题,因为设置了高度,所以就会两个一起变化,第二个下边就会空很多,比较不美观,但是不设置高的话overflow是不会生效的,那两全其美的办法就是,在父元素那块,额外新增一个style行内样式,并且使用三元进行判断,如果这个二级的数量超过多少,就设置一个高,否则就不设置,具体的代码就是 --     :style="{ top: legendTop + 'px', 'height': legendList.length > 5 ? '400px' : 'auto' 

 <div
      class="pipe"
      v-show="seen1"
      @mouseenter="enter()"
      @mouseleave="leave"
      :style="{ top: legendTop + 'px', 'height': legendList.length > 5 ? '400px' : 'auto' }"
    >

这样就可以动态的实现,是否有滚动条了,legendLIst.length就是二级列表的数量,>5是因为我的这个案例中少的那个只有五个,可以对应的去修改,这样的话就可以实现,在五个以内就是auto的高度,超过五个就是400px的固定高度啦~~~~

--------------------

额外分享对滚动条的设置的样式,有需要的可以直接使用的(记得把pipe换成对应的样式的名字)

/deep/ .pipe::-webkit-scrollbar {
  width: 4px;
}
/deep/ .pipe::-webkit-scrollbar-thumb {
  border-radius: 10px;
  box-shadow: inset 0 0 5px rgba(0,0,0,0.1);
  background: rgba(0,0,0,0.15);
}
/deep/ .pipe::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px rgba(0,0,0,0.1);
  border-radius: 0;
  background: rgba(0,0,0,0.1);
}

好咯,关于这个的我遇到的已经说完啦,下次见~~~~

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
滚动条出现的原因可能是由于设置了box-sizing: border-box;后,元素的宽度超过了其父容器的宽度。引用中提到的情况可能是因为在侧边栏收起时,元素的宽度变小,而父容器的宽度没有相应地调整,导致出现了横向滚动条。 解决这个问题的方法是给出现横向滚动条的那一层盒子元素设置overflow-x: hidden,即引用中提到的方法。这样可以隐藏横向滚动条,并确保元素在不改变父容器宽度的情况下适应其内部内容的宽度。 此外,还需要注意引用中提到的框的总宽度计算方式,即width + padding-right + padding-left + border-right + border-left。如果在元素的宽度计算中没有正确考虑这些属性,也可能导致滚动条的出现。 综上所述,设置了box-sizing: border-box;并不保证完全避免滚动条的出现,还需要确保元素的宽度不超过其父容器的宽度,并正确计算框的总宽度。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [一个box-sizing: border-box和felx混合使用中遇到的问题](https://blog.csdn.net/weixin_30251829/article/details/99976811)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [从box-sizing:border-box属性入手,来了解盒模型](https://blog.csdn.net/qq_26780317/article/details/80736514)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值