برنامه نویسی

10 تکنیک پیشرفته CSS که توسعه جلوی شما را دگرگون می کند

بعد از گذشت بیش از یک دهه از طراحی و توسعه جبهه ، من از قدرت خام CSS قدردانی می کنم. در حالی که JavaScript اغلب مورد توجه قرار می گیرد ، CSS به تنهایی می تواند تجربیات تعاملی باورنکردنی ایجاد کند. در اینجا 15 تکنیک کاملاً CSS وجود دارد که مهارت های جلوی شما را به ارتفاعات جدید بالا می برد.

1. ایجاد تایپوگرافی پاسخگو با گیره ()

در clamp() عملکرد به تایپوگرافی شما اجازه می دهد تا بین اندازه های نمای بدون نمایش داده های رسانه ای به راحتی مقیاس بندی کند:

h1 {
  font-size: clamp(2rem, 5vw + 1rem, 5rem);
}

p {
  font-size: clamp(1rem, 1vw + 0.75rem, 1.5rem);
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مثال متن پاسخگو

این تضمین می کند که متن هرگز از نظر تلفن همراه یا خیلی بزرگ در دسک تاپ ، همه با یک خط CSS بسیار کوچک نیست.

2. Master the: is () انتخاب کننده برای کد پاک کننده

در :is() شبه کلاس می تواند به طور چشمگیری تکرار انتخاب CSS را کاهش دهد:

/* Instead of this */
header a:hover, 
main a:hover, 
footer a:hover {
  text-decoration: underline;
}

/* Use this */
:is(header, main, footer) a:hover {
  text-decoration: underline;
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این باعث می شود که شیوه های شما قابل حفظ و خواندن آسان تر باشد.

3. طرح های مورب با CSS Clip-Path ایجاد کنید

استفاده کردن clip-path برای ایجاد تقسیم کننده بخش های مدرن و زاویه ای:

.diagonal-section {
  clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
  padding: 100px 20px;
}

.diagonal-card {
  clip-path: polygon(0 0, 100% 0, 95% 100%, 5% 100%);
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نمونه های چند ضلعی CSS

این تکنیک علاقه بصری را اضافه می کند و یک جریان پویا بین بخش های صفحه ایجاد می کند.

4. مرزهای شیب متحرک

مرزهای انیمیشن چشم نواز ایجاد کنید:

.gradient-border {
  position: relative;
  border-radius: 10px;
  padding: 20px;
}

.gradient-border::before {
  content: "";
  position: absolute;
  inset: -3px;
  z-index: -1;
  border-radius: 12px;
  background: linear-gradient(
    45deg,
    #ff3c78, #ffa26b, #ff3c78, #ffa26b
  );
  background-size: 400% 400%;
  animation: gradient-shift 3s ease infinite;
}

@keyframes gradient-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این یک مرز شیب پالس و متحرک در اطراف عناصر شما ایجاد می کند.

5. منظر پیشرفته با چشم انداز CSS

با جلوه های کاملاً PARALLAX CSS ، عمق ایجاد کنید:

.parallax-container {
  height: 100vh;
  overflow-x: hidden;
  overflow-y: scroll;
  perspective: 10px;
}

.parallax-layer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.parallax-bg {
  transform: translateZ(-10px) scale(2);
}

.parallax-mid {
  transform: translateZ(-5px) scale(1.5);
}

.parallax-front {
  transform: translateZ(0);
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نمونه منظر

این یک اثر منظر واقعی را ایجاد می کند که در آن هنگام حرکت عناصر با سرعت های مختلف حرکت می کنند.

6. یک ظاهر طراحی شده فرم پیشرفته با: دارای () و: تمرکز-

تعامل فرم پیشرفته و بدون جاوا اسکریپت ایجاد کنید:

/* Style form when any input has focus */
form:has(:focus) {
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);
}

/* Style a field group when its input is valid */
.field-group:has(input:valid) label {
  color: green;
}

/* Style a field group when its input has content */
.field-group:has(input:not(:placeholder-shown)) label {
  transform: translateY(-1.5rem) scale(0.8);
  color: #4a5568;
}

/* Style form when all required fields are valid */
form:has(input[required]:valid):has(input[required]:invalid) {
  border-color: yellow;
}

form:has(input[required]:valid):not(:has(input[required]:invalid)) {
  border-color: green;
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

فرم دارای exapmple است

این انتخاب کنندگان یک ظاهر طراحی شده فرم آگاه از متن ایجاد می کنند که به ورودی کاربر پاسخ می دهد.

7. شبکه CSS مناطق نامگذاری شده برای چیدمان های پیچیده

از مناطق شبکه نامگذاری شده برای چیدمان های بسیار خواندنی و پاسخگو استفاده کنید:

.dashboard {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) 3fr 1fr;
  grid-template-rows: auto 1fr 1fr auto;
  grid-template-areas: 
    "header header header"
    "sidebar main stats"
    "sidebar main activity"
    "footer footer footer";
  gap: 16px;
  height: 100vh;
}

@media (max-width: 900px) {
  .dashboard {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto 1fr auto auto auto;
    grid-template-areas: 
      "header"
      "sidebar"
      "main"
      "stats"
      "activity"
      "footer";
  }
}

.header { grid-area: header; }
.sidebar { grid-area: sidebar; }
.main { grid-area: main; }
.stats { grid-area: stats; }
.activity { grid-area: activity; }
.footer { grid-area: footer; }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این یک طرح داشبورد پیچیده ایجاد می کند که با حداقل کد با حداقل کد صفحه نمایش را تغییر می دهد.

8. پیمایش صاف با رفتارهای پیمایش

پیمایش صاف بومی را بدون جاوا اسکریپت اجرا کنید:

html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px; /* Adjust for fixed headers */
}

/* Enhance with targeted control */
.quick-nav a {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion) {
  html {
    scroll-behavior: auto;
  }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این نه تنها هنگام حرکت به لنگرهای صفحه ، انتقال صاف را اضافه می کند بلکه به ترجیح کاربر برای کاهش حرکت نیز احترام می گذارد.

9. CSS MODES برای جلوه های پیشرفته تصویر

تصاویر لایه ای با حالت های ترکیبی برای ایجاد جلوه های عکس پیچیده:

.duotone {
  position: relative;
  display: inline-block;
}

.duotone img {
  display: block;
  filter: grayscale(100%) contrast(1.2);
}

.duotone::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #e31b6d;
  mix-blend-mode: color;
  pointer-events: none;
}

.duotone::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #47c9e5;
  mix-blend-mode: exclusion;
  pointer-events: none;
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مثال دوتایی

این یک اثر دوتایی جالب توجه که معمولاً در طراحی وب مدرن مشاهده می شود ، ایجاد می کند.

10. دستگاه های دولتی با خواص سفارشی CSS ایجاد کنید

شما می توانید با استفاده از متغیرهای CSS و :has() انتخاب کننده:

.accordion {
  --state: "closed";
}

.accordion:has(:checked) {
  --state: "open";
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s;
}

.accordion:has([value="open"]) .accordion-content {
  max-height: 500px;
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این تکنیک به شما امکان می دهد حالت های مؤلفه را بدون JavaScript مدیریت کنید.

جایزه: طرح بندی اشکال زدایی با یک خط

هنگامی که چیزی در طرح شما شکسته می شود ، این CSS موقت را اضافه کنید تا سریع مسائل را شناسایی کنید:

* {
  outline: 1px solid red !important;
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

وب سایت اشکال زدایی با CSS

این امر هر عنصر موجود در صفحه را برجسته می کند و باعث می شود تا مشکلات تراز ، مشکلات سرریز یا حاشیه های غیر منتظره را آسان تر کنید.


این تکنیک های پیشرفته CSS نشان می دهد که CSS مدرن بسیار قدرتمندتر از آن است که بسیاری از توسعه دهندگان متوجه شوند. توانایی ایجاد تجربیات غنی و تعاملی بدون جاوا اسکریپت نه تنها باعث بهبود عملکرد می شود بلکه اغلب منجر به اجرای قوی تر و در دسترس می شود.

با تسلط بر این رویکردهای خالص CSS ، جعبه ابزار خود را گسترش می دهید و قادر خواهید بود ویژگی های پیشرفته ای را با کد کمتری و سازگاری بیشتر مرورگر پیاده سازی کنید.


کدام یک از این تکنیک های CSS شما را بیشتر شگفت زده کرد؟ افکار خود را در نظرات به اشتراک بگذارید!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا