设置是否显示对象 ,用display 和visibility

本文详细解析CSS中visibility属性的用法,包括其继承、可见、隐藏等状态的实现方式,以及如何合理运用该属性来优化网页布局和用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

display就不说了,太熟悉了

.说visibility

语法: visibility : inherit | visible | collapse | hidden
参数:
inherit :  继承上一个父对象的可见性
visible :  对象可视
hidden :  对象隐藏
说明:
设置或检索是否显示对象。与display属性不同,此属性为隐藏的对象保留其占据的物理空间。
如果希望对象为可视,其父对象也必须是可视的。

参考资源链接:[资深工程师揭示:CSS面试必备知识点与浏览器渲染深入解析](https://wenku.youkuaiyun.com/doc/2g2uneefzw?utm_source=wenku_answer2doc_content) 当使用`display: none`属性隐藏元素时,该元素显示,而且在DOM树中被视为存在,因此浏览器会为这个元素生成任何渲染对象,导致布局(Layout)过程中的回流(reflow)重绘(repaint)都会发生。这是因为浏览器会忽略掉这个元素,从而会进行计算其在页面中的位置以及绘制该元素的操作,这对于提升页面性能是有益的,尤其是当你需要元素时,可以减少渲染负担。 另一方面,`visibility: hidden`属性会使元素可见,但它仍然存在于DOM中,并且会被浏览器渲染,保留其原有的空间。因此,浏览器仍然会为这个元素生成渲染对象,包括布局绘制操作,只是最终显示这个元素。这种隐藏方式会导致回流,但会触发重绘,因为元素的样式被改变(可见),但其在页面上的位置并未改变。这在需要临时隐藏元素而想影响页面布局时非常有用。 对于`box-sizing`属性,`content-box``border-box`的差异主要在于尺寸计算方式的同。`content-box`是默认值,元素的宽度高度仅包括内容区域,包括边框内边距,这意味着你设置的宽度高度只会应用于内容区域,边框内边距会使元素的总尺寸增加。而`border-box`则会将边框内边距的尺寸包含在元素的宽度高度内,这样设置的宽度高度就会是元素最终的总宽度高度。使用`border-box`有助于简化布局计算,尤其是当你需要精确控制元素的尺寸时。而继承父元素的`box-sizing`(`inherit`)允许子元素根据父元素的盒模型设置来调整自己的盒模型,但可能会导致一些一致性,特别是在复杂的布局中。 在CSS面试中,了解这些细节以及浏览器渲染的过程对页面性能的影响是至关重要的。在面试准备时,推荐参考《资深工程师揭示:CSS面试必备知识点与浏览器渲染深入解析》一文,其中详细讲解了CSS核心知识点及其在浏览器渲染过程中的应用,有助于面试者更好地掌握这些概念。 参考资源链接:[资深工程师揭示:CSS面试必备知识点与浏览器渲染深入解析](https://wenku.youkuaiyun.com/doc/2g2uneefzw?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值