css遮罩层

2,872 阅读1分钟

css遮罩层

*结构很简单,只要一个div就可以,直接看样式。

这是从下到上,*

    div {
		width: 500px;	/* 宽 */
		height: 500px;	/* 高 */
		background: yellow;	/* 背景颜色 */
		margin: 50px auto;	/* 水平居中 */
		position: relative;	/* 相对定位 */
		overflow: hidden;	/* 溢出隐藏 */
	}

	div::after {
		/* 创建伪类 */
		content: "";	/* 内容为空 */	
		display: block;	/* 转为块元素 */	
		width: 500px;
		height: 500px;
		background: rgba(1, 1, 1, 0.4);	/* 前三个代表颜色,最后一个代表透明度 */	
		position: absolute;	/* 决对定位 */
		top: 500px;	/* 定位的位置 */
		transition: 1s;
		/* 动画过度效果 */
				}

	div:hover:after {
		top: 0;
		/* 当鼠标经过div的时候使after的top值为0 */
	}

上面那个是从上到下的,如果换成从左到右呢,代码如下:

    div {
		width: 500px;
		height: 500px;
		background: yellow;
		margin: 50px auto;
		/* 水平居中 */
		position: relative;	/* 相对定位 */
		overflow: hidden;	/* 溢出隐藏 */
	}

	div::after {
		/* 创建伪类 */
		content: "";
		display: block;	/* 转为块元素 */	
		width: 500px;
		height: 500px;
		background: rgba(1, 1, 1, 0.4);
		position: absolute;	/* 决对定位 */
		top: 0;
		left: -500px;
		transition: 1s;
		/* 动画过度效果 */
	}

	div:hover:after {
		left: 0;
		/* 当鼠标经过div的时候 */
	}

其实就是把after初始位置挪到最左边,然后设置一个鼠标经过效果,让它经过div时候left值为0,这样就可以让它到最右边了。同理可得,右到左、上到下都是如此。