前端手写代码面试题
目录

实现一个简单的模态框 (Modal)

· 约 5 分钟读完 · 第 89 / 125 章

推荐答案

本题详细解读

1. HTML 结构

  • 按钮:<button id="openModal">Open Modal</button> 用于触发模态框的显示。
  • 模态框背景:<div id="modal" class="modal-background"> 是模态框的背景层,覆盖整个页面。
  • 模态框内容:<div class="modal-content"> 是模态框的主要内容区域,包含关闭按钮和文本内容。

2. CSS 样式

  • 模态框背景:.modal-background 使用 position: fixed 固定在页面上,覆盖整个视口。背景颜色为半透明的黑色 (rgba(0, 0, 0, 0.5)),并使用 flex 布局将内容居中。
  • 模态框内容:.modal-content 是模态框的主要内容区域,设置了背景颜色、内边距、圆角、宽度和文本居中。
  • 关闭按钮:.close-button 是一个简单的关闭按钮,使用 float: right 将其放置在右上角,并设置了 cursor: pointer 以显示手型光标。

3. JavaScript 逻辑

  • 打开模态框:通过 openModalButton.addEventListener('click', () => { ... }) 监听按钮点击事件,点击后将模态框的 display 属性设置为 flex,使其显示。
  • 关闭模态框:通过 closeModalButton.addEventListener('click', () => { ... }) 监听关闭按钮点击事件,点击后将模态框的 display 属性设置为 none,使其隐藏。
  • 点击模态框外部关闭:通过 window.addEventListener('click', (event) => { ... }) 监听窗口点击事件,如果点击的是模态框背景 (event.target === modal),则关闭模态框。

4. 总结

这个简单的模态框实现展示了如何使用 HTML、CSS 和 JavaScript 创建一个基本的模态框。通过监听按钮点击事件和窗口点击事件,实现了模态框的显示和隐藏功能。