模态框几乎是除了按钮之外,最容易被使用到的组件了。
以下代码均可实时编辑,实时更新。
<div class="dialog-wrap">
<a href="javascript:;" title="遮罩" class="mask"></a>
<div class="dialog">
<a href="javascript:;" title="关闭" class="dialog-mask">×</a>
<div class="dialog-hd">
<h3 class="dialog-title">模态框示例</h3>
</div>
<div class="dialog-bd">
模态框内容
</div>
<div class="dialog-ft">
模态框底部(一般为操作区)
</div>
</div>
</div>
[.dialog-close]
因为HTML 字符
×
默认就是一个叉的形状,所以这边用这个来降级。当然也可以通过字体,图片,svg
或者直接 css 绘制。
| 示例 | 基础样式 | 放到弹窗右上角 | 鼠标移入状态 | 鼠标按下状态 |
|---|---|---|---|---|
半透明的遮罩,可以直接通过设置
.dialog-wrap 元素的背景颜色实现,但这边我们推荐单独用一个
.dialog-mask 元素去实现。
.dialog-mask 这个元素即可;
.dialog-mask 元素上绑定事件;
模态框遮罩 [.dialog-mask] |
模态框容器 [.dialog-wrap] |
模态框主体 [.dialog] |
|---|---|---|
JS通常我们默认弹窗不显示。
然后通过 JS 去给 .dialog-wrap 添加一个标志位的
class 来控制弹窗的显示。
在我们规范里,我们推荐使用 ._on 来作为这个标志位 class。
| 底部对齐 | 居中布局 | |
|---|---|---|
|
来自张鑫旭老师 LULU弹窗组件的居中布局小技巧。 是目前我们知道的兼容性最好的不定宽弹窗上下左右垂直居中布局方式。 |
||