改变浏览器alert弹窗的样式CSS

这篇文章展示了如何使用JavaScript和CSS创建一个自定义的alert对话框,包括设置蒙版颜色、字体颜色、按钮样式等,并添加了确定按钮的点击事件来关闭弹窗。
摘要由CSDN通过智能技术生成

可直接复制到控制台看效果!

window.alert = function(msg){
	var maskBg = '#0000002b';						//蒙版展示色
	var zIndex = 999999;							//修改弹出层z-index,应为最顶层,避免被覆盖
	var desColor = '#1f0000'						//提示信息字体颜色
	var buttonVal = '确定';							//确定按钮名称
	var btnBgColor = '#1E90FF';						//确定按钮背景颜色
	var btnColor = '#fff';							//确定按钮字体颜色
	var btnAlign = 'right';							//按钮在水平位置,默认居中,变量值:left,center,right
	var style = `
			<style class="mask-style">
				.box-sizing{
					box-sizing: border-box;
				}
				.alertMask{
					position: fixed;	/*生成绝对定位的元素,相对于浏览器窗口进行定位*/
					display: flex;
					display: webkit-flex;
					flex-direction: row;
					align-items: center;
					justify-content: center;
					width: 100%;
					height: 100%;
					top: 0;
					left: 0;
					z-index: `+zIndex+`;
					background: `+maskBg+`;
				}
				.alertContainer{
					min-width: 240px;	/*容器最小240px*/
					max-width: 320px;	/*容器最大320px*/
					background:#fff;
					border: 1px solid `+maskBg+`;
					border-radius: 3px;
					color: `+desColor+`;
					overflow: hidden;									
				}
				.alertDes{
					padding: 35px 30px;
					text-align: center;
					letter-spacing: 1px;
					font-size: 14px;
					color: `+desColor+`;
				}
				.alertDes img{
					max-width: 100%;
					height: auto;
				}
				.alertConfirmParent{
					width: 100%;
					padding: 20px 30px;
					text-align: `+btnAlign+`;
					box-sizing: border-box;
					background: #f2f2f2;
				}
				.alertConfirmBtn{
					cursor: pointer;
					padding: 8px 10px;
					border: none;
					border-radius: 2px;
					color: `+btnColor+`;
					background-color: `+btnBgColor+`;
					box-shadow: 0 0 2px `+btnBgColor+`;
				}
			</style>
		`;
	
	var head = document.getElementsByTagName('head')[0];
	head.innerHTML += style		//头部加入样式,注意不可使用document.write()写入文件,否则出错
	
	const body = document.getElementsByTagName('body')[0];
		
	var alertMask = document.createElement('div');
	var alertContainer = document.createElement('div');
	var alertDes = document.createElement('div');
	var alertConfirmParent = document.createElement('div');
	var alertConfirmBtn = document.createElement('button');	
	
	body.append(alertMask);
	alertMask.classList.add('alertMask');
	alertMask.classList.add('box-sizing');
	
	alertMask.append(alertContainer);
	alertContainer.classList.add('alertContainer');
	alertContainer.classList.add('box-sizing');
		
	alertContainer.append(alertDes);
	alertDes.classList.add('alertDes');
	alertDes.classList.add('box-sizing');
	
	alertContainer.append(alertConfirmParent);
	alertConfirmParent.classList.add('alertConfirmParent');
	alertConfirmParent.classList.add('box-sizing');	
	
	alertConfirmParent.append(alertConfirmBtn);
	alertConfirmBtn.classList.add('alertConfirmBtn');
	alertConfirmBtn.classList.add('box-sizing');
	alertConfirmBtn.innerText = buttonVal;
	
	//加载提示信息	
	alertDes.innerHTML = msg;
	//关闭当前alert弹窗
	function alertBtnClick(){
		body.removeChild(alertMask);
		maskStyle = head.getElementsByClassName('mask-style')[0];
		head.removeChild(maskStyle);	//移除生成的css样式
		
	}
	alertConfirmBtn.addEventListener("click", alertBtnClick);
}

alert("请重试!!!");

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一些美化alert弹窗CSS代码: ``` /* Alert弹窗样式 */ .alert { padding: 20px; background-color: #f44336; color: white; border-radius: 5px; } /* 成功 Alert弹窗样式 */ .alert.success {background-color: #4CAF50;} /* 信息 Alert弹窗样式 */ .alert.info {background-color: #2196F3;} /* 警告 Alert弹窗样式 */ .alert.warning {background-color: #ff9800;} /* 关闭按钮样式 */ .closebtn { margin-left: 15px; color: white; font-weight: bold; float: right; font-size: 22px; line-height: 20px; cursor: pointer; transition: 0.3s; } /* 鼠标悬停关闭按钮样式 */ .closebtn:hover { color: black; } ``` 以下是一个基于JavaScriptalert弹窗美化示例: ``` function showAlert(message, type) { // 创建一个alert元素 var alertElement = document.createElement("div"); // 添加样式alertElement.classList.add("alert"); if (type == "success") { alertElement.classList.add("success"); } else if (type == "info") { alertElement.classList.add("info"); } else if (type == "warning") { alertElement.classList.add("warning"); } // 添加关闭按钮 var closeBtn = document.createElement("span"); closeBtn.classList.add("closebtn"); closeBtn.innerHTML = "×"; alertElement.appendChild(closeBtn); // 添加消息 var messageElement = document.createElement("p"); messageElement.innerHTML = message; alertElement.appendChild(messageElement); // 将alert元素添加到body中 document.body.appendChild(alertElement); // 点击关闭按钮时,删除alert元素 closeBtn.onclick = function() { alertElement.remove(); } // 5秒后自动删除alert元素 setTimeout(function() { alertElement.remove(); }, 5000); } ``` 这个函数接收两个参数:消息内容和消息类型(可选)。根据消息类型不同,alert弹窗样式会有所不同。调用这个函数时,会创建一个alert元素,并添加到页面中。5秒后,这个alert元素会自动删除。用户也可以手动点击关闭按钮来删除这个alert元素。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值