display与visibility、opacity

display:none:隐藏元素,不占位
visibility: 隐藏元素,占位
opacity:隐藏元素,占位

display

属性规定元素应该生成的框的类型。
值类型:
1.none 此元素不会被显示。
2.block 此元素将显示为块级元素,此元素前后会带有换行符。
3.inline 默认。此元素会被显示为内联元素,元素前后没有换行符。
4.inline-block 行内块元素

事件监听:无法进行DOM事件监听
transform:transition 不支持display

visibility

规定元素是否可见。
提示:即使不可见的元素也会占据页面上的空间。
值:
1.visible 默认值。元素是可见的。
2.hidden 元素是不可见的。
3.collapse 当在表格元素中使用时,此值可删除一行或一列,但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现为 "hidden"。
4.inherit 规定应该从父元素继承 visibility 属性的值。

事件监听:无法进行DOM事件监听
transform:visibility会立即显示,隐藏式会延时
继承:会被子元素继承,子元素可以通过设置visibility:visible来取消隐藏

opacity

值为0时,元素不可见
事件监听:可以进行DOM事件监听
transform:transition可以延时显示和隐藏
继承:会被子元素继承,且子元素并不能通过opacity:1来取消隐藏

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容