html点击出现表单弹窗

最后附上全部源码

项目场景:

项目场景:在管理系统中,点击某个按钮如何弹出一个表单弹窗并且设置遮罩层,如下图所示。
html点击出现表单弹窗_第1张图片

在上图中,我们实现了点击按钮跳出弹窗的效果,主要用到的是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>

你可能感兴趣的:(js,html,css,前端)