پرش به محتوا

باکس شناور/کافه محمد - فراغیب

از فراغیب
بدون خلاصۀ ویرایش
بدون خلاصۀ ویرایش
 
(یک نسخهٔ میانیِ ایجادشده توسط همین کاربر نشان داده نشد)
خط ۱: خط ۱:
<html>
<html lang="fa" dir="rtl"> 
<!-- Font Awesome -->
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css">
  <meta charset="UTF-8" /> 
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />    <title>کادر معرفی</title> 
  <meta name="description" content="کافه پاتوق محمد؛ انتخابی عالی برای قهوه، نوشیدنی‌های خوش‌طعم و دورهمی در فضایی دنج و صمیمی. تجربه‌ای متفاوت از یک کافه‌گردی لذت‌بخش.">    <link rel="preconnect" href="https://fonts.googleapis.com" /> 
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
  <link
    href="https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;700&display=swap" 
    rel="stylesheet"
  />    <link 
    rel="stylesheet" 
    href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css"
  />    <style> 
    * { 
      margin: 0; 
      padding: 0; 
      box-sizing: border-box; 
    } 
 
    body { 
      font-family: "Vazirmatn", sans-serif; 
      background: #f5f5f5; 
      padding: 20px; 
      line-height: 1.9; 
      color: #444; 
    } 
 
    /* محل قرارگیری کادر در دسکتاپ */ 
    .online-support-box { 
      position: fixed; 
      left: 20px; 
      bottom: 20px; 
      z-index: 999999; 
    } 
 
    /* کادر اصلی */ 
    .info-box { 
      max-width: 340px; 
      width: 100%; 
      background: #BCAAA4; 
      border-radius: 14px; 
      box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08); 
      padding: 14px; 
      position: relative; 
      overflow: hidden; 
      transition: opacity 0.3s ease, transform 0.3s ease; 
    } 
 
    .info-box.hide { 
      opacity: 0; 
      transform: translateY(15px); 
      pointer-events: none; 
    } 
 
    /* دکمه ضربدر */ 
    .close { 
      position: absolute; 
      top: 10px; 
      left: 10px; 
      width: 30px; 
      height: 30px; 
      border: none; 
      background: #f3f3f3; 
      border-radius: 50%; 
      cursor: pointer; 
      transition: 0.3s; 
      display: flex; 
      align-items: center; 
      justify-content: center; 
      color: #777; 
      font-size: 14px; 
    } 
 
    .close:hover { 
      background: #e7e7e7; 
      transform: rotate(90deg); 
    } 
 
    /* بخش عنوان */ 
    .info-header { 
      display: flex; 
      align-items: center; 
      gap: 10px; 
      margin-bottom: 10px; 
      padding-left: 34px; 
    } 
 
    /* آیکون داخل کادر */ 
    .avatar { 
      width: 52px; 
      height: 52px; 
      border-radius: 50%; 
    background: linear-gradient(135deg, #5C3A21, #8B5E3C); 
      display: flex; 
      align-items: center; 
      justify-content: center; 
      font-size: 24px; 
      color: #fff; 
      flex-shrink: 0; 
      box-shadow: 0 3px 10px rgba(44, 155, 102, 0.25); 
    } 
 
    .info-title { 
      font-size: 14px; 
      font-weight: 700; 
      color: #4E342E; 
      line-height: 1.8; 
    } 
 
    .info-text { 
      font-size: 14px; 
      color: #000; 
    } 
 
    /* آیکون شناور مخصوص موبایل */ 
    .mobile-toggle { 
      display: none; 
      width: 56px; 
      height: 56px; 
      border: none; 
      border-radius: 50%; 
      background: linear-gradient(135deg, #5C3A21, #8B5E3C); 
      color: #fff; 
      font-size: 24px; 
      cursor: pointer; 
      box-shadow: 0 5px 16px rgba(44, 155, 102, 0.35); 
      align-items: center; 
      justify-content: center; 
      transition: 0.3s; 
    } 
 
    .mobile-toggle:hover { 
      transform: scale(1.08); 
    } 
 
    /* تنظیمات موبایل */ 
    @media (max-width: 600px) { 
      .online-support-box { 
        left: 14px; 
        bottom: 14px; 
      } 
 
      .info-box { 
        display: none; 
        max-width: calc(100vw - 28px); 
      } 
 
      .info-box.mobile-open { 
        display: block; 
        animation: showBox 0.3s ease forwards; 
      } 
 
      .mobile-toggle { 
        display: flex; 
      } 
 
      .mobile-toggle.hidden { 
        display: none; 
      } 
    } 
 
    @keyframes showBox { 
      from { 
        opacity: 0; 
        transform: translateY(15px); 
      } 
 
      to { 
        opacity: 1; 
        transform: translateY(0); 
      } 
    } 
  </style>  </head>  <body> 
  <div class="online-support-box">  <!-- آیکون مخصوص موبایل --> 
<button 
  class="mobile-toggle" 
  id="mobileToggle" 
  aria-label="نمایش اطلاعات" 
  title="نمایش اطلاعات" 
  <i class="fa-solid fa-headset"></i> 
</button>


<style>
<!-- کادر معرفی --
/* فقط روی این باکس اعمال شود */
<section class="info-box" id="infoBox" aria-label="معرفی استاد"> 
.online-support-box,
  <button class="close" id="closeBtn" aria-label="بستن"> 
.online-support-box *{
     <i class="fa-solid fa-xmark"></i> 
    margin:0;
  </button> 
    padding:0;
    box-sizing:border-box;
     font-family:Vazirmatn,Tahoma,sans-serif;
}


.online-support-box{
  <div class="info-header">
    position:fixed;
    <div class="avatar">
    left:20px;
      <i class="fa-solid fa-mug-hot"></i>
    bottom:20px;
    </div>
    z-index:999999;
}
 
.info-box{
    width:min(340px,calc(100vw - 30px));
    background:#BCAAA4;
    border-radius:14px;
    box-shadow:0 4px 18px rgba(0,0,0,.08);
    padding:14px;
    position:relative;
    overflow:hidden;
    transition:.3s;
    will-change:transform,opacity;
}
 
.info-box.hide{
    opacity:0;
    transform:translateY(15px);
    pointer-events:none;
}
 
.close{
    position:absolute;
    top:10px;
    left:10px;
    width:30px;
    height:30px;
    border:0;
    border-radius:50%;
    background:#f3f3f3;
    color:#777;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.3s;
}
 
.close:hover{
    transform:rotate(90deg);
    background:#e7e7e7;
}
 
.info-header{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
    padding-left:34px;
}
 
.avatar{
    width:52px;
    height:52px;
    border-radius:50%;
    background:linear-gradient(135deg,#5C3A21,#8B5E3C);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    flex-shrink:0;
}
 
.info-title{
    font-size:15px;
    font-weight:700;
    color:#4E342E;
}
 
.info-text{
    font-size:14px;
    color:#222;
    line-height:1.9;
}
 
.mobile-toggle{
    display:none;
    width:56px;
    height:56px;
    border:0;
    border-radius:50%;
    background:linear-gradient(135deg,#5C3A21,#8B5E3C);
    color:#fff;
    font-size:24px;
    cursor:pointer;
    box-shadow:0 5px 16px rgba(0,0,0,.2);
}
 
@media(max-width:600px){
 
.online-support-box{
    left:14px;
    bottom:14px;
}
 
.info-box{
    display:none;
}
 
.info-box.mobile-open{
    display:block;
    animation:show .3s;
}
 
.mobile-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
}
 
.mobile-toggle.hidden{
    display:none;
}
 
}
 
@keyframes show{
from{opacity:0;transform:translateY(15px);}
to{opacity:1;transform:translateY(0);}
}
</style>
 
<div class="online-support-box">
 
<button class="mobile-toggle" id="mobileToggle" aria-label="نمایش اطلاعات">
<i class="fa-solid fa-headset"></i>
</button>
 
<section class="info-box" id="infoBox" role="complementary" aria-label="معرفی کافه">
 
<button class="close" id="closeBtn" aria-label="بستن">
<i class="fa-solid fa-xmark"></i>
</button>
 
<div class="info-header">
<div class="avatar">
<i class="fa-solid fa-mug-hot"></i>
</div>
 
<h2 class="info-title">
کافه پاتوق محمد
</h2>
</div>


    <h2 class="info-title"> 
      کافه پاتوق محمد 
    </h2> 
  </div> 


  <p class="info-text"> 
  تجربه‌ای متفاوت از یک کافه‌گردی لذت‌بخش. 
  </p> 
</section>
</section>
</div>
<script>
const box=document.getElementById("infoBox"),
btn=document.getElementById("mobileToggle"),
close=document.getElementById("closeBtn");
const expire=86400000;
if(localStorage.getItem("coffeeBox")){
const t=Date.now()-Number(localStorage.getItem("coffeeBox"));
if(t<expire){
box.style.display="none";
btn.style.display="none";
}
}
btn.onclick=()=>{
box.classList.add("mobile-open");
btn.classList.add("hidden");
};
close.onclick=()=>{
localStorage.setItem("coffeeBox",Date.now());


if(innerWidth<=600){
  </div>    <script> 
box.classList.remove("mobile-open");
    const closeBtn = document.getElementById("closeBtn"); 
btn.classList.remove("hidden");
    const infoBox = document.getElementById("infoBox"); 
}else{
    const mobileToggle = document.getElementById("mobileToggle"); 
box.classList.add("hide");
 
setTimeout(()=>box.style.display="none",300);
    // باز کردن کادر در موبایل 
}
    mobileToggle.addEventListener("click", function () { 
};
      infoBox.classList.add("mobile-open"); 
</script>
      mobileToggle.classList.add("hidden"); 
    }); 
 
    // بستن کادر 
    closeBtn.addEventListener("click", function () { 
      if (window.innerWidth <= 600) {
        infoBox.classList.remove("mobile-open");
        mobileToggle.classList.remove("hidden");
      } else {
        infoBox.classList.add("hide");
 
        setTimeout(function ()
          infoBox.style.display = "none"
        }, 300);
      }
    });
  </script> </body> 
</html>
</html>

نسخهٔ کنونی تا ‏۱۱ اوت ۲۰۲۶، ساعت ۱۵:۴۰

کادر معرفی

کافه پاتوق محمد

تجربه‌ای متفاوت از یک کافه‌گردی لذت‌بخش.