首页 >

layer怎么弹出指定的html内元素 – CSS – 前端,css起源服务器

css隐藏与显示,css固定横向,css关闭横向滑动,css样式布局现在都用,在js里调CSS,css3 scale缩放图片,css起源服务器layer怎么弹出指定的html内元素 - CSS - 前端,css起源服务器

一个基本的弹出层应该满足以下需求:

1、点击按钮/链接触发弹出层,弹出层应该有半透明的遮罩层;

2、点击弹出层的关闭按钮、取消按钮或者遮罩层会关闭隐藏弹出层;

3、使用Esc键也可以关闭弹出层;

4、它是响应式的,并且兼容现代主流浏览器。

html

1、首先大家在页面放置一个用来触发弹出层的链接,也可以是个按钮button,注意的是大家给它设置一个data-show-layer属性,这个属性值对应的就是弹出层的id,也就是说通过data-show-layer来关联弹出层。

2、很显然,上面的链接关联的弹出层的id是hw-layer。那好,选择大家来准备弹出层hw-layer的html代码。

3、大家弹出层的最外层,也就是遮罩层.hw-overlay,大家会使用CSS控制它是一个半透明的层,用来隔开弹出层和页面主体内容。r然后在.hw-layer-wrap主体层内,大家可以设置弹出层的内容,当然内容由你来定,大家本文结合实例弹出层的内容是一个确认对话框,类似window的confirm()。内容使用了bootstrap的col-*栅格布局,还用了glyphicon字体图标。其实最关键的就是需要遮罩层和主体层,内容可以根据项目需求自定义,因为它可能是个表单、也可能是个纯文字说明的内容。

CSS

1、CSS也是关键的部分,大家先设置遮罩层,它默认情况下应该是不可见的,位置上fixed固定的,并且是覆盖整个页面的,它还是半透明的,大家这里设置了背景黑色、透明度0.3,如background-color: rgba(0,0,0,0.3)。然后主体层.hw-layer-wrap,大家设置它的宽度,计算它的位置。宽度大家可以预设一个值,高度由于内容多少不确定,这里大家不用设置一个具体的值,在后面的js部分会对高度处理,然后设置居中以及边框阴影等效果。有关水平和垂直居中的设置可以参阅Helloweba文章:如何让DIV水平和垂直居中。弹出层里面的内容样式可以自由设置,最后就是使用media query来设置小屏幕下的弹出层居中的问题。

2、大家使用jQuery来处理触发弹出层和关闭弹出层效果,应此需要预先加载jQuery库。showLayer(id)是一个自定义的函数,用来展示弹出层。当点击按钮或链接调用这个showLayer(id)函数,它会渐现的效果展示,并且计算弹出层的高度位移距离,使得弹出主体层水平和垂直方向的居中。而函数hideLayer()就是隐藏弹出层,fadeOut()或者hide()就能实现。最后再加上触发遮罩层的时候关闭弹出层以及使用Esc按钮的时候关闭弹出层的代码。

3、其实到这里,一个基本的弹出层效果已经做好了。大家这里只是做一个基本的弹出层,你也可以进行继续扩展代码。大家看过很多弹出层插件,很多都是动态直接操作DOM的,也就是通过js代码先createElement,然后在将内容append到body里的,这种方式如果是频繁操作DOM的话会消耗一定的性能,所以从性能角度考虑的话,偶推荐使用本文提供的弹出层方式。


layer怎么弹出指定的html内元素 - CSS - 前端,css起源服务器
  • 域名首页后面indexhtml怎么去掉 - CSS - 前端,漂亮 css 按钮
  • 域名首页后面indexhtml怎么去掉 - CSS - 前端,漂亮 css 按钮 | 域名首页后面indexhtml怎么去掉 - CSS - 前端,漂亮 css 按钮 ...

    layer怎么弹出指定的html内元素 - CSS - 前端,css起源服务器
  • 一个html标签只能设置一个class属性 - CSS - 前端,css动起来
  • 一个html标签只能设置一个class属性 - CSS - 前端,css动起来 | 一个html标签只能设置一个class属性 - CSS - 前端,css动起来 ...

    layer怎么弹出指定的html内元素 - CSS - 前端,css起源服务器
  • 剪映如何让几张图片对齐 - CSS - 前端,css怎么配渐变色
  • 剪映如何让几张图片对齐 - CSS - 前端,css怎么配渐变色 | 剪映如何让几张图片对齐 - CSS - 前端,css怎么配渐变色 ...