Article Title
Lorem ipsum dolor sit amet, consectetur adipiscing elit...
ரெஸ்பான்சிவ் வடிவமைப்பின் அடுத்த பரிணாம வளர்ச்சியான CSS கண்டெய்னர் குவறீஸ் பற்றி ஆராயுங்கள். வியூபோர்ட் அளவை மட்டுமல்ல, கண்டெய்னரின் அளவை அடிப்படையாகக் கொண்டு தகவமைக்கக்கூடிய கூறுகளை உருவாக்குவது எப்படி என்பதை அறியுங்கள்.
ரெஸ்பான்சிவ் வடிவமைப்பு ஒரு தசாப்தத்திற்கும் மேலாக வலை மேம்பாட்டின் ஒரு மூலக்கல்லாக இருந்து வருகிறது. பாரம்பரியமாக, வியூபோர்ட்டின் அளவைப் பொறுத்து எங்கள் தளவமைப்புகளை மாற்றியமைக்க நாம் மீடியா குவறீஸ் (media queries) ஐ நம்பியிருந்தோம். இருப்பினும், இந்த அணுகுமுறை சில நேரங்களில், குறிப்பாக சிக்கலான, கூறு-அடிப்படையிலான வடிவமைப்புகளைக் கையாளும்போது, வரம்புக்குட்பட்டதாக உணரலாம். இப்போது CSS கண்டெய்னர் குவறீஸ் (CSS Container Queries) வருகிறது – இது ஒரு சக்திவாய்ந்த புதிய அம்சம், இது கூறுகள் வியூபோர்ட்டின் அளவைப் பொறுத்து மட்டுமல்லாமல், அவற்றின் கண்டெய்னிங் எலிமெண்ட் (containing element) இன் அளவைப் பொறுத்து மாற்றியமைக்க அனுமதிக்கிறது.
கண்டெய்னர் குவறீஸ் ஒரு கேம்-சேஞ்சர் ஆகும், ஏனெனில் அவை உறுப்பு-அடிப்படையிலான ரெஸ்பான்சிவ் வடிவமைப்பை (element-based responsive design) செயல்படுத்துகின்றன. 'திரையின் அளவு என்ன?' என்று கேட்பதற்குப் பதிலாக, 'இந்த கூறுக்கு எவ்வளவு இடம் உள்ளது?' என்று நீங்கள் கேட்கலாம். இது உண்மையிலேயே மீண்டும் பயன்படுத்தக்கூடிய மற்றும் தகவமைக்கக்கூடிய கூறுகளை உருவாக்குவதற்கான சாத்தியக்கூறுகளின் உலகத்தைத் திறக்கிறது.
ஒரு கார்டு கூறினைப் பற்றி சிந்தியுங்கள், அது ஒரு குறுகிய சைட்பார், ஒரு பரந்த ஹீரோ பகுதி அல்லது பல-நெடுவரிசை கட்டம் போன்ற பல்வேறு சூழல்களில் தோன்றக்கூடும். மீடியா குவறீஸ் மூலம், வியூபோர்ட் அகலத்தின் அடிப்படையில் இந்த ஒவ்வொரு சூழ்நிலைக்கும் குறிப்பிட்ட விதிகளை எழுத வேண்டியிருக்கும். கண்டெய்னர் குவறீஸ் மூலம், ஒட்டுமொத்த திரை அளவைப் பொருட்படுத்தாமல், கார்டு அதன் பெற்றோர் கண்டெய்னரின் பரிமாணங்களின் அடிப்படையில் அதன் தளவமைப்பு மற்றும் ஸ்டைலிங்கை புத்திசாலித்தனமாக சரிசெய்ய முடியும்.
கண்டெய்னர் குவறீஸ் பாரம்பரிய மீடியா குவறீஸை விட பல முக்கிய நன்மைகளை வழங்குகின்றன:
கண்டெய்னர் குவறீஸைப் பயன்படுத்துவதன் நடைமுறை அம்சங்களைப் பற்றி பார்ப்போம். முதல் படி ஒரு கண்டெய்னரை அறிவிப்பதாகும். இதை நீங்கள் பெற்றோர் உறுப்பில் container-type பண்பைப் பயன்படுத்தி செய்யலாம்:
container-type பண்பு பல மதிப்புகளை ஏற்கிறது:
size: கண்டெய்னர் குவறீஸ், கண்டெய்னரின் இன்லைன் மற்றும் பிளாக் பரிமாணங்கள் இரண்டிற்கும் பதிலளிக்கும்.inline-size: கண்டெய்னர் குவறீஸ், கண்டெய்னரின் இன்லைன் (கிடைமட்ட எழுத்து முறைகளில் அகலம்) பரிமாணத்திற்கு மட்டுமே பதிலளிக்கும். இது மிகவும் பொதுவான மற்றும் பெரும்பாலும் மிகவும் பயனுள்ள விருப்பமாகும்.block-size: கண்டெய்னர் குவறீஸ், கண்டெய்னரின் பிளாக் (கிடைமட்ட எழுத்து முறைகளில் உயரம்) பரிமாணத்திற்கு மட்டுமே பதிலளிக்கும்.normal: இந்த உறுப்பு ஒரு குவறி கண்டெய்னர் அல்ல. இது இயல்புநிலை மதிப்பாகும்.style: கண்டெய்னர் குவறீஸ், ஸ்டைல் குவறீஸ் மற்றும் கண்டெய்னர் பெயர் குவறீஸ்க்கு (பின்னர் விவாதிக்கப்படும்) பதிலளிக்கும், இது கண்டெய்னரில் அமைக்கப்பட்ட தனிப்பயன் பண்புகளைக் குவறி செய்ய உங்களை அனுமதிக்கிறது.அதன் இன்லைன் அளவிற்கு பதிலளிக்கும் ஒரு கண்டெய்னரை வரையறுப்பதற்கான ஒரு எடுத்துக்காட்டு இங்கே:
.card-container {
container-type: inline-size;
}
நீங்கள் container-type மற்றும் container-name (இதை நாம் பின்னர் விவாதிப்போம்) இரண்டையும் ஒரே அறிவிப்பில் குறிப்பிட சுருக்கமான container பண்பையும் பயன்படுத்தலாம்:
.card-container {
container: card / inline-size;
}
இந்த விஷயத்தில், 'card' என்பது கண்டெய்னரின் பெயர்.
நீங்கள் ஒரு கண்டெய்னரை வரையறுத்தவுடன், உங்கள் குவறீஸை எழுத @container at-rule ஐப் பயன்படுத்தலாம். இதன் தொடரியல் மீடியா குவறீஸைப் போன்றது, ஆனால் வியூபோர்ட் பரிமாணங்களைக் குறிவைப்பதற்குப் பதிலாக, நீங்கள் கண்டெய்னரின் பரிமாணங்களைக் குறிவைக்கிறீர்கள்:
@container card (min-width: 400px) {
.card {
flex-direction: row;
}
.card__image {
width: 50%;
}
.card__content {
width: 50%;
}
}
இந்த எடுத்துக்காட்டில், நாம் "card" கண்டெய்னரைக் குறிவைத்து, கண்டெய்னரின் அகலம் குறைந்தபட்சம் 400px இருக்கும்போது .card, .card__image, மற்றும் .card__content கூறுகளுக்கு ஸ்டைல்களைப் பயன்படுத்துகிறோம். `(min-width: 400px)` என்பதற்கு முன்னால் உள்ள `card` ஐ கவனியுங்கள். நீங்கள் `container-name` அல்லது சுருக்கமான `container` பண்பைப் பயன்படுத்தி உங்கள் கண்டெய்னருக்குப் பெயரிடும்போது இது முக்கியமானது.
நீங்கள் உங்கள் கண்டெய்னருக்குப் பெயரிடவில்லை என்றால், கண்டெய்னரின் பெயரைத் தவிர்க்கலாம்:
@container (min-width: 400px) {
.card {
flex-direction: row;
}
.card__image {
width: 50%;
}
.card__content {
width: 50%;
}
}
மீடியா குவறீஸில் கிடைக்கும் min-width, max-width, min-height, max-height மற்றும் orientation போன்ற அதே அளவிலான மீடியா அம்சங்களையும் நீங்கள் பயன்படுத்தலாம்.
உங்கள் கண்டெய்னர்களுக்குப் பெயரிடுவது, குறிப்பாக உள்ளமைக்கப்பட்ட கண்டெய்னர்கள் அல்லது சிக்கலான தளவமைப்புகளைக் கையாளும்போது உதவியாக இருக்கும். நீங்கள் container-name பண்பைப் பயன்படுத்தி ஒரு கண்டெய்னருக்குப் பெயரை ஒதுக்கலாம்:
.card-container {
container-name: card;
container-type: inline-size;
}
பின்னர், உங்கள் கண்டெய்னர் குவறீஸில், நீங்கள் கண்டெய்னரை அதன் பெயரால் குறிவைக்கலாம்:
@container card (min-width: 400px) {
/* 'card' கண்டெய்னருக்கான ஸ்டைல்கள் */
}
கண்டெய்னர் ஸ்டைல் குவறீஸ் உங்கள் கண்டெய்னரின் அளவைப் பொறுத்து இல்லாமல் அதன் ஸ்டைலுக்கு ಪ್ರತಿಕ್ರಿಯೆ ನೀಡಲು உங்களை அனுமதிக்கின்றன. இது தனிப்பயன் பண்புகளுடன் இணைக்கப்படும்போது குறிப்பாக சக்தி வாய்ந்தது. முதலில், உங்கள் கண்டெய்னரை container-type: style உடன் வரையறுக்க வேண்டும்:
.component-container {
container-type: style;
}
பின்னர் நீங்கள் @container style(--theme: dark) ஐப் பயன்படுத்தி தனிப்பயன் பண்பு --theme இன் மதிப்பைக் குவறி செய்யலாம்:
.component-container {
--theme: light;
}
@container style(--theme: dark) {
.component {
background-color: black;
color: white;
}
}
இது உங்கள் கூறுகள் வியூபோர்ட் அளவைப் பொறுத்து இல்லாமல் CSS மூலம் அமைக்கப்பட்ட ஒரு உள்ளமைவின் அடிப்படையில் மாற்றியமைக்க அனுமதிக்கிறது. இது தீமிங் மற்றும் டைனமிக் ஸ்டைலிங்கிற்கு சிறந்த சாத்தியங்களைத் திறக்கிறது.
கண்டெய்னர் குவறீஸ் நிஜ-உலக சூழ்நிலைகளில் எவ்வாறு பயன்படுத்தப்படலாம் என்பதற்கான சில உறுதியான எடுத்துக்காட்டுகளைப் பார்ப்போம்:
ஒரு தயாரிப்பு பற்றிய தகவலைக் காட்டும் ஒரு கார்டு கூறை கற்பனை செய்து பாருங்கள். ஒரு குறுகிய கண்டெய்னரில், படத்தையும் உள்ளடக்கத்தையும் செங்குத்தாக அடுக்க விரும்பலாம். ஒரு பரந்த கண்டெய்னரில், அவற்றை அருகருகே காட்டலாம்.
HTML:
CSS:
.card-container {
container-type: inline-size;
}
.card {
display: flex;
flex-direction: column;
border: 1px solid #ccc;
padding: 16px;
}
.card__image {
width: 100%;
margin-bottom: 16px;
}
.card__content {
width: 100%;
}
@container (min-width: 400px) {
.card {
flex-direction: row;
}
.card__image {
width: 50%;
margin-bottom: 0;
}
.card__content {
width: 50%;
}
}
இந்த எடுத்துக்காட்டில், கார்டு ஆரம்பத்தில் படத்தையும் உள்ளடக்கத்தையும் செங்குத்தாக அடுக்கப்பட்டுக் காட்டும். கண்டெய்னரின் அகலம் 400px ஐ அடையும்போது, கார்டு ஒரு கிடைமட்ட தளவமைப்புக்கு மாறும்.
கிடைக்கக்கூடிய இடத்தைப் பொறுத்து மாற்றியமைக்க வேண்டிய ஒரு நேவிகேஷன் மெனுவைக் கவனியுங்கள். ஒரு குறுகிய கண்டெய்னரில் (எ.கா., ஒரு மொபைல் சைட்பார்), நாம் மெனு உருப்படிகளை ஒரு செங்குத்து பட்டியலில் காட்ட விரும்பலாம். ஒரு பரந்த கண்டெய்னரில் (எ.கா., ஒரு டெஸ்க்டாப் ஹெடர்), அவற்றை கிடைமட்டமாகக் காட்டலாம்.
HTML:
CSS:
.nav-container {
container-type: inline-size;
}
.nav {
list-style: none;
padding: 0;
margin: 0;
}
.nav__item {
margin-bottom: 8px;
}
.nav__item a {
display: block;
padding: 8px 16px;
text-decoration: none;
color: #333;
}
@container (min-width: 600px) {
.nav {
display: flex;
}
.nav__item {
margin-right: 16px;
margin-bottom: 0;
}
.nav__item a {
display: inline-block;
}
}
இந்த எடுத்துக்காட்டில், நேவிகேஷன் மெனு ஆரம்பத்தில் உருப்படிகளை ஒரு செங்குத்து பட்டியலில் காட்டும். கண்டெய்னரின் அகலம் 600px ஐ அடையும்போது, மெனு ஒரு கிடைமட்ட தளவமைப்புக்கு மாறும்.
ஒரு கட்டுரை தளவமைப்பு அது வைக்கப்பட்டுள்ள இடத்தைப் பொறுத்து மாற்றியமைக்கப்பட வேண்டும் என்று கற்பனை செய்து பாருங்கள். ஒரு சிறிய முன்னோட்டப் பிரிவில் இருந்தால், படம் உரைக்கு மேலே இருக்க வேண்டும். அது முக்கிய கட்டுரையாக இருந்தால், படம் பக்கவாட்டில் இருக்கலாம்.
HTML
Article Title
Lorem ipsum dolor sit amet, consectetur adipiscing elit...
CSS
.article-container {
container-type: inline-size;
}
.article {
display: flex;
flex-direction: column;
}
.article-image {
width: 100%;
margin-bottom: 10px;
}
.article-content {
width: 100%;
}
@container (min-width: 768px) {
.article {
flex-direction: row;
}
.article-image {
width: 40%;
margin-right: 20px;
margin-bottom: 0;
}
.article-content {
width: 60%;
}
}
கண்டெய்னர் குவறீஸுக்கான உலாவி ஆதரவு இப்போது Chrome, Firefox, Safari மற்றும் Edge உள்ளிட்ட நவீன உலாவிகளில் மிகச் சிறப்பாக உள்ளது. அம்சங்கள் மற்றும் செயல்படுத்தல் விவரங்கள் உருவாகக்கூடும் என்பதால், சமீபத்திய உலாவி ஆதரவு தகவலுக்கு Can I Use ஐப் பார்ப்பது முக்கியம்.
கண்டெய்னர் குவறீஸ் மீடியா குவறீஸிற்கு ஒரு சக்திவாய்ந்த மாற்றீட்டை வழங்கினாலும், ஒவ்வொரு அணுகுமுறையும் எப்போது மிகவும் பொருத்தமானது என்பதைப் புரிந்துகொள்வது முக்கியம்.
பல சந்தர்ப்பங்களில், நீங்கள் மீடியா குவறீஸ் மற்றும் கண்டெய்னர் குவறீஸ் இரண்டின் கலவையைப் பயன்படுத்த வாய்ப்புள்ளது. உங்கள் பயன்பாட்டின் ஒட்டுமொத்த தளவமைப்பை நிறுவ மீடியா குவறீஸைப் பயன்படுத்தவும், பின்னர் அந்த தளவமைப்பில் உள்ள தனிப்பட்ட கூறுகளின் தோற்றம் மற்றும் நடத்தையை சரிசெய்ய கண்டெய்னர் குவறீஸைப் பயன்படுத்தவும்.
CSS கண்டெய்னர் குவறீஸ் ரெஸ்பான்சிவ் வடிவமைப்பின் பரிணாம வளர்ச்சியில் ஒரு குறிப்பிடத்தக்க படியை பிரதிபலிக்கின்றன. உறுப்பு-அடிப்படையிலான ரெஸ்பான்சிவை செயல்படுத்துவதன் மூலம், அவை டெவலப்பர்களுக்கு மேலும் நெகிழ்வான, மறுபயன்பாட்டு மற்றும் பராமரிக்கக்கூடிய கூறுகளை உருவாக்க அதிகாரம் அளிக்கின்றன. உலாவி ஆதரவு தொடர்ந்து மேம்படுவதால், கண்டெய்னர் குவறீஸ் ஒவ்வொரு வலை டெவலப்பரின் ஆயுதக் களஞ்சியத்திலும் ஒரு அத்தியாவசிய கருவியாக மாறத் தயாராக உள்ளன.
உலகளாவிய பார்வையாளர்களுக்காக கண்டெய்னர் குவறீஸை செயல்படுத்தும்போது, பின்வருவனவற்றைக் கவனியுங்கள்:
CSS கண்டெய்னர் குவறீஸ் உண்மையிலேயே ரெஸ்பான்சிவ் மற்றும் தகவமைக்கக்கூடிய வலைப் பயன்பாடுகளை உருவாக்குவதற்கான ஒரு சக்திவாய்ந்த கருவியாகும். உறுப்பு-அடிப்படையிலான ரெஸ்பான்சிவ் வடிவமைப்பை ஏற்றுக்கொள்வதன் மூலம், நீங்கள் வெவ்வேறு சூழல்களுக்கு தடையின்றி மாற்றியமைக்கும் கூறுகளை உருவாக்கலாம், உங்கள் குறியீட்டை எளிதாக்கலாம் மற்றும் ஒட்டுமொத்த பயனர் அனுபவத்தை மேம்படுத்தலாம். உலாவி ஆதரவு தொடர்ந்து வளர்ந்து வருவதால், கண்டெய்னர் குவறீஸ் நவீன வலை மேம்பாட்டின் ஒரு அடிப்படை பகுதியாக மாறத் தயாராக உள்ளன. இந்தத் தொழில்நுட்பத்தை ஏற்றுக்கொள், அதன் திறன்களுடன் பரிசோதனை செய், மற்றும் உங்கள் ரெஸ்பான்சிவ் வடிவமைப்புகளில் ஒரு புதிய அளவிலான நெகிழ்வுத்தன்மையை திற. இந்த அணுகுமுறை சிறந்த கூறு மறுபயன்பாடு, பராமரிப்புத்திறன் மற்றும் மேலும் உள்ளுணர்வு வடிவமைப்பு செயல்முறைக்கு உதவுகிறது, இது உலகெங்கிலும் உள்ள ஃபிரன்ட்-எண்ட் டெவலப்பர்களுக்கு ஒரு விலைமதிப்பற்ற சொத்தாக அமைகிறது. கண்டெய்னர் குவறீஸுக்கான மாற்றம், வடிவமைப்பிற்கு ஒரு கூறு-மைய அணுகுமுறையை ஊக்குவிக்கிறது, இதன் விளைவாக உலகெங்கிலும் உள்ள பயனர்களுக்கு மேலும் வலுவான மற்றும் தகவமைக்கக்கூடிய வலை அனுபவங்கள் கிடைக்கின்றன.