元素不可见方法实践

Posted 仲夏.net

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了元素不可见方法实践相关的知识,希望对你有一定的参考价值。

html 中通过css方式隐藏元素的方式有很多种,除了display:none的方式外,还可以通过变换元素的位置来达到效果。

 代码如下

<!doctype html>
<html>
<head>
	<title>Demo</title>
	<style type="text/css">
		div:nth-child(2n){
			background:#c1f7c2;
			height:50px;
		}
		div:nth-child(2n+1){
			background:#c6d2c6;
			height:50px;
		}
		span{
			background:#e6ffd6;
		}
		/*隐藏当前元素且不占用文档流*/
		.displayNone{
		
			display:none;
		}
		/*隐藏当前元素但是占用文档流只是不显示出来*/
		.visibilityHidden{
		
			visibility:hidden;
		}
		/*移动当前元素到屏幕左侧,占用文档流元素仍然存在,只是在当前屏幕看不到了*/
		.positionRelative{
			position:relative;
			left:-101%;
		}
		/*移动子元素到父元素的右侧,配合超出后不显示,达到隐藏的效果,占用文档流元素仍然存在*/
		.textIndent{
			text-indent:100%;
			white-space:nowrap;
			overflow:hidden;
		}
		/*设置宽度和高度都是零,不占用空间,达到隐藏的效果(子元素不会受到影响,仍然会显示出来)*/
		.heightWidth{
			height:0px;
			width:0px;
		}
		/*文字内容可以设置字体大小为0达到隐藏效果*/
		.fontsize0{
			font-size:0;
		}
		/*设置元素的透明度0*/
		.opacity0{
			opacity:0;
		}
		/*旋转元素,按照X轴的方向旋转90度,与当前页面垂直,仍然占用文档流,同理可以旋转Y轴*/
		.transformRotatex{
			transform:rotateX(90deg);
		}
		/*在X轴方向上移动元素,仍然占用文档流,同理可以向Y轴方向移动*/
		.transformTranslateX{
			transform:translateX(-10000px);
		}
		/*缩小或者放大,0倍时元素隐藏,元素仍然存在,占用文档流*/
		.transformScale{
			transform:scale(0);
		}
		/*以中心位置旋转90度,元素仍然存在*/
		.transformSkew{
			transform:skew(90deg);
		}
	</style>
</head>
<body>
	<div class="displayNone"><span>display:none</span></div>
	<div class="visibilityHidden"><span>visibility: hidden;</span></div>
	<div class="positionRelative"><span>position:relative;</span></div>
	<div class="textIndent"><span>text-indent: 100%;</span></div>
	<div class="heightWidth"><span class="fontsize0">height&width</span></div>
	<div class="opacity0"><span>opacity</span></div>
	<div class="transformRotatex"><span>transform:rotateX(90deg)</span></div>
	<div class="transformTranslateX"><span>transform:translateX(-10000px)</span></div>
	<div class="transformScale"><span>transform:scale(0)</span></div>
	<div class="transformSkew"><span>transform:skew(90deg)</span></div>
</body>
</html>

 效果对比图如下:

 

 

 

 

 

 

 

以上是关于元素不可见方法实践的主要内容,如果未能解决你的问题,请参考以下文章

如何从活动中更改片段中视图的可见性

如何知道 Fragment 何时变得不可见

重新创建活动后片段不可见

方向更改时不可见的片段

CSS 实践:实现下拉菜单的方法

片段管理访问错误可见 return false