O'zbek

Bootstrap kabi freymvorklardan tashqari zamonaviy CSS usullarini o'rganing. Samarali va qo'llab-quvvatlanadigan veb-saytlar yaratish uchun CSS Grid, Flexbox, Custom Properties va boshqalarni o'rganing.

Zamonaviy CSS: Bootstrap va Freymvorklardan tashqari

Ko'pgina dasturchilar uchun veb-sayt yaratish Bootstrap yoki Foundation kabi CSS freymvorklari bilan boshlanadi. Ushbu freymvorklar responsiv va vizual jozibali veb-saytlarni yaratish uchun tez va oson usulni taqdim etadi. Biroq, faqat freymvorklarga tayanish kodning hajmini oshirib yuborishi, moslashtirishni cheklashi va asosiy CSS tushunchalarini yetarli darajada o'zlashtira olmaslikka olib kelishi mumkin. Ushbu maqolada freymvorklardan tashqari zamonaviy CSS usullaridan foydalangan holda yanada samarali, qo'llab-quvvatlanadigan va moslashtirilgan veb-saytlar yaratish usullari ko'rib chiqiladi.

CSS Freymvorklarining Jadal Savdosi va Cheklovlari

CSS freymvorklari bir qancha afzalliklarni taqdim etadi:

Biroq, freymvorklarning ham cheklovlari mavjud:

Zamonaviy CSS Usullaridan Foydalanish

Zamonaviy CSS murakkab maketlarni yaratish, ajoyib animatsiyalar yaratish va freymvorklarga ko'p ham bog'liq bo'lmagan holda yanada qo'llab-quvvatlanadigan kod yozish imkonini beruvchi kuchli xususiyatlarga ega.

1. CSS Grid Layout

CSS Grid Layout ikki o'lchovli joylashtirish tizimi bo'lib, murakkab grid-asosidagi maketlarni osonlik bilan yaratish imkonini beradi. U grid konteyneridagi elementlarning joylashuvi va o'lchamini boshqarish uchun kuchli vositalarni taqdim etadi.

Misol: Oddiy grid yaratish


.container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; /* Uchta teng ustun */
  grid-gap: 20px; /* Grid elementlari orasidagi bo'shliq */
}

.item {
  background-color: #f0f0f0;
  padding: 20px;
}

CSS Grid afzalliklari:

2. Flexbox Layout

Flexbox Layout bir o'lchovli joylashtirish tizimi bo'lib, konteynerdagi elementlar orasidagi bo'shliqni moslashuvchan tarzda taqsimlash imkonini beradi. U navigatsiya menyularini yaratish, elementlarni tekislash va responsiv komponentlar yaratish uchun idealdir.

Misol: Gorizontal navigatsiya menyusi yaratish


.nav {
  display: flex;
  justify-content: space-between; /* Elementlarni teng taqsimlash */
  align-items: center; /* Elementlarni vertikal tekislash */
}

.nav-item {
  margin: 0 10px;
}

Flexbox afzalliklari:

