தமிழ்

உண்மையான ரெஸ்பான்சிவ் வலை வடிவமைப்பிற்கு CSS கன்டெய்னர் குவரிகளைப் பயன்படுத்துங்கள். அனைத்து சாதனங்களிலும் தடையற்ற பயனர் அனுபவத்திற்காக, கன்டெய்னர் அளவின் அடிப்படையில் லேஅவுட்களை எவ்வாறு மாற்றுவது என்பதை அறியுங்கள்.

ரெஸ்பான்சிவ் வடிவமைப்பைத் திறத்தல்: CSS கன்டெய்னர் குவரிக்களுக்கான ஒரு விரிவான வழிகாட்டி

பல ஆண்டுகளாக, ரெஸ்பான்சிவ் வலை வடிவமைப்பு முதன்மையாக மீடியா குவரிகளை நம்பியுள்ளது, இது வலைத்தளங்கள் வியூபோர்ட்டின் அகலம் மற்றும் உயரத்தின் அடிப்படையில் அவற்றின் லேஅவுட் மற்றும் ஸ்டைலிங்கை மாற்றியமைக்க அனுமதிக்கிறது. இது பயனுள்ளதாக இருந்தாலும், இந்த அணுகுமுறை சில நேரங்களில் கட்டுப்படுத்துவதாக உணரலாம், குறிப்பாக ஒட்டுமொத்த திரை அளவைப் பொருட்படுத்தாமல் சுயாதீனமாக மாற்றியமைக்க வேண்டிய சிக்கலான கூறுகளுடன் கையாளும் போது. CSS கன்டெய்னர் குவரிகளை உள்ளிடவும் – இது ஒரு சக்திவாய்ந்த புதிய கருவியாகும், இது வியூபோர்ட்டை விட, அவற்றைக் கொண்டிருக்கும் உறுப்புகளின் அளவிற்கு பதிலளிக்க அனுமதிக்கிறது. இது ரெஸ்பான்சிவ் வடிவமைப்பில் ஒரு புதிய அளவிலான நெகிழ்வுத்தன்மையையும் துல்லியத்தையும் திறக்கிறது.

CSS கன்டெய்னர் குவரிகள் என்றால் என்ன?

CSS கன்டெய்னர் குவரிகள் என்பது ஒரு CSS அம்சமாகும், இது ஒரு உறுப்புக்கு அதன் பெற்றோர் கன்டெய்னரின் அளவு அல்லது பிற பண்புகளின் அடிப்படையில் ஸ்டைல்களைப் பயன்படுத்த உங்களை அனுமதிக்கிறது. வியூபோர்ட்டை குறிவைக்கும் மீடியா குவரிகளைப் போலல்லாமல், கன்டெய்னர் குவரிகள் ஒரு குறிப்பிட்ட உறுப்பை குறிவைக்கின்றன. இது திரை அளவைப் பொருட்படுத்தாமல், அவற்றின் கன்டெய்னரில் கிடைக்கும் இடத்தின் அடிப்படையில் அவற்றின் ஸ்டைலிங்கை மாற்றியமைக்கும் கூறுகளை உருவாக்குவதை சாத்தியமாக்குகிறது.

ஒரு கார்டு கூறு, அது ஒரு குறுகிய பக்கப்பட்டியில் அல்லது ஒரு பரந்த முக்கிய உள்ளடக்கப் பகுதியில் வைக்கப்பட்டுள்ளதா என்பதைப் பொறுத்து வித்தியாசமாகக் காட்டப்படுவதை கற்பனை செய்து பாருங்கள். மீடியா குவரிகளுடன், திரை அளவின் அடிப்படையில் கார்டின் ஸ்டைலிங்கை நீங்கள் சரிசெய்ய வேண்டியிருக்கலாம், இது முரண்பாடுகளுக்கு வழிவகுக்கும். கன்டெய்னர் குவரிகளுடன், கார்டின் கன்டெய்னர் ஒரு குறிப்பிட்ட அகலத்தை அடையும் போது குறிப்பாகப் பொருந்தும் ஸ்டைல்களை நீங்கள் வரையறுக்கலாம், இது வெவ்வேறு லேஅவுட்களில் ஒரு சீரான மற்றும் ரெஸ்பான்சிவ் அனுபவத்தை உறுதி செய்கிறது.

