html点击出现表单弹窗

简介: html点击出现表单弹窗

内含全部源码


项目场景:


在系统中,点击某个按钮如何弹出一个表单弹窗并且设置遮罩层,如下图所示。




在上图中,我们实现了点击按钮跳出弹窗的效果,主要用到的是css中position固定定位和利用js改变display的值来进行显示和隐藏页面。


编译器idea




源码展示:


首先讲到我们的遮罩层(灰色部分),它是由点击事件来进行触发


css


 /* 遮罩层样式 */
        .overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0,0,0,0.5);
            display: none; /* 默认隐藏 */
        }


html


<div class="overlay" id="overlay"></div>


可以看到我们设置的display是默认隐藏的,那么通过点击事件来改变它原有的display就可以做到显示和隐藏效果。


弹窗效果


css


 .popup {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            padding: 20px;
            background-color: #fff;
            border: 1px solid #ccc;
            border-radius: 5px;
            display: none; /* 默认隐藏 */
        }


html


<div class="popup" id="popup">
  <label>序号:</label>
    <input type="text" value="" placeholder="请输入ID"/><br><br>
    <label>名称:</label>
    <input type="text" value="" placeholder="请输入名称" /><br><br>
    <label>类型</label>
    <select>
        <option>1</option>
        <option>2</option>
    </select><br><br>
    <button id="closebtn()">关闭</button>
    <button type="submit">提交</button></div>


上面的效果也是通过display来进行改变样式。


表单效果


css


 label {
            width: 100px;
            margin-bottom: 10px;
        }
        input[type="text"], select {
            padding: 8px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 16px;
            color: #555;
        }
        select option {
            color: #555;
        }
        button {
            padding: 5px 10px;
            border-radius: 3px;
            border: none;
            background-color: #007bff;
            color: #fff;
            cursor: pointer;
        }
        button:hover {
            background-color: #0069d9;
        }



html

<label>序号:</label>
    <input type="text" value="" placeholder="请输入ID"/><br><br>
    <label>名称:</label>
    <input type="text" value="" placeholder="请输入名称" /><br><br>
    <label>类型</label>
    <select>
        <option>1</option>
        <option>2</option>
    </select><br><br>
    <button id="closebtn()">关闭</button>
    <button type="submit">提交</button>



全部源码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单弹窗</title>
    <style>
        /* 遮罩层样式 */
        .overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0,0,0,0.5);
            display: none; /* 默认隐藏 */
        }
        /* 弹窗样式 */
        .popup {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            padding: 20px;
            background-color: #fff;
            border: 1px solid #ccc;
            border-radius: 5px;
            display: none; /* 默认隐藏 */
        }
        label {
            width: 100px;
            margin-bottom: 10px;
        }
        input[type="text"], select {
            padding: 8px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 16px;
            color: #555;
        }
        select option {
            color: #555;
        }
        button {
            padding: 5px 10px;
            border-radius: 3px;
            border: none;
            background-color: #007bff;
            color: #fff;
            cursor: pointer;
        }
        button:hover {
            background-color: #0069d9;
        }
    </style>
</head>
<body>
<button id="openbtn">添加</button>
<div class="overlay" id="overlay"></div>
<div class="popup" id="popup">
<form>
    <label>
        序号:
    </label>
    <input type="text" value="" placeholder="请输入ID"/><br><br>
    <label>名称:</label>
    <input type="text" value="" placeholder="请输入名称" /><br><br>
    <label>类型</label>
    <select>
        <option>1</option>
        <option>2</option>
    </select><br><br>
    <button id="closebtn()">关闭</button>
    <button type="submit">提交</button>
</form>
</div>
<script>
    const openbtn=document.getElementById('openbtn');
    const closebtn=document.getElementById('closebtn');
    const popup=document.getElementById('popup');
    const overlay=document.getElementById('overlay');
    openbtn.addEventListener('click',function(){
        popup.style.display='block';
        overlay.style.display='block';
    })
</script>
</body>
</html>
相关文章
|
9天前
|
定位技术
时尚的联系我们表单HTML模板(源码)
一款时尚的联系我们表单Html模板,带地图和所在位置,输入基本信息和信息发送,看起来很漂亮的联系我们页面。
20 1
时尚的联系我们表单HTML模板(源码)
|
7天前
|
移动开发 UED HTML5
HTML 表单和输入7
HTML 表单标签包括 `&lt;form&gt;`、`&lt;input&gt;`、`&lt;textarea&gt;`、`&lt;label&gt;`、`&lt;fieldset&gt;`、`&lt;legend&gt;`、`&lt;select&gt;`、`&lt;optgroup&gt;`、`&lt;option&gt;` 和 `&lt;button&gt;` 等,用于创建用户输入界面。HTML5 新增了 `&lt;datalist&gt;`、`&lt;keygen&gt;` 和 `&lt;output&gt;` 标签,增强了表单的功能和用户体验。
HTML 表单和输入6
提交按钮 `&lt;input type=&quot;submit&quot;&gt;` 用于将表单数据发送到服务器。表单的 `action` 属性指定接收数据的服务器文件,而 `method` 属性定义了提交方式(`get` 或 `post`)。`get` 方法将数据附加在 URL 后,适用于非敏感信息;`post` 方法将数据包含在请求体中,适用于敏感数据。示例展示了如何使用这两种方法提交表单。
|
2天前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
9 3
HTML 表单和输入5
复选框(Checkboxes)由 `&lt;input type=&quot;checkbox&quot;&gt;` 定义,允许用户选择一个或多个选项。
HTML 表单和输入2
HTML 表单是用于收集用户输入的区域,包含各种表单元素如文本域、下拉列表、单选框和复选框等。使用 `&lt;form&gt;` 标签创建表单,其中包含多个 `&lt;input&gt;` 元素来定义不同的输入类型。
HTML 表单和输入3
HTML 表单中的 `&lt;input&gt;` 标签是最常用的表单元素,其类型由 `type` 属性定义。常见的输入类型包括文本域(`&lt;input type=&quot;text&quot;&gt;`),用于用户在表单中输入字母和数字。
|
8天前
|
数据安全/隐私保护
HTML 表单和输入4
密码字段使用 `&lt;input type=&quot;password&quot;&gt;` 定义,输入的字符会被隐藏为星号或圆点。单选按钮使用 `&lt;input type=&quot;radio&quot;&gt;` 定义,用户只能选择一个选项。
|
9天前
|
数据安全/隐私保护
HTML 表单和输入1
HTML表单用于收集用户输入并提交至Web服务器。表单中包含多种输入元素,如文本框、密码框、单选按钮、复选框及下拉列表等。通过`&lt;form&gt;`标签定义表单,`action`属性指定提交目标URL,`method`属性定义提交方式(如POST)。示例展示了如何构建一个包含文本输入、密码输入、单选按钮、复选框和下拉列表的简单表单。