چگونه ایجاد کنم: مدال CSS/JS
- صفحه قبل ویدئو تمامصفحه
- صفحه بعدی حذف مودال
آموزش ایجاد مدال با استفاده از CSS و JavaScript.
چگونه مدال ایجاد کنم
مدال یک دیالوگ/پنجرهی پاپآپ است که در بالای صفحهی فعلی نمایش داده میشود:
مرحله اول - اضافه کردن HTML:
<!-- فعالسازی/باز کردن مدال --> <button id="myBtn">مدال باز کن</button> <!-- مدال --> <div id="myModal" class="modal"> <!-- محتوای مدال --> <div class="modal-content"> <span class="close">×</span> <p>متنی در مدال...</p> </div> </div>
مرحله دوم - اضافه کردن CSS:
/* فرمولار (پسزمینه) */ .modal { display: none; /* به صورت پیشفرض مخفی */ position: fixed; /* مکان ثابت نگه داشتن */ z-index: 1; /* در بالای همه چیز */ left: 0; top: 0; width: 100%; /* تمام عرض */ height: 100%; /* تمام ارتفاع */ overflow: auto; /* در صورت نیاز، اسکرول را فعال کنید */ background-color: rgb(0,0,0); /* رنگ جایگزین */ background-color: rgba(0,0,0,0.4); /* سیاه با نیمهشفافیت */ } /* محتوای فرمولار/پنجره */ .modal-content { background-color: #fefefe; margin: 15% auto; /* 15% از بالا و در وسط */ padding: 20px; border: 1px solid #888; width: 80%; /* ممکن است به اندازه صفحه نمایش بستگی داشته باشد */ } /* دکمه بستهکننده */ .close { color: #aaa; float: right; font-size: 28px; font-weight: bold; } .close:hover, .close:focus { color: black; text-decoration: none; cursor: pointer; }
مرحله سوم - اضافه کردن JavaScript:
// فرمولار را دریافت کنید var modal = document.getElementById("myModal"); // دکمه بازکننده فرمولار را دریافت کنید var btn = document.getElementById("myBtn"); // عناصر <span> بستهکننده فرمولار را دریافت کنید var span = document.getElementsByClassName("close")[0]; // زمانی که کاربر روی دکمه کلیک کند، فرمولار را باز کند btn.onclick = function() { modal.style.display = "block"; } // زمانی که کاربر روی <span> (x) کلیک کند، فرمولار را ببند span.onclick = function() { modal.style.display = "none"; } // زمانی که کاربر روی هر بخشی از فرمولار خارج از پنجره کلیک کند، آن را ببند window.onclick = function(event) { اگر (هدف رویداد modal است) { modal.style.display = "none"; } }
افزودن سر و پایان
افزودن کلاس به سر، متن اصلی و پایان پنجره موتورسیکلت:
<!-- محتوای پنجره موتورسیکلت --> <div class="modal-content"> <div class="modal-header"> <span class="close">×</span> <h2>سر پنجره موتورسیکلت</h2> </div> <div class="modal-body"> <p>متنی در بدنه پنجره موتورسیکلت</p> <p>متن دیگری...</p> </div> <div class="modal-footer"> <h3>پایان پنجره موتورسیکلت</h3> </div> </div>
تنظیم استایل سر، متن اصلی و پایان پنجره موتورسیکلت و افزودن انیمیشن (پنجره موتورسیکلت به بالا حرکت میکند):
/* سر پنجره موتورسیکلت */ .modal-header { padding: 2px 16px; background-color: #5cb85c; color: white; } /* متن اصلی پنجره موتورسیکلت */ .modal-body {padding: 2px 16px;} /* پایان پنجره موتورسیکلت */ .modal-footer { padding: 2px 16px; background-color: #5cb85c; color: white; } /* محتوای پنجره موتورسیکلت */ .modal-content { position: relative; background-color: #fefefe; margin: auto; padding: 0; border: 1px solid #888; width: 80%; box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19); animation-name: animatetop; animation-duration: 0.4s } /* افزودن انیمیشن */ @keyframes animatetop { از {top: -300px; opacity: 0} به {top: 0; opacity: 1} }
پنجره موتورسیکلت پایینی
یک پنجره موتورسیکلت کامل از پایین به بالا روان میآوریم:
مثال - پنجره موتورسیکلت پایینی
صفحات مرتبط
- صفحه قبل ویدئو تمامصفحه
- صفحه بعدی حذف مودال