கன்டெய்னர் குவரிகளை ஏன் பயன்படுத்த வேண்டும்?

கன்டெய்னர் குவரிகள் பாரம்பரிய மீடியா குவரிகளை விட பல நன்மைகளை வழங்குகின்றன:

CSS கன்டெய்னர் குவரிகளை எவ்வாறு செயல்படுத்துவது

CSS கன்டெய்னர் குவரிகளை செயல்படுத்துவது இரண்டு முக்கிய படிகளை உள்ளடக்கியது: கன்டெய்னரை வரையறுத்தல் மற்றும் குவரிகளை எழுதுதல்.

1. கன்டெய்னரை வரையறுத்தல்

முதலில், நீங்கள் ஒரு உறுப்பை ஒரு *கன்டெய்னராக* நியமிக்க வேண்டும். இது container-type பண்பைப் பயன்படுத்தி செய்யப்படுகிறது. container-type க்கு இரண்டு முக்கிய மதிப்புகள் உள்ளன:

உங்கள் கன்டெய்னருக்கு ஒரு பெயரைக் கொடுக்க container-name ஐயும் பயன்படுத்தலாம், இது உங்கள் குவரிகளில் குறிப்பிட்ட கன்டெய்னர்களை குறிவைக்க உதவியாக இருக்கும். எடுத்துக்காட்டாக:

.card-container {
  container-type: inline-size;
  container-name: cardContainer;
}

இந்த குறியீடு .card-container வகுப்பைக் கொண்ட உறுப்பை ஒரு கன்டெய்னராக அறிவிக்கிறது. கன்டெய்னரின் அகலத்தின் அடிப்படையில் குவரிகளை அனுமதிக்க inline-size ஐ நாங்கள் குறிப்பிடுகிறோம். நாங்கள் ಅದಕ್ಕೆ cardContainer என்ற பெயரையும் கொடுத்துள்ளோம்.

2. கன்டெய்னர் குவரிகளை எழுதுதல்

நீங்கள் கன்டெய்னரை வரையறுத்தவுடன், @container அட்-ரூலைப் பயன்படுத்தி கன்டெய்னர் குவரிகளை எழுதலாம். தொடரியல் மீடியா குவரிகளைப் போன்றது:

@container cardContainer (min-width: 400px) {
  .card {
    flex-direction: row;
  }
  .card-image {
    width: 40%;
  }
  .card-content {
    width: 60%;
  }
}

இந்த குவரி cardContainer என்று பெயரிடப்பட்ட கன்டெய்னர் 400px குறைந்தபட்ச அகலத்தைக் கொண்டிருக்கும்போது மட்டுமே சுருள் பிரேஸ்களுக்குள் உள்ள ஸ்டைல்களைப் பயன்படுத்துகிறது. இது .card உறுப்பை (அநேகமாக .card-container இன் குழந்தை) குறிவைத்து அதன் லேஅவுட்டை சரிசெய்கிறது. கன்டெய்னர் 400px ஐ விட குறுகலாக இருந்தால், இந்த ஸ்டைல்கள் பயன்படுத்தப்படாது.

சுருக்கெழுத்து: நீங்கள் ஒரு கன்டெய்னர் பெயரை குறிப்பிடத் தேவையில்லாதபோது `@container` விதியின் சுருக்கெழுத்து பதிப்பையும் பயன்படுத்தலாம்:

@container (min-width: 400px) {
  /* கன்டெய்னர் குறைந்தது 400px அகலமாக இருக்கும்போது பயன்படுத்த வேண்டிய ஸ்டைல்கள் */
}

கன்டெய்னர் குவரிகளின் நடைமுறை எடுத்துக்காட்டுகள்

மேலும் ரெஸ்பான்சிவ் மற்றும் மாற்றியமைக்கக்கூடிய லேஅவுட்களை உருவாக்க கன்டெய்னர் குவரிகளை எவ்வாறு பயன்படுத்தலாம் என்பதற்கான சில நடைமுறை எடுத்துக்காட்டுகளைப் பார்ப்போம்.

எடுத்துக்காட்டு 1: கார்டு கூறு

இந்த எடுத்துக்காட்டு ஒரு கார்டு கூறை அதன் கன்டெய்னரின் அகலத்தின் அடிப்படையில் எவ்வாறு மாற்றியமைப்பது என்பதைக் காட்டுகிறது. கன்டெய்னர் குறுகலாக இருக்கும்போது கார்டு அதன் உள்ளடக்கத்தை ஒற்றை நெடுவரிசையிலும், கன்டெய்னர் அகலமாக இருக்கும்போது இரண்டு நெடுவரிசைகளிலும் காண்பிக்கும்.

HTML:

<div class="card-container">
  <div class="card">
    <img src="image.jpg" alt="Card Image" class="card-image">
    <div class="card-content">
      <h3>Card Title</h3>
      <p>This is some sample content for the card.</p>
      <a href="#">Learn More</a>
    </div>
  </div>
</div>

CSS:

.card-container {
  container-type: inline-size;
  border: 1px solid #ccc;
  margin-bottom: 20px;
}

.card {
  display: flex;
  flex-direction: column;
}

.card-image {
  width: 100%;
  height: auto;
}

.card-content {
  padding: 10px;
}

@container (min-width: 500px) {
  .card {
    flex-direction: row;
  }
  .card-image {
    width: 40%;
  }
  .card-content {
    width: 60%;
  }
}

இந்த எடுத்துக்காட்டில், .card-container கன்டெய்னராக அறிவிக்கப்பட்டுள்ளது. கன்டெய்னரின் அகலம் 500px க்கும் குறைவாக இருக்கும்போது, .card ஒரு நெடுவரிசை லேஅவுட்டைப் பயன்படுத்தும், படம் மற்றும் உள்ளடக்கத்தை செங்குத்தாக அடுக்கி வைக்கும். கன்டெய்னரின் அகலம் 500px அல்லது அதற்கு மேல் இருக்கும்போது, .card ஒரு வரிசை லேஅவுட்டிற்கு மாறும், படம் மற்றும் உள்ளடக்கத்தை அருகருகே காண்பிக்கும்.

எடுத்துக்காட்டு 2: வழிசெலுத்தல் மெனு

இந்த எடுத்துக்காட்டு கிடைக்கும் இடத்தின் அடிப்படையில் ஒரு வழிசெலுத்தல் மெனுவை எவ்வாறு மாற்றியமைப்பது என்பதைக் காட்டுகிறது. கன்டெய்னர் குறுகலாக இருக்கும்போது, மெனு உருப்படிகள் ஒரு கீழ்தோன்றும் மெனுவில் காட்டப்படும். கன்டெய்னர் அகலமாக இருக்கும்போது, மெனு உருப்படிகள் கிடைமட்டமாக காட்டப்படும்.

HTML:

<nav class="nav-container">
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Services</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</nav>

CSS:

.nav-container {
  container-type: inline-size;
  background-color: #f0f0f0;
  padding: 10px;
}

.nav-container ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-container li {
  margin-bottom: 5px;
}

.nav-container a {
  display: block;
  padding: 5px 10px;
  text-decoration: none;
  color: #333;
}

@container (min-width: 600px) {
  .nav-container ul {
    display: flex;
  }

  .nav-container li {
    margin-right: 10px;
    margin-bottom: 0;
  }

  .nav-container a {
    display: inline-block;
  }
}

இந்த எடுத்துக்காட்டில், .nav-container கன்டெய்னராக அறிவிக்கப்பட்டுள்ளது. கன்டெய்னரின் அகலம் 600px க்கும் குறைவாக இருக்கும்போது, மெனு உருப்படிகள் ஒரு செங்குத்து பட்டியலாக காட்டப்படும். கன்டெய்னரின் அகலம் 600px அல்லது அதற்கு மேல் இருக்கும்போது, மெனு உருப்படிகள் flexbox ஐப் பயன்படுத்தி கிடைமட்டமாக காட்டப்படும்.

எடுத்துக்காட்டு 3: தயாரிப்பு பட்டியல்

