弹窗式的登录窗口,HTML和CSS分开
时间: 2024-02-12 17:04:54 浏览: 19
当然可以将HTML和CSS分开,使用外部样式表的方式来引入CSS,代码如下:
HTML代码:
```
<!DOCTYPE html>
<html>
<head>
<title>Login Form</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<button id="open-login">Login</button>
<div class="overlay" id="overlay">
<div class="login-form">
<span class="close-btn" id="close-btn">×</span>
<form>
<label for="username">Username:</label>
<input type="text" id="username" name="username"><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"><br><br>
<input type="submit" value="Submit">
</form>
</div>
</div>
<script src="script.js"></script>
</body>
</html>
```
CSS代码:
```
/* 遮罩层样式 */
.overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: none;
align-items: center;
justify-content: center;
}
/* 登录表单样式 */
.login-form {
background-color: #fff;
padding: 20px;
border-radius: 5px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
display: none;
}
/* 关闭按钮样式 */
.close-btn {
position: absolute;
top: 10px;
right: 10px;
cursor: pointer;
}
```
JavaScript代码:
```
// 获取元素
var openLogin = document.getElementById("open-login");
var overlay = document.getElementById("overlay");
var closeBtn = document.getElementById("close-btn");
// 点击登录按钮显示登录表单和遮罩层
openLogin.onclick = function() {
overlay.style.display = "flex";
overlay.style.justifyContent = "center";
overlay.style.alignItems = "center";
overlay.style.zIndex = "999";
document.body.style.overflow = "hidden";
document.querySelector("form").reset();
}
// 点击关闭按钮隐藏登录表单和遮罩层
closeBtn.onclick = function() {
overlay.style.display = "none";
document.body.style.overflow = "auto";
}
// 点击遮罩层隐藏登录表单和遮罩层
window.onclick = function(event) {
if (event.target == overlay) {
overlay.style.display = "none";
document.body.style.overflow = "auto";
}
}
```
注意,JavaScript代码需要单独放在一个独立的文件中,并且需要在HTML代码中引入。