当前位置: 首页 > 科技观察

“隐藏方式”前端实现的区别

时间:2023-03-13 19:34:30 科技观察

大家好,我是神曦!一名前端小学生。小神喜在开发过程中经常会用到隐藏,经常有用户要求我们显示或者不显示;但是前端实现隐藏的方式有那么多种,到底应该选择哪一种呢?答案当然是....全部!只有儿童纸才能做出选择。哈哈,我们真好,“完整”。隐藏方法隐藏元素可以通过以下方式完成:1.HTML元素加上:hidden="hidden"。2.设置属性显示:无,或可见性:隐藏。但是请注意,这两种方法会产生不同的结果3.在JS中隐藏element.hide();showelement.show()4.v-if/v-show;(Vue中)wx:if/wx:show的解释(微信小程序中)隐藏方法hidden="hidden"隐藏字段占用的空间。html里面写的首页homepage可以通过删除语句hidden="hidden"来显示,CSS中的显示会覆盖hidden属性在html中显示:none显示不隐藏字段中的任何空间。隐藏元素不占用任何空间。也就是说,元素不仅被隐藏了,而且元素原本占据的空间也会从页面布局中消失。display有多种显示方式display:block//块级显示display:inline//行级显示不删除节点虽然在页面中消失了,但是通过js获取节点的方式还是会获取到;它只是在文档流中(以及在页面中)隐藏和消失。visibility:hiddenvisibility隐藏占用字段的空间。隐藏的元素仍然占据与隐藏之前相同的空间。换句话说,虽然元素被隐藏了,但它仍然影响布局。这就像将透明度设置为0,即使你看不到它,你也知道它就在那里。可见性的显示只有一种可见性:visible;节点没有被删除hide()show()JS中写的hide()element.hide()实际上是把CSS中的显示设置为无,效果与显示相同。v-if/wx:if,v-show/wx:show隐藏不占用字段的空间hidetrue,showfalsev-if

wx:if隐藏会删除元素节点,显示会加回来。隐藏就是在整个Dom结构和页面中都找不到,相当于彻底删除了这个元素节点。总结方法location区别文档流区别其他区别hidden="hidden"写在html标签属性中,该字段占用的空间不会被删除,节点会被CSS中的显示覆盖visibility:hidden;写入字段占用的CSS空间不会被隐藏会删除节点display:none;用css写的不占域空间,隐藏不会删除节点hide();展示();JS写的不占域空间,隐藏不会删除节点,相当于修改显示属性v-if/wx:if;写在html标签属性中,如果不占用domain的空间,隐藏会删除节点,切换消耗较大v-show/wx:show;写在html标签属性中,不占用域空间的节点会被删除,相当于修改了display属性。最后一句话是小沈溪自己的学习心得!如有错误,请指正。其实在实际的开发过程中,根据需求选择技术是最好的捷径,因为你永远不知道用户在想什么,嘻嘻,希望好心人不要吝啬我的建议。再见!作者:沉曦链接:https://juejin.cn/post/6950802602753949710来源:掘金版权归作者所有。商业转载请联系作者授权,非商业转载请注明出处。