使一个dom不可见的几种方法 |
您所在的位置:网站首页 › 前端隐藏元素 › 使一个dom不可见的几种方法 |
隐藏元素的方法有很多,这里我们就来整理具体有哪几种方法,它们谁是真正的隐藏,谁只是视觉不可见,以及效果上都有什么区别,在开发过程中大家斟酌使用。 隐藏元素的方法 display: nonevisibility: hiddenopacity: 0position: absolute; top: -9999px; left: -9999px;clip-path: polygon(0 0, 0 0, 0 0, 0 0)width: 0; height: 0; overflow: hidden;transform: translate(-9999px, -9999px) || transform: scale(0) 区别 display .hide-dispaly{ display: none }特点: 真正意义上的隐藏,元素不会占据任何空间用户无法与其进行直接的交互通过DOM依然可以获取到该元素子孙元素即使重新设置dispaly: block也无法显示transition动画会失效 visibility .hide-visibility{ visibility: hidden; }特点 隐藏元素依然占据空间,影响其他元素的布局不会影响任何用户的交互通过DOM依然可以获取该元素,无法响应DOM事件其子孙元素可以通过重新设置visibility: visibile来显示 opacity .hide-opacity{ opacity: 0; }特点 只是视觉上隐藏,隐藏的元素依然占据着空间,影响其他元素的布局依然能够响应用户的交互通过DOM依然可以获取该元素,可以响应DOM事件其子孙元素即使重新设置了opacity: 1也无法显示 hidden HEML5新增的hidden属性,可以直接隐藏元素。效果与特点与display一致 我是被隐藏的元素 position .hide-position{ position: absolute top: -9999px left: -9999px }特点: 视觉上隐藏,实际显示在屏幕的可视区之外,不会占据空间,不影响其他元素布局用户无法与其交互通过dom可以获得该元素其子孙元素无法通过重新设置对应的属性来显示 clip-path 通过裁剪元素来实现隐藏 .hide-clip { clip-path: polygon(0 0, 0 0, 0 0, 0 0); }特点: 视觉隐藏,隐藏元素占据空间,影响其他元素的布局用户无法与其进行交互通过dom可以获得该元素其子孙元素无法重新设置对应属性来显示 overflow .hide-overflow { width: 0; height: 0; overflow: hidden; }特点: 视觉隐藏,不占据空间,不影响其他元素布局用户无法与其交互通过DOM可获得该元素子孙元素无法重新设置该属性来显示 transfrom .hide-transform{ transform: translate(-9999px, -9999px) } // 或者 .hide-transform{ transform: scale(0) }特点: 视觉隐藏,占据空间,影响其他元素布局用户无法与其交互通过dom可以获得该元素其子孙元素无法重新设置该属性来显示 真实隐藏我理解的真实隐藏只有 display: nono 视觉隐藏其他都是视觉隐藏 visibility: hiddenopacity: 0positiontransformclip-pathoverflow |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |