1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > html点击出现表单弹窗

html点击出现表单弹窗

时间:2023-03-06 01:17:29

相关推荐

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>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。