3. CSS Custom Properties (O'zgaruvchilar)

CSS Custom Properties, shuningdek, CSS o'zgaruvchilari deb ham ataladi, CSS bo'ylab ishlatilishi mumkin bo'lgan qayta ishlatiladigan qiymatlarni aniqlashga imkon beradi. Bu kodni yanada qo'llab-quvvatlanadigan, moslashuvchan va yangilashni osonlashtiradi.

Misol: Asosiy rangni belgilash va ishlatish


:root {
  --primary-color: #007bff;
}

.button {
  background-color: var(--primary-color);
  color: white;
}

CSS Custom Properties afzalliklari:

4. CSS Modullari

CSS modullari – bu ma'lum bir komponentga qamrab olingan CSS yozish usuli. Bu nomlar to'qnashuvini oldini oladi va CSSni yanada modulli va qo'llab-quvvatlanadigan qiladi. Bu CSSning o'ziga xos xususiyati bo'lmasa-da, ular odatda Webpack yoki Parcel kabi qurilish vositalari bilan ishlatiladi.

Misol: React komponenti bilan CSS Modullaridan foydalanish


// Button.module.css
.button {
  background-color: #007bff;
  color: white;
  padding: 10px 20px;
}

// Button.js
import styles from './Button.module.css';

function Button(props) {
  return ;
}

export default Button;

CSS Modullari afzalliklari:

5. CSS Preprocessorlari (Sass, Less)

Sass va Less kabi CSS preprocessorlari o'zgaruvchilar, yuvalash, miksinlar va funksiyalar kabi qo'shimcha xususiyatlar bilan CSS funksiyalarini kengaytiradi. Ushbu xususiyatlar sizga yanada tashkilotli, qo'llab-quvvatlanadigan va qayta ishlatiladigan CSS yozishga yordam berishi mumkin.

Misol: Sass o'zgaruvchilari va yuvalashidan foydalanish


$primary-color: #007bff;

.button {
  background-color: $primary-color;
  color: white;

  &:hover {
    background-color: darken($primary-color, 10%);
  }
}

CSS Preprocessorlari afzalliklari:

6. CSS-in-JS

CSS-in-JS – bu JavaScript komponentlarida to'g'ridan-to'g'ri CSS yozishni o'z ichiga olgan usul. Bu yondashuv komponent darajasidagi uslublar, dinamik uslublar va yaxshilangan samaradorlikni o'z ichiga olgan bir qancha afzalliklarni taqdim etadi.

Misol: React bilan styled-components dan foydalanish


import styled from 'styled-components';

const Button = styled.button`
  background-color: #007bff;
  color: white;
  padding: 10px 20px;

  &:hover {
    background-color: darken(#007bff, 10%);
  }
`;

function MyComponent() {
  return ;
}

CSS-in-JS afzalliklari:

7. Atom CSS (Funksional CSS)

Atom CSS, shuningdek, Funksional CSS deb ham ataladi, CSS yozish usuli bo'lib, u kichik, faqat bitta maqsadga mo'ljallangan CSS sinflarini yaratishni o'z ichiga oladi. Keyin bu sinflar elementlarni uslublash uchun birlashtiriladi. Ushbu yondashuv yanada qo'llab-quvvatlanadigan va qayta ishlatiladigan CSSga olib kelishi mumkin, ammo u HTMLning ko'p gapiruvchanligiga ham olib kelishi mumkin.

Misol: Atom CSS sinflaridan foydalanish



Atom CSS afzalliklari:

Dizayn tizimini Zamonaviy CSS bilan Yaratish

Dizayn tizimi – bu dizayn va ishlab chiqish jarayonida bir xillik va samaradorlikni ta'minlaydigan qayta ishlatiladigan komponentlar va ko'rsatmalarning to'plamidir. Zamonaviy CSS usullari mustahkam va kengaytiladigan dizayn tizimini yaratishda muhim rol o'ynashi mumkin.

Dizayn tizimini yaratish uchun asosiy ko'rsatkichlar:

Misol: Qayta ishlanadigan Xususiyatlar bilan Dizayn Tizimini Tuzish


:root {
  /* Ranglar */
  --primary-color: #007bff;
  --secondary-color: #6c757d;
  --accent-color: #ffc107;

  /* Tipografiya */
  --font-family: sans-serif;
  --font-size-base: 16px;

  /* Bo'shliqlar */
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
}

CSS Samaradorligini Optimallashtirish

Tez va silliq foydalanuvchi tajribasini ta'minlash uchun CSS samaradorligini optimallashtirish muhimdir. CSS samaradorligini oshirish bo'yicha ba'zi maslahatlar:

Yondashuv Ko'rsatkichlari

Yondashuv – veb-sayt yaratishning muhim jihati. CSS yozishda nogironligi bo'lgan foydalanuvchilarning ehtiyojlarini hisobga olish muhim.

Yondashuv uchun asosiy ko'rsatkichlar:

Misol: Etarli rang kontrastini ta'minlash


.button {
  background-color: #007bff;
  color: white;
}

Ushbu misolda, oq matn va ko'k fon orasidagi kontrast nisbati yondashuv standartlariga (WCAG 2.1 AA normal matn uchun kamida 4,5:1 va katta matn uchun 3:1 kontrast nisbatini talab qiladi) javob berishiga ishonch hosil qiling.

Freymvorklardan Tashqariga Chiqish: Amaliy Yondashuv

Freymvorklardan zamonaviy CSSga o'tish bir yo'nalishli yondashuv bo'lishi shart emas. Mavjud loyihalaringizga zamonaviy CSS usullarini asta-sekin qo'shishingiz mumkin.

Qabul Qilinadigan Qadamlar:

  1. Kichikdan Boshlang: Kichik maket vazifalari uchun CSS Grid yoki Flexbox dan foydalanishdan boshlang.
  2. Asoslarni O'rganing: CSSning asosiy tushunchalarini tushunishga vaqt ajrating.
  3. Tajriba O'tkazing: Turli CSS usullarini sinab ko'ring va loyihalaringiz uchun eng yaxshi natija beradiganini aniqlang.
  4. Asta-sekin Qayta Ishlang: Mavjud kod bazangizni zamonaviy CSS usullaridan foydalanish uchun asta-sekin qayta ishlang.
  5. Komponent Kutubxonasini Yaratish: Qayta ishlatiladigan CSS komponentlari kutubxonasini yarating.

Xulosa

Zamonaviy CSS samarali, qo'llab-quvvatlanadigan va moslashtirilgan veb-saytlar yaratish uchun kuchli vositalar to'plamini taklif etadi. Freymvorklardan tashqari ushbu usullarni o'zlashtirish orqali siz o'z kodingiz ustidan ko'proq nazoratga ega bo'lishingiz, veb-saytingiz samaradorligini oshirishingiz va noyob brend imidjini yaratishingiz mumkin. Freymvorklar foydali boshlang'ich nuqta bo'lishi mumkin bo'lsa-da, zamonaviy CSSni o'zlashtirish mohir front-end dasturchisi bo'lish uchun zarurdir. Qiyinchilikni qabul qiling, imkoniyatlarni o'rganing va CSSning to'liq potensialini oching.

Ushbu qo'llanma zamonaviy CSSga sayohatingizni boshlash uchun mo'ljallangan. Har bir xususiyat uchun rasmiy hujjatlarni o'rganishni, turli usullarni sinab ko'rishni va ularni loyiha ehtiyojlaringizga moslashtirishni unutmang. Oddiy kodlash!