在我早期编程生涯中,在转向 Web 开发之前,我大部分时间都在为 Windows 编写软件。回想起那段时光,我充满了美好的回忆。8位图标、OLE2,而且没有傻乎乎的“开始”菜单。随着近期Web 2.0 的蓬勃发展,许多 Web 开发者回归本源,开始构建类似桌面应用程序的网站。AJAX (JavaScript 的二次元)让设计师能够借用桌面范例中的元素,并将其应用于自己的网站 创建模式对话框。
我发现自己经常使用的一个元素是模态对话框。在桌面应用程序中,模态对话框是一个对话框或消息,它会强制您在使用程序的任何其他部分之前将其关闭。如果谨慎使用,它可以很好地将用户的注意力引导到特定元素上,并迫使他们做出决定。只需一些 CSS 和 JavaScript,我们就可以在 Web 上实现同样的效果
覆盖层 <div>
在 HTML 代码底部,创建一个 id 为“overlay”的 <div> 元素。放置在此区域内的任何内容最初都会被浏览器隐藏,然后在激活时以模态框形式显示。其下方的任何内容都将“不可点击”,从而强制用户与您提供的任何消息进行交互。
我通常会在 #overlay 里面放置另一个 <div> ,并将其水平居中,并应用一些样式来创建对话框的外观。实际上,这第二个 <div> 包含了我要向用户显示的内容。
您可以随意设置内部 <div> 的样式。正如我上面所说, 南非 WhatsApp 号码数据 我通常将其水平居中,以使其更具有对话框的外观和感觉。
JavaScript
控制一切的 JavaScript 代码非常简单。只需将以下函数添加到存储 JavaScript 的位置即可。(可以是文档的 <head> 部分,也可以是外部 .js 文件。)
JavaScript 抓取我们的覆盖层元素,然后切换其可见性属性。如果它隐藏,则使其可见,反之亦然。您可以创建一个函数来显式显示或隐藏该图层, 这对 SERP 营销意味着什么? 但我更喜欢这种自动切换的方法,因为它需要的代码更少。
有了该函数,我们每次想要显示叠加层时都会调用它,想要隐藏叠加层时也会调用它。因此,我们可以在页面的某个位置添加
当用户点击链接时,我们的 javascript 将显示覆盖层。
在覆盖层的 HTML 中,我们需要添加一个链接来隐藏它。代码完全相同:
最后的润色
当用户点击链接显示叠加层时,他们可能会感到困惑,因为看起来他们仍然可以点击页面中的任何元素。为了帮助他们理解发生了什么,我们可以为叠加层的 <div> 添加一张背景图片。我在 Photoshop 中创建了一个带有透明度的简单棋盘格图案 .png 文件。这会产生阴影效果,让用户仍然可以看到底层网页,但知道不要点击它。要将背景添加到图层,请在 CSS 中添加以下内容。 }
最后,(一如既往)我们需要添加一个小调整, 在短信中 使其在 Internet Explorer 中正常工作。幸运的是,这很容易解决。将其添加到您的 CSS 中。!
更新:
读者 Henrik Binggl 评论说,这种技术在 IE6 的表单元素上不起作用。我查阅了一些资料,在 MSDN 上找到了一篇解释这个问题的文章,结果发现,这个问题只存在于 <select> 元素上,而不是所有表单元素。简而言之,这些元素会被 IE 渲染成一个单独的窗口,无论 z-index 如何,都会浮动在所有其他页面内容之上。虽然有一个变通方法,但比较复杂和混乱。微软的页面建议大家耐心等待,因为这个问题已经在 IE7 中得到修复。