JSFiddle - React, Tailwind, and code Playground

by 81ue_lan

HTML

<div class="alert alert-primary">
  <div class="alert-content">
    <p>歡迎您點擊「抖內」按鈕,以實際行動支持我們。</p>
  </div>
  <div class="alert-btn-wrap">
    <button class="btn-close">×</button>
  </div>
</div>
<hr>
<div class="alert alert-success">
  <div class="alert-content">
    <p>您已成功下訂單!以下為您的訂單詳細資訊。</p>
  </div>
  <div class="alert-btn-wrap">
    <button class="btn-close">×</button>
  </div>
</div>
<hr>
<div class="alert alert-danger">
  <div class="alert-content">
    <p>抱歉,系統發生錯誤,請稍後重新嘗試。</p>
  </div>
  <div class="alert-btn-wrap">
    <button class="btn-close">×</button>
  </div>
</div>
<hr>
<div class="alert alert-warning">
  <div class="alert-content">
   <p>請注意,以下內容包含「劇透」爆雷資訊。</p>
  </div>
  <div class="alert-btn-wrap">
    <button class="btn-close">×</button>
  </div>
</div>

CSS

.alert{
  display: flex;
  align-items: center;
  width: 450px;
  padding: 5px 10px;
  border: 1px solid;
  border-radius: 10px;
  font-weight: 600;
  color: #3C444D;
}
.alert-content{
  width: 400px;
  text-align: center;
  margin-right: auto;
}
.btn-close{
  border: none;
  font-size: 24px;
  background-color: transparent;
  color: #68727C;
  cursor: pointer;
}
.alert-primary{
  border-color: #C6D7E9;
  background-color: #E6EFFA;
}
.alert-success{
   border-color: #CAE9D1;
   background-color: #E9F6ED;
}
.alert-danger{
  border-color: #EACFC8;
  background-color: #FCEDE9;
}
.alert-warning{
  border-color: #F5E8D1;
  background-color: #FEF7EA;
}

JavaScript

const closeBtns = document.querySelectorAll('.btn-close');

function closeHandler(){ 
	event.target.closest('.alert').remove();
}

for(let btn of closeBtns){
	btn.onclick = closeHandler;
}