Vue中visibility display v-if v-show比较

display: none

  1. 给一个元素设置了display: none后,该元素及其后代元素均会被隐藏。且重写后代元素的display属性无效。
  2. 该元素及其后代元素均不占用原空间,隐藏后的元素无法点击。

visibility:hidden

  1. 给元素设置visibility: hidden后,该元素隐藏。其子元素默认继承父元素visibility属性,但子元素若重写属性,则不受父级影响。
  2. 该元素隐藏后,仍保持占位。隐藏部分无法点击,可见的子元素可以点击。

display: none和visibility:hidden区别

  • visibility:hidden保持占位;display: none不保持占位
  • visibility:hidden设置后,其子元素可通过设置visibility:visible来单独控制子元素显示; display: none设置后,其子元素重写display属性无效,均隐藏。

display: none和visibility:hidden共同点

  • 对应的标签仍存在DOM结构中,均可控制显隐

v-if和v-show区别

  • 初始值为false时,v-if不会编译,v-show会编译并设置display:none
  • v-show只编译一次,通过控制display:none来控制显隐,始终可以在DOM中获取对应标签;v-if的显隐切换则是通过动态的向DOM树内添加或者删除DOM元素,所以v-if="false"时,无法在DOM中获取该标签。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值