503,display:none;与visibility:hidden;的区别

联系:他们都能让元素不可见

区别:

  • display:none;会让元素从渲染树中消失,渲染的时候不占据任何空间;

visibility:hidden;不会让元素从渲染树中消失,渲染时袁旭继续占据空间,知识内容不可见了;

  • display:none;是非继承属性,子孙节点消失是由于元素从渲染树中消失造成的,通过修改子孙节点的属性也无法显示;visibility:hidden;是继承属性,子孙节点消失是由于继承了hidden,可以通过设置子孙节点visibility:visible;然子孙节点显示
  • 修改常规流中的display通常会造成文档重排。修改visibility属性只会造成本元素的重绘。
  • 读屏器不会读取display:~;元素内容;但是会读取visibility:~;元素的内容
posted @ 2020-02-24 16:02  皮皮买  阅读(147)  评论(0编辑  收藏  举报