CSS @when விதியை ஆராயுங்கள், இது பிரவுசர் ஆதரவு, வியூபோர்ட் அளவு போன்றவற்றின் அடிப்படையில் நிபந்தனை பாணி பயன்பாட்டை செயல்படுத்தும் ஒரு சக்திவாய்ந்த அம்சம். நடைமுறை எடுத்துக்காட்டுகளுடன் கற்றுக்கொள்ளுங்கள்.
CSS @when விதி: நிபந்தனை பாணி பயன்பாட்டில் தேர்ச்சி பெறுதல்
CSS உலகம் தொடர்ந்து வளர்ந்து வருகிறது, வலைப்பக்கங்களை ஸ்டைல் செய்ய டெவலப்பர்களுக்கு மிகவும் சக்திவாய்ந்த மற்றும் நெகிழ்வான வழிகளை வழங்குகிறது. அத்தகைய ஒரு அம்சம் தான் @when
விதி, இது CSS நிபந்தனை விதிகள் தொகுதி நிலை 1 என்றும் அழைக்கப்படுகிறது. இந்த விதி, குறிப்பிட்ட நிபந்தனைகள் பூர்த்தி செய்யப்படும்போது, CSS ஸ்டைல்களை நிபந்தனையுடன் பயன்படுத்த உங்களை அனுமதிக்கிறது. இது ரெஸ்பான்சிவ் வடிவமைப்பு, அம்சம் கண்டறிதல் மற்றும் மிகவும் வலுவான மற்றும் மாற்றியமைக்கக்கூடிய ஸ்டைல்ஷீட்களை உருவாக்குவதற்கான ஒரு சக்திவாய்ந்த கருவியாகும்.
CSS @when விதி என்றால் என்ன?
@when
விதி என்பது CSS இல் உள்ள ஒரு நிபந்தனை அட்-ரூல் ஆகும், இது சில நிபந்தனைகள் உண்மையாக இருந்தால் மட்டுமே பயன்படுத்தப்படும் ஸ்டைல்களை வரையறுக்க உங்களை அனுமதிக்கிறது. இதை உங்கள் CSS க்கான ஒரு if
கூற்றாக நினைத்துப் பாருங்கள். வியூபோர்ட் பண்புகளில் (திரை அளவு, திசை போன்றவை) முதன்மையாக கவனம் செலுத்தும் மீடியா வினவல்களைப் போலல்லாமல், @when
நிபந்தனை ஸ்டைலிங்கைக் கையாள மிகவும் பொதுவான மற்றும் விரிவாக்கக்கூடிய வழியை வழங்குகிறது. இது @supports
மற்றும் @media
போன்ற தற்போதைய நிபந்தனை அட்-ரூல்களை விரிவுபடுத்துகிறது.
@when பயன்படுத்துவதன் முக்கிய நன்மைகள்
- மேம்படுத்தப்பட்ட குறியீடு வாசிப்புத்திறன்: நிபந்தனை தர்க்கத்தை
@when
பிளாக்குகளுக்குள் இணைப்பதன் மூலம், உங்கள் CSS ஐப் புரிந்துகொள்வதற்கும் பராமரிப்பதற்கும் எளிதாக்குகிறீர்கள். குறிப்பிட்ட ஸ்டைல் பயன்பாடுகளுக்குப் பின்னால் உள்ள நோக்கம் தெளிவாகிறது. - மேம்படுத்தப்பட்ட நெகிழ்வுத்தன்மை:
@when
பாரம்பரிய மீடியா வினவல்களை விட சிக்கலான நிபந்தனைகளைக் கையாள முடியும், குறிப்பாக அம்சம் வினவல்கள் மற்றும் ஜாவாஸ்கிரிப்ட்-இயக்கப்படும் தர்க்கத்துடன் (CSS தனிப்பயன் பண்புகளைப் பயன்படுத்தி) இணைக்கப்படும்போது. - எளிமைப்படுத்தப்பட்ட அம்சம் கண்டறிதல்:
@when
ஆனது@supports
உடன் தடையின்றி ஒருங்கிணைந்து, குறிப்பிட்ட பிரவுசர் அம்சங்கள் கிடைக்கும்போது மட்டுமே ஸ்டைல்களைப் பயன்படுத்த உங்களை அனுமதிக்கிறது. இது படிப்படியான மேம்பாட்டிற்கு முக்கியமானது. - மேலும் சொற்பொருள் ஸ்டைலிங்:
@when
உறுப்புகளின் நிலை அல்லது சூழலின் அடிப்படையில் அவற்றை ஸ்டைல் செய்ய உங்களை அனுமதிக்கிறது, இது மேலும் சொற்பொருள் மற்றும் பராமரிக்கக்கூடிய CSS க்கு வழிவகுக்கிறது. உதாரணமாக, ஜாவாஸ்கிரிப்ட் மூலம் அமைக்கப்பட்ட தரவு பண்புக்கூறுகள் அல்லது தனிப்பயன் பண்புகளின் அடிப்படையில் உறுப்புகளை ஸ்டைல் செய்வது.
@when விதியின் தொடரியல்
@when
விதியின் அடிப்படை தொடரியல் பின்வருமாறு:
@when <condition> {
/* CSS rules to apply when the condition is true */
}
<condition>
என்பது உண்மை அல்லது தவறு என மதிப்பிடப்படும் எந்தவொரு செல்லுபடியாகும் பூலியன் வெளிப்பாடாகவும் இருக்கலாம். இந்த வெளிப்பாடு பெரும்பாலும் பின்வருவனவற்றை உள்ளடக்கியது:
- மீடியா வினவல்கள்: வியூபோர்ட் பண்புகளின் அடிப்படையிலான நிபந்தனைகள் (எ.கா., திரை அகலம், சாதன திசை).
- அம்சம் வினவல்கள் (@supports): குறிப்பிட்ட CSS அம்சங்களுக்கான பிரவுசர் ஆதரவின் அடிப்படையிலான நிபந்தனைகள்.
- பூலியன் இயற்கணிதம்: தர்க்க ஆபரேட்டர்களை (
and
,or
,not
) பயன்படுத்தி பல நிபந்தனைகளை இணைத்தல்.
@when செயல்பாட்டில் உள்ள நடைமுறை எடுத்துக்காட்டுகள்
@when
விதியின் சக்தி மற்றும் பல்துறைத்திறனை விளக்க சில நடைமுறை எடுத்துக்காட்டுகளை ஆராய்வோம்.
1. @when மற்றும் மீடியா வினவல்களுடன் ரெஸ்பான்சிவ் வடிவமைப்பு
@when
-இன் மிகவும் பொதுவான பயன்பாடு ரெஸ்பான்சிவ் வடிவமைப்பு ஆகும், அங்கு நீங்கள் திரை அளவிற்கு ஏற்ப ஸ்டைல்களை சரிசெய்கிறீர்கள். மீடியா வினவல்கள் இதைத் தனியாக அடைய முடியும் என்றாலும், @when
ஒரு கட்டமைக்கப்பட்ட மற்றும் படிக்கக்கூடிய அணுகுமுறையை வழங்குகிறது, குறிப்பாக சிக்கலான நிபந்தனைகளைக் கையாளும் போது.
@when (min-width: 768px) and (max-width: 1023px) {
body {
font-size: 18px;
line-height: 1.6;
}
.container {
width: 720px;
margin: 0 auto;
}
}
இந்த எடுத்துக்காட்டில், @when
பிளாக்கிற்குள் உள்ள ஸ்டைல்கள் திரை அகலம் 768px மற்றும் 1023px (வழக்கமான டேப்லெட் அளவு) க்கு இடையில் இருக்கும்போது மட்டுமே பயன்படுத்தப்படும். இது குறிப்பிட்ட வியூபோர்ட் வரம்புகளுக்கான ஸ்டைல்களை வரையறுக்க தெளிவான மற்றும் சுருக்கமான வழியை வழங்குகிறது.
சர்வதேசமயமாக்கல் குறிப்பு: உலகளாவிய பார்வையாளர்களுக்கு ரெஸ்பான்சிவ் வடிவமைப்பு மிக முக்கியமானது. வெவ்வேறு பிராந்தியங்களில் மாறுபடும் திரை அளவுகளைக் கருத்தில் கொள்ளுங்கள். உதாரணமாக, சில நாடுகளில் மொபைல் பயன்பாடு அதிகமாக உள்ளது, இது மொபைல்-முதல் வடிவமைப்பை இன்னும் முக்கியமானதாக ஆக்குகிறது.
2. @when மற்றும் @supports உடன் அம்சம் கண்டறிதல்
@when
-ஐ @supports
உடன் இணைத்து, ஒரு குறிப்பிட்ட CSS அம்சம் பிரவுசரால் ஆதரிக்கப்படும் போது மட்டுமே ஸ்டைல்களைப் பயன்படுத்தலாம். இது உங்கள் வலைத்தளத்தை படிப்படியாக மேம்படுத்த உங்களை அனுமதிக்கிறது, நவீன பிரவுசர்களைக் கொண்ட பயனர்களுக்கு சிறந்த அனுபவத்தை வழங்குகிறது, அதே நேரத்தில் பழையவற்றுடன் இணக்கத்தன்மையை பராமரிக்கிறது.
@when supports(display: grid) {
.container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
grid-gap: 20px;
}
}
@when not supports(display: grid) {
.container {
/* Fallback styles for browsers that don't support grid */
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.item {
width: calc(50% - 10px); /* Adjust width for older browsers */
}
}
இங்கே, பிரவுசர் CSS கிரிட் லேஅவுட்டை ஆதரிக்கிறதா என்பதைச் சரிபார்க்க @supports
-ஐப் பயன்படுத்துகிறோம். அது ஆதரித்தால், .container
-க்கு கிரிட் அடிப்படையிலான ஸ்டைல்களைப் பயன்படுத்துகிறோம். இல்லையென்றால், பழைய பிரவுசர்களில் இதே போன்ற தளவமைப்பு அடையப்படுவதை உறுதிசெய்ய ஃப்ளெக்ஸ்பாக்ஸைப் பயன்படுத்தி ஃபால்பேக் ஸ்டைல்களை வழங்குகிறோம்.
உலகளாவிய அணுகல்தன்மை குறிப்பு: அணுகல்தன்மைக்கு அம்சம் கண்டறிதல் முக்கியமானது. பழைய பிரவுசர்களில் புதிய ARIA பண்புக்கூறுகள் அல்லது சொற்பொருள் HTML5 உறுப்புகளுக்கான ஆதரவு இல்லாமல் இருக்கலாம். உள்ளடக்கம் அணுகக்கூடியதாக இருப்பதை உறுதிசெய்ய பொருத்தமான ஃபால்பேக்குகளை வழங்கவும்.
3. மீடியா வினவல்கள் மற்றும் அம்சம் வினவல்களை இணைத்தல்
@when
-இன் உண்மையான சக்தி, மீடியா வினவல்கள் மற்றும் அம்சம் வினவல்களை இணைத்து மிகவும் சிக்கலான மற்றும் நுணுக்கமான நிபந்தனை ஸ்டைலிங் விதிகளை உருவாக்கும் அதன் திறனிலிருந்து வருகிறது.
@when (min-width: 768px) and supports(backdrop-filter: blur(10px)) {
.modal {
background-color: rgba(255, 255, 255, 0.8);
backdrop-filter: blur(10px);
}
}
இந்த எடுத்துக்காட்டில், .modal
உறுப்பு திரை அகலம் குறைந்தது 768px ஆக இருக்கும்போது மற்றும் பிரவுசர் backdrop-filter
பண்பை ஆதரிக்கும்போது மட்டுமே மங்கலான பின்னணியைக் கொண்டிருக்கும். இது நவீன பிரவுசர்களில் பார்வைக்கு ஈர்க்கக்கூடிய விளைவுகளை உருவாக்க உங்களை அனுமதிக்கிறது, அதே நேரத்தில் பழையவற்றில் சாத்தியமான செயல்திறன் சிக்கல்கள் அல்லது ரெண்டரிங் குறைபாடுகளைத் தவிர்க்கிறது.
4. தனிப்பயன் பண்புகளின் (CSS மாறிகள்) அடிப்படையில் ஸ்டைலிங்
@when
-ஐ CSS தனிப்பயன் பண்புகளுடன் (CSS மாறிகள் என்றும் அழைக்கப்படுகிறது) இணைந்து டைனமிக் மற்றும் நிலை-இயக்கப்படும் ஸ்டைலிங்கை உருவாக்கவும் பயன்படுத்தலாம். ஒரு தனிப்பயன் பண்பின் மதிப்பை புதுப்பிக்க நீங்கள் ஜாவாஸ்கிரிப்ட்டைப் பயன்படுத்தலாம், பின்னர் அந்த மதிப்பின் அடிப்படையில் வெவ்வேறு ஸ்டைல்களைப் பயன்படுத்த @when
-ஐப் பயன்படுத்தலாம்.
முதலில், ஒரு தனிப்பயன் பண்பை வரையறுக்கவும்:
:root {
--theme-color: #007bff; /* Default theme color */
--is-dark-mode: false;
}
பின்னர், தனிப்பயன் பண்பின் மதிப்பின் அடிப்படையில் ஸ்டைல்களைப் பயன்படுத்த @when
-ஐப் பயன்படுத்தவும்:
@when var(--is-dark-mode) = true {
body {
background-color: #333;
color: #fff;
}
a {
color: #ccc;
}
}
இறுதியாக, --is-dark-mode
தனிப்பயன் பண்பின் மதிப்பை மாற்ற ஜாவாஸ்கிரிப்ட்டைப் பயன்படுத்தவும்:
document.getElementById('darkModeToggle').addEventListener('click', function() {
document.documentElement.style.setProperty('--is-dark-mode', this.checked);
});
இது பயனர்களை ஒளி மற்றும் இருண்ட தீம்களுக்கு இடையில் மாற அனுமதிக்கிறது, தனிப்பயன் பண்பு மதிப்பின் அடிப்படையில் CSS டைனமிக்காக புதுப்பிக்கப்படுகிறது. `@when`-இல் CSS மாறிகளின் நேரடி ஒப்பீடு அனைத்து பிரவுசர்களிலும் உலகளவில் ஆதரிக்கப்படாமல் இருக்கலாம் என்பதை நினைவில் கொள்ளவும். அதற்கு பதிலாக, பூஜ்ஜியமற்ற மதிப்பைச் சரிபார்க்கும் மீடியா வினவலுடன் ஒரு மாற்று வழியை நீங்கள் பயன்படுத்த வேண்டியிருக்கலாம்:
@when ( --is-dark-mode > 0 ) { ... }
இருப்பினும், இது சரியாக செயல்பட தனிப்பயன் பண்பு ஒரு எண் மதிப்பைக் கொண்டிருப்பதை உறுதிசெய்க.
அணுகல்தன்மை குறிப்பு: மாற்று தீம்களை (எ.கா., டார்க் மோட்) வழங்குவது அணுகல்தன்மைக்கு மிக முக்கியமானது. பார்வைக் குறைபாடுகள் உள்ள பயனர்கள் உயர்-மாறுபாடு தீம்களால் பயனடையலாம். உங்கள் தீம் சுவிட்ச் விசைப்பலகை மற்றும் ஸ்கிரீன் ரீடர்கள் வழியாக அணுகக்கூடியதாக இருப்பதை உறுதிசெய்க.
5. தரவு பண்புக்கூறுகளின் அடிப்படையில் ஸ்டைலிங்
நீங்கள் @when
-ஐ தரவு பண்புக்கூறுகளுடன் பயன்படுத்தி, அவற்றின் தரவு மதிப்புகளின் அடிப்படையில் உறுப்புகளை ஸ்டைல் செய்யலாம். பயனர் தொடர்பு அல்லது தரவு புதுப்பிப்புகளின் அடிப்படையில் உறுப்புகள் தோற்றத்தை மாற்றும் டைனமிக் இடைமுகங்களை உருவாக்க இது பயனுள்ளதாக இருக்கும்.
உதாரணமாக, உங்களிடம் பணிகளின் பட்டியல் உள்ளது, மேலும் ஒவ்வொரு பணிக்கும் அதன் நிலையைக் குறிக்கும் data-status
பண்பு உள்ளது (எ.கா., "todo", "in-progress", "completed"). ஒவ்வொரு பணியையும் அதன் நிலையின் அடிப்படையில் வித்தியாசமாக ஸ்டைல் செய்ய நீங்கள் @when
-ஐப் பயன்படுத்தலாம்.
[data-status="todo"] {
/* Default styles for todo tasks */
color: #333;
}
@when attribute(data-status string equals "in-progress") {
[data-status="in-progress"] {
color: orange;
font-style: italic;
}
}
@when attribute(data-status string equals "completed") {
[data-status="completed"] {
color: green;
text-decoration: line-through;
}
}
குறிப்பு: attribute() சோதனை நிபந்தனைக்கான ஆதரவு தற்போது அனைத்து பிரவுசர்களிலும் குறைவாக இருக்கலாம் அல்லது முழுமையாக செயல்படுத்தப்படாமல் இருக்கலாம். எப்போதும் முழுமையாக சோதிக்கவும்.
பிரவுசர் இணக்கத்தன்மை மற்றும் பாலிஃபில்கள்
2024 இன் பிற்பகுதியில், @when
விதிக்கு பிரவுசர் ஆதரவு இன்னும் வளர்ந்து வருகிறது. பல நவீன பிரவுசர்கள் முக்கிய செயல்பாட்டை ஆதரிக்கும் அதே வேளையில், சில பழைய பிரவுசர்கள் ஆதரிக்காமல் இருக்கலாம். எனவே, இணக்கத்தன்மை அட்டவணைகளைச் சரிபார்த்து, தேவைப்படும் இடங்களில் பொருத்தமான ஃபால்பேக்குகள் அல்லது பாலிஃபில்களைப் பயன்படுத்துவது முக்கியம்.
@when
மற்றும் தொடர்புடைய அம்சங்களின் தற்போதைய பிரவுசர் ஆதரவு நிலையைச் சரிபார்க்க Can I use... போன்ற ஆதாரங்களை எப்போதும் கலந்தாலோசிக்கவும்.
@when பயன்படுத்துவதற்கான சிறந்த நடைமுறைகள்
- நிபந்தனைகளை எளிமையாக வைத்திருங்கள்:
@when
பிளாக்குகளுக்குள் அதிகப்படியான சிக்கலான நிபந்தனைகளைத் தவிர்க்கவும். சிக்கலான தர்க்கத்தை சிறிய, மேலும் நிர்வகிக்கக்கூடிய துண்டுகளாக உடைக்கவும். - ஃபால்பேக்குகளை வழங்கவும்: உங்கள்
@when
விதிகளில் நீங்கள் பயன்படுத்தும் அம்சங்களை ஆதரிக்காத பிரவுசர்களுக்கு எப்போதும் ஃபால்பேக் ஸ்டைல்களை வழங்கவும். இது வெவ்வேறு பிரவுசர்களில் சீரான அனுபவத்தை உறுதி செய்கிறது. - முழுமையாக சோதிக்கவும்: உங்கள்
@when
விதிகள் எதிர்பார்த்தபடி செயல்படுகின்றனவா என்பதை உறுதிப்படுத்த, உங்கள் CSS ஐ பல்வேறு பிரவுசர்கள் மற்றும் சாதனங்களில் சோதிக்கவும். - அர்த்தமுள்ள கருத்துகளைப் பயன்படுத்தவும்: ஒவ்வொரு
@when
விதியின் நோக்கத்தையும் அது அடிப்படையாகக் கொண்ட நிபந்தனைகளையும் விளக்க உங்கள் CSS இல் கருத்துகளைச் சேர்க்கவும். இது உங்கள் குறியீட்டைப் புரிந்துகொள்வதற்கும் பராமரிப்பதற்கும் எளிதாக்கும். - செயல்திறனைக் கருத்தில் கொள்ளுங்கள்:
@when
விதிகளை அதிகமாகப் பயன்படுத்துவதைத் தவிர்க்கவும், ஏனெனில் அவை செயல்திறனை பாதிக்கக்கூடும். மதிப்பீடு செய்யப்பட வேண்டிய விதிகளின் எண்ணிக்கையைக் குறைக்க உங்கள் CSS ஐ மேம்படுத்தவும்.
முடிவுரை
@when
விதி என்பது CSS கருவிப்பெட்டிக்கு ஒரு சக்திவாய்ந்த கூடுதலாகும், இது டெவலப்பர்களுக்கு ஸ்டைல்களை நிபந்தனையுடன் பயன்படுத்த மிகவும் நெகிழ்வான மற்றும் வெளிப்படையான வழியை வழங்குகிறது. இதை மீடியா வினவல்கள், அம்சம் வினவல்கள் மற்றும் CSS தனிப்பயன் பண்புகளுடன் இணைப்பதன் மூலம், நீங்கள் மிகவும் வலுவான, மாற்றியமைக்கக்கூடிய மற்றும் பராமரிக்கக்கூடிய ஸ்டைல்ஷீட்களை உருவாக்கலாம். பிரவுசர் ஆதரவு இன்னும் வளர்ந்து வரும் நிலையில், @when
என்பது உங்கள் நவீன வலை மேம்பாட்டு பணிப்பாய்வுகளில் ஆராய்ந்து இணைக்க வேண்டிய ஒரு அம்சமாகும்.
இணையம் தொடர்ந்து வளர்ந்து வருவதால், உலகெங்கிலும் உள்ள பயனர்களுக்கு ஈர்க்கக்கூடிய, அணுகக்கூடிய மற்றும் செயல்திறன் மிக்க அனுபவங்களை உருவாக்க @when
போன்ற அம்சங்களில் தேர்ச்சி பெறுவது அவசியமாக இருக்கும். நிபந்தனை ஸ்டைலிங்கின் சக்தியைத் தழுவி, உங்கள் CSS மேம்பாட்டில் புதிய சாத்தியங்களைத் திறக்கவும்.