TGViewer
Html and Css & Jsآموزش Html and Css & Jsآموزش @htmlcss_channels · 23.1K subscribers
Post #2658 2.06K
نمونه کد عملی برای پیاده‌سازی CSS View Transitions

🎬 نمونه کد: CSS View Transitions

۱. فعال‌سازی ساده روی همه صفحات

ساده‌ترین راه، فعال‌سازی روی <html> هست. فقط کافیه این CSS رو اضافه کنی:
@view-transition {
navigation: auto;
}

همین! حالا هر جابه‌جایی بین صفحات، خودکار انیمیشن داره.

۲. شخصی‌سازی انیمیشن با @keyframes

می‌تونی تعیین کنی صفحه قدیم چطور محو بشه و صفحه جدید چطور ظاهر بشه:
::view-transition-old(root) {
animation: fadeOut 0.4s ease-out;
}

::view-transition-new(root) {
animation: fadeIn 0.4s ease-in;
}

@keyframes fadeOut {
to {
opacity: 0;
transform: translateY(-20px);
}
}

@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
}

۳. انیمیشن اختصاصی برای یک المان خاص

فرض کن می‌خوای وقتی از یه صفحه به صفحه دیگه می‌ری، یه کارت خاص جابه‌جا بشه. کافیه بهش یه view-transition-name بدی:
<article style="view-transition-name: hero-card;">
<h1>تیتر اصلی</h1>
<p>توضیحات کارت</p>
</article>

و تو CSS:
::view-transition-old(hero-card),
::view-transition-new(hero-card) {
animation-duration: 0.5s;
animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

۴. مثال کامل: یک صفحه با دو لینک
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="UTF-8">
<title>دموی View Transitions</title>
<style>
@view-transition {
navigation: auto;
}

body {
font-family: sans-serif;
padding: 2rem;
background: #f5f5f5;
}

.card {
background: white;
padding: 2rem;
border-radius: 12px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
view-transition-name: main-card;
}

a {
display: inline-block;
margin-top: 1rem;
padding: 0.5rem 1rem;
background: #3b82f6;
color: white;
text-decoration: none;
border-radius: 6px;
}

::view-transition-old(root) {
animation: slideOut 0.3s ease-in;
}

::view-transition-new(root) {
animation: slideIn 0.3s ease-out;
}

@keyframes slideOut {
to { opacity: 0; transform: translateX(-30px); }
}

@keyframes slideIn {
from { opacity: 0; transform: translateX(30px); }
}
</style>
</head>
<body>
<div class="card">
<h1>صفحه اصلی</h1>
<p>روی دکمه زیر بزن تا انیمیشن جابه‌جایی رو ببینی.</p>
<a href="page2.html">برو به صفحه دوم</a>
</div>
</body>
</html>


۵. مثال با JavaScript (برای SPA)
function navigateTo(url) {
if (!document.startViewTransition) {
window.location.href = url;
return;
}

document.startViewTransition(() => {
window.location.href = url;
});
}



💎 @Htmlcss_channels  | #HTML #css #JavaScript
  • ❤ 5
More from @htmlcss_channels
  1. Sep 24, 2026۵ منبع رایگان کاربردی برای طراحان و توسعه‌دهندگان وبسایت! اگه دنبال کامپوننت‌های آماده، آی…
  2. Sep 23, 2026HTML: Responsive images 🔅 تصاویر واکنش‌گرا در HTML با اين تکنیک، مرورگر خودش بهترین نسخه…
  3. Sep 22, 2026مدل Jev توی طراحی یک Design System چقدر خوبه؟ فقط کافیه یک جمله بهش بدی، بعد خودش از بین ب…
  4. Sep 19, 2026سایت Obsidian UI یه کالکشن جذاب از کامپوننت‌های مدرنه که به پروژه‌هاتون یه ظاهر کاملاً پرم…
  5. Sep 17, 2026سایت موشن‌سایتس (MotionSites) پرامپت‌ برای طراحی وب‌سایت در اختیارتون می‌ذاره. سایت Motion…
  6. Sep 16, 2026این سایت کامپوننت های زیبایی برای وب داره، کد هاشون هست بعضیاشون حتی پرامپت هم دارن برای ا…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →