html5如何实现弹出提示框,并且伴随遮罩层并且可以关闭弹出框

html-css020

html5如何实现弹出提示框,并且伴随遮罩层并且可以关闭弹出框,第1张

通过jquery的show()和hide()函数联合使用,实现弹出窗口。

一、show()和hide()函数解析:

1、show() 方法显示隐藏的被选元素。

注意:show() 适用于通过 jQuery 方法和 CSS 中 display:none 隐藏的元素(不适用于通过 visibility:hidden 隐藏的元素)。

2、hide() 方法隐藏被选元素。

这与 CSS 属性 display:none 类似,但是隐藏的元素不会被完全显示(不再影响页面的布局)。

二、设计一个HTML页面,包括一个简单的弹出窗,和一个显示按钮。其中,调用了jquery的以上两个函数。具体代码如下:

三、设计遮罩层的样式,如下:

四、弹出窗口的css样式,代码如下:

五、初始页面如下:

六、点击按钮,查看弹出窗口结果:

七、关闭弹出窗后,打开开发者中心,如下:

这个可以通过绝对定位,配合left设置 或者translate去实现

left的方法:

比如让class为menu的元素宽为300px,高100%的,设置left为-300px;在这期间可以加一个过渡transition:left 0.3s ...;

然后让class为menu active的元素设置 left设置为0就可以了 ,在这期间可以加一个过渡transition:left 0.3s ...;

然后可以通过Jquery的toggleClass('active')来实现切换

translate

比如让class为menu的元素宽为300px,高100%的,设置left为-300px;在这期间可以加一个过渡transition:left 0.3s ...;

然后让class为menu active的元素设置 transform:translate3d(-300px,0,0) ,在这期间可以加一个过渡transition:left 0.3s ...;

然后可以通过Jquery的toggleClass('active')来实现切换

这个过程中 需要注意 body需要overflow:hidden(不然会有滚动条,可设置overflow-x即可)

left 和 translate 最好用translate ,translate3d可以开启GPU硬件加速,性能会更好,体验会更流畅

我github有类似小组件样式

github: IFmiss

希望能解决你的问题