ஒரு இ-காமர்ஸ் தயாரிப்பு பட்டியல் அதன் லேஅவுட்டை கன்டெய்னரின் அகலத்தின் அடிப்படையில் மாற்றியமைக்க முடியும். சிறிய கன்டெய்னர்களில், தயாரிப்பு படம், தலைப்பு மற்றும் விலையுடன் கூடிய ஒரு எளிய பட்டியல் நன்றாக வேலை செய்யும். கன்டெய்னர் வளரும்போது, ஒரு குறுகிய விளக்கம் அல்லது வாடிக்கையாளர் மதிப்பீடு போன்ற கூடுதல் தகவல்களைச் சேர்ப்பதன் மூலம் விளக்கக்காட்சியை மேம்படுத்தலாம். இது வியூபோர்ட்டை மட்டும் குறிவைப்பதை விட ஒரு நுணுக்கமான கட்டுப்பாட்டையும் அனுமதிக்கிறது.

HTML:

<div class="product-listing-container">
  <div class="product-item">
    <img src="product1.jpg" alt="Product 1">
    <h3>Product Name 1</h3>
    <p class="price">$19.99</p>
  </div>
  <div class="product-item">
    <img src="product2.jpg" alt="Product 2">
    <h3>Product Name 2</h3>
    <p class="price">$24.99</p>
  </div>
</div>

CSS:

.product-listing-container {
  container-type: inline-size;
  display: flex;
  flex-wrap: wrap;
}

.product-item {
  width: 100%;
  margin-bottom: 20px;
  border: 1px solid #eee;
  padding: 10px;
}

.product-item img {
  width: 100%;
  height: auto;
  margin-bottom: 10px;
}

.product-item h3 {
  margin-top: 0;
  font-size: 1.2em;
}

.product-item .price {
  font-weight: bold;
  color: #007bff;
}

@container (min-width: 400px) {
  .product-item {
    width: 50%;
    padding: 15px;
  }
}

@container (min-width: 768px) {
  .product-item {
    width: 33.33%;
  }
}

இந்த CSS குறியீடு முதலில் `product-listing-container` ஐ ஒரு கன்டெய்னராக நிறுவுகிறது. குறுகிய கன்டெய்னர்களுக்கு (400px க்கும் குறைவாக), ஒவ்வொரு தயாரிப்பு உருப்படியும் அகலத்தில் 100% ஐ எடுத்துக்கொள்கிறது. கன்டெய்னர் 400px ஐ தாண்டி வளரும்போது, தயாரிப்பு உருப்படிகள் இரண்டு நெடுவரிசைகளில் ગોઠવાય છે. 768px ஐ தாண்டி, தயாரிப்பு உருப்படிகள் மூன்று நெடுவரிசைகளில் காட்டப்படுகின்றன.

உலாவி ஆதரவு மற்றும் பாலிஃபில்கள்

கன்டெய்னர் குவரிகள் Chrome, Firefox, Safari மற்றும் Edge உள்ளிட்ட நவீன உலாவிகளில் நல்ல உலாவி ஆதரவைக் கொண்டுள்ளன. இருப்பினும், பழைய உலாவிகள் அவற்றை இயல்பாக ஆதரிக்காது.

பழைய உலாவிகளை ஆதரிக்க, நீங்கள் ஒரு பாலிஃபில்லைப் பயன்படுத்தலாம். ஒரு பிரபலமான விருப்பம் container-query-polyfill ஆகும், இது npm மற்றும் GitHub இல் காணப்படுகிறது. பாலிஃபில்கள் ஆதரிக்கப்படாத அம்சங்களுக்கான இடைவெளியை நிரப்புகின்றன, இது பழைய உலாவிகளில் கூட கன்டெய்னர் குவரிகளைப் பயன்படுத்த உங்களை அனுமதிக்கிறது.

கன்டெய்னர் குவரிகளைப் பயன்படுத்துவதற்கான சிறந்த நடைமுறைகள்

கன்டெய்னர் குவரிகளைப் பயன்படுத்தும்போது மனதில் கொள்ள வேண்டிய சில சிறந்த நடைமுறைகள் இங்கே:

பொதுவான ஆபத்துகள் மற்றும் அவற்றை எவ்வாறு தவிர்ப்பது

கன்டெய்னர் குவரிகள் vs. மீடியா குவரிகள்: சரியான கருவியைத் தேர்ந்தெடுப்பது

கன்டெய்னர் குவரிகள் குறிப்பிடத்தக்க நன்மைகளை வழங்கினாலும், மீடியா குவரிகள் இன்னும் ரெஸ்பான்சிவ் வடிவமைப்பில் அவற்றின் இடத்தைக் கொண்டுள்ளன. வெவ்வேறு சூழ்நிலைகளுக்கு எந்தக் கருவி சிறந்தது என்பதைத் தீர்மானிக்க உதவும் ஒரு ஒப்பீடு இங்கே:

அம்சம் கன்டெய்னர் குவரிகள் மீடியா குவரிகள்
இலக்கு கன்டெய்னர் அளவு வியூபோர்ட் அளவு
ரெஸ்பான்சிவ்னஸ் கூறு அடிப்படையிலானது பக்கம் அடிப்படையிலானது
நெகிழ்வுத்தன்மை உயர் நடுத்தரம்
குறியீடு நகல் குறைந்தது அதிகமானது
பயன்பாட்டு வழக்குகள் மீண்டும் பயன்படுத்தக்கூடிய கூறுகள், சிக்கலான லேஅவுட்கள் உலகளாவிய லேஅவுட் சரிசெய்தல், அடிப்படை ரெஸ்பான்சிவ்னஸ்

பொதுவாக, ஒரு கூற்றின் ஸ்டைலிங்கை அதன் கன்டெய்னரின் அளவின் அடிப்படையில் மாற்றியமைக்க வேண்டியிருக்கும் போது கன்டெய்னர் குவரிகளைப் பயன்படுத்தவும், மேலும் வியூபோர்ட் அளவின் அடிப்படையில் உலகளாவிய லேஅவுட் சரிசெய்தல் செய்ய வேண்டியிருக்கும் போது மீடியா குவரிகளைப் பயன்படுத்தவும். பெரும்பாலும், இரண்டு நுட்பங்களின் கலவையே சிறந்த அணுகுமுறையாகும்.

கன்டெய்னர் குவரிகளுடன் ரெஸ்பான்சிவ் வடிவமைப்பின் எதிர்காலம்

கன்டெய்னர் குவரிகள் ரெஸ்பான்சிவ் வடிவமைப்பில் ஒரு குறிப்பிடத்தக்க முன்னேற்றத்தைக் குறிக்கின்றன, இது கூறுகள் வெவ்வேறு சூழல்களுக்கு எவ்வாறு மாற்றியமைக்கப்படுகின்றன என்பதில் அதிக நெகிழ்வுத்தன்மையையும் கட்டுப்பாட்டையும் வழங்குகிறது. உலாவி ஆதரவு தொடர்ந்து மேம்படுவதால், கன்டெய்னர் குவரிகள் வலை உருவாக்குநர்களுக்கு பெருகிய முறையில் ஒரு முக்கியமான கருவியாக மாறும். அவை வடிவமைப்பாளர்கள் மற்றும் உருவாக்குநர்களுக்கு அனைத்து சாதனங்கள் மற்றும் திரை அளவுகளிலும் ஒரு தடையற்ற அனுபவத்தை வழங்கும் உண்மையான மாற்றியமைக்கக்கூடிய மற்றும் பயனர் நட்பு வலைத்தளங்களை உருவாக்க அதிகாரம் அளிக்கின்றன.

முடிவுரை

CSS கன்டெய்னர் குவரிகள் ரெஸ்பான்சிவ் வடிவமைப்பு கருவித்தொகுப்பிற்கு ஒரு சக்திவாய்ந்த கூடுதலாகும். கூறுகள் அவற்றைக் கொண்டிருக்கும் உறுப்பின் அளவிற்கு பதிலளிக்க அனுமதிப்பதன் மூலம், அவை உண்மையான கூறு அடிப்படையிலான ரெஸ்பான்சிவ்னஸை செயல்படுத்துகின்றன மற்றும் வலை வடிவமைப்பில் புதிய அளவிலான நெகிழ்வுத்தன்மையையும் துல்லியத்தையும் திறக்கின்றன. கன்டெய்னர் குவரிகளை எவ்வாறு திறம்பட செயல்படுத்துவது மற்றும் பயன்படுத்துவது என்பதைப் புரிந்துகொள்வதன் மூலம், நீங்கள் அனைவருக்கும் ஒரு சிறந்த அனுபவத்தை வழங்கும் மேலும் மாற்றியமைக்கக்கூடிய, பராமரிக்கக்கூடிய மற்றும் பயனர் நட்பு வலைத்தளங்களை உருவாக்கலாம்.

ஆதாரங்கள்