தமிழ்

CSS @property விதியை ஆராய்ந்து, தனிப்பயன் பண்பு வகைகளை வரையறுக்க கற்றுக்கொள்ளுங்கள். இது மேம்பட்ட அனிமேஷன்கள், மேம்படுத்தப்பட்ட தீம்கள் மற்றும் வலுவான CSS கட்டமைப்பை செயல்படுத்துகிறது.

CSS @property விதி: தனிப்பயன் பண்பு வகை வரையறையின் சக்தியை கட்டவிழ்த்தல்

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

CSS தனிப்பயன் பண்புகள் (மாறிகள்) என்றால் என்ன?

@property விதிக்குள் நுழைவதற்கு முன்பு, CSS தனிப்பயன் பண்புகளைப் புரிந்துகொள்வது அவசியம், அவை CSS மாறிகள் என்றும் அழைக்கப்படுகின்றன. தனிப்பயன் பண்புகள் உங்கள் CSS-க்குள் மீண்டும் பயன்படுத்தக்கூடிய மதிப்புகளை வரையறுக்க உங்களை அனுமதிக்கின்றன, இது உங்கள் ஸ்டைல்ஷீட்களை மேலும் பராமரிக்கக்கூடியதாகவும், புதுப்பிக்க எளிதாகவும் ஆக்குகிறது. அவை --variable-name தொடரியலைப் பயன்படுத்தி அறிவிக்கப்பட்டு, var() செயல்பாட்டைப் பயன்படுத்தி அணுகப்படுகின்றன.

உதாரணம்:


:root {
  --primary-color: #007bff; /* உலகளவில் வரையறுக்கப்பட்ட முதன்மை நிறம் */
  --secondary-color: #6c757d;
}

a {
  color: var(--primary-color);
  text-decoration: none;
}

button {
  background-color: var(--primary-color);
  color: white;
  border: none;
  padding: 10px 20px;
}

இந்த எடுத்துக்காட்டில், --primary-color மற்றும் --secondary-color ஆகியவை தனிப்பயன் பண்புகளாகும். உங்கள் முழு வலைத்தளத்திலும் முதன்மை நிறத்தை மாற்ற வேண்டுமென்றால், நீங்கள் அதை ஒரே ஒரு இடத்தில் - :root செலக்டரில் புதுப்பித்தால் போதும்.

அடிப்படை தனிப்பயன் பண்புகளின் வரம்பு

தனிப்பயன் பண்புகள் மிகவும் பயனுள்ளதாக இருந்தாலும், அவற்றுக்கு ஒரு குறிப்பிடத்தக்க வரம்பு உள்ளது: அவை அடிப்படையில் சரங்களாக (strings) கருதப்படுகின்றன. அதாவது, ஒரு தனிப்பயன் பண்பு என்ன வகையான மதிப்பைக் கொண்டுள்ளது (எ.கா., எண், நிறம், நீளம்) என்பதை CSS இயல்பாக அறியாது. உலாவி வகையை ஊகிக்க முயற்சித்தாலும், இது எதிர்பாராத நடத்தைக்கு வழிவகுக்கும், குறிப்பாக அனிமேஷன்கள் மற்றும் மாற்றங்களின் போது. உதாரணமாக, ஒரு நிறத்தைக் கொண்ட தனிப்பயன் பண்பை அனிமேட் செய்ய முயற்சிப்பது எதிர்பார்த்தபடி வேலை செய்யாமல் போகலாம், அல்லது வெவ்வேறு உலாவிகளில் சீராக வேலை செய்யாமல் போகலாம்.

@property விதியை அறிமுகப்படுத்துதல்

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

@property விதியின் தொடரியல்

@property விதியின் அடிப்படை தொடரியல் பின்வருமாறு:


@property --property-name {
  syntax: ;
  inherits: ;
  initial-value: ;
}

விதியின் ஒவ்வொரு பகுதியையும் உடைத்துப் பார்ப்போம்:

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

நிஜ உலக சூழ்நிலைகளில் @property விதியை எவ்வாறு பயன்படுத்தலாம் என்பதை விளக்க சில நடைமுறை எடுத்துக்காட்டுகளைப் பார்ப்போம்.

எடுத்துக்காட்டு 1: ஒரு தனிப்பயன் நிறத்தை அனிமேட் செய்தல்

நிலையான CSS மாற்றங்களைப் பயன்படுத்தி நிறங்களை அனிமேட் செய்வது சில நேரங்களில் தந்திரமானதாக இருக்கலாம். @property விதி இதை மிகவும் எளிதாக்குகிறது.


@property --brand-color {
  syntax: <color>;
  inherits: false;
  initial-value: #007bff;
}

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

.element {
  background-color: var(--brand-color);
  transition: --brand-color 0.5s ease-in-out;
}

.element:hover {
  --brand-color: #28a745; /* ஹோவர் செய்யும்போது பச்சை நிறத்திற்கு மாற்றவும் */
}

இந்த எடுத்துக்காட்டில், நாம் --brand-color என்ற தனிப்பயன் பண்பை வரையறுத்து, அதன் தொடரியல் <color> என்று குறிப்பிடுகிறோம். நாம் #007bff (ஒரு நீல நிறத்தின் சாயல்) என்ற ஆரம்ப மதிப்பையும் அமைக்கிறோம். இப்போது, .element ஹோவர் செய்யப்படும்போது, பின்னணி நிறம் நீலத்திலிருந்து பச்சைக்கு மென்மையாக மாறுகிறது.

எடுத்துக்காட்டு 2: ஒரு தனிப்பயன் நீளத்தை அனிமேட் செய்தல்

நீளங்களை (எ.கா., அகலம், உயரம்) அனிமேட் செய்வது @property விதிக்கான மற்றொரு பொதுவான பயன்பாடு ஆகும்.


@property --element-width {
  syntax: <length>;
  inherits: false;
  initial-value: 100px;
}

.element {
  width: var(--element-width);
  transition: --element-width 0.3s ease-out;
}

.element:hover {
  --element-width: 200px;
}

இங்கே, நாம் --element-width என்ற தனிப்பயன் பண்பை வரையறுத்து, அதன் தொடரியல் <length> என்று குறிப்பிடுகிறோம். ஆரம்ப மதிப்பு 100px ஆக அமைக்கப்பட்டுள்ளது. .element ஹோவர் செய்யப்படும்போது, அதன் அகலம் 100px இலிருந்து 200px க்கு மென்மையாக மாறுகிறது.

எடுத்துக்காட்டு 3: ஒரு தனிப்பயன் முன்னேற்றப் பட்டையை உருவாக்குதல்

@property விதியைப் பயன்படுத்தி, அனிமேஷன் மீது அதிக கட்டுப்பாட்டுடன் தனிப்பயன் முன்னேற்றப் பட்டைகளை உருவாக்கலாம்.


@property --progress {
  syntax: <number>;
  inherits: false;
  initial-value: 0;
}

.progress-bar {
  width: 200px;
  height: 10px;
  background-color: #eee;
}

.progress-bar::before {
  content: '';
  display: block;
  width: calc(var(--progress) * 1%);
  height: 100%;
  background-color: #007bff;
  transition: --progress 0.3s ease-in-out;
}

.progress-bar[data-progress="50"]::before {
  --progress: 50;
}

.progress-bar[data-progress="100"]::before {
  --progress: 100;
}

இந்த எடுத்துக்காட்டில், நாம் --progress என்ற தனிப்பயன் பண்பை வரையறுக்கிறோம், இது முன்னேற்ற சதவீதத்தைக் குறிக்கிறது. பின்னர், --progress-இன் மதிப்பின் அடிப்படையில் முன்னேற்றப் பட்டையின் அகலத்தைக் கணக்கிட calc() செயல்பாட்டைப் பயன்படுத்துகிறோம். .progress-bar உறுப்பில் data-progress பண்பை அமைப்பதன் மூலம், நாம் முன்னேற்ற அளவைக் கட்டுப்படுத்தலாம்.

எடுத்துக்காட்டு 4: தனிப்பயன் பண்புகளுடன் தீமிங்

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


@property --bg-color {
    syntax: <color>;
    inherits: false;
    initial-value: #ffffff; /* ஒளி தீம் இயல்புநிலை */
}

@property --text-color {
    syntax: <color>;
    inherits: false;
    initial-value: #000000; /* ஒளி தீம் இயல்புநிலை */
}

:root {
    --bg-color: #ffffff;
    --text-color: #000000;
    transition: --bg-color 0.3s, --text-color 0.3s;
}

body {
    background-color: var(--bg-color);
    color: var(--text-color);
}

.dark-theme {
    --bg-color: #333333; /* இருண்ட தீம் */
    --text-color: #ffffff;
}

@property விதியுடன் --bg-color மற்றும் --text-color ஆகியவற்றை வரையறுப்பதன் மூலம், வரையறுக்கப்பட்ட வகைகள் இல்லாத அடிப்படை தனிப்பயன் பண்புகளைப் பயன்படுத்துவதை விட தீம்களுக்கு இடையிலான மாற்றம் மென்மையாகவும் நம்பகமானதாகவும் இருக்கும்.

உலாவி இணக்கத்தன்மை

2023-இன் பிற்பகுதியில், Chrome, Firefox, Safari, மற்றும் Edge உள்ளிட்ட நவீன உலாவிகளில் @property விதிக்கான உலாவி ஆதரவு பொதுவாக நன்றாக உள்ளது. இருப்பினும், Can I Use (caniuse.com) போன்ற வலைத்தளங்களில் சமீபத்திய உலாவி இணக்கத்தன்மை தகவல்களைச் சரிபார்ப்பது எப்போதும் ஒரு நல்ல யோசனையாகும், உங்கள் இலக்கு பார்வையாளர்களுக்கு இந்த அம்சத்திற்கு போதுமான ஆதரவு இருப்பதை உறுதிசெய்ய.

@property விதியை ஆதரிக்காத பழைய உலாவிகளை நீங்கள் ஆதரிக்க வேண்டுமென்றால், நீங்கள் JavaScript உடன் அம்சக் கண்டறிதலைப் பயன்படுத்தி மாற்றுத் தீர்வுகளை வழங்கலாம். உதாரணமாக, உலாவி CSS.registerProperty (@property உடன் தொடர்புடைய JavaScript API) ஆதரிக்கிறதா என்பதைக் கண்டறிய JavaScript-ஐப் பயன்படுத்தலாம், பின்னர் அது ஆதரிக்கப்படாவிட்டால் மாற்று ஸ்டைல்களைப் பயன்படுத்தலாம்.

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

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

அணுகல்தன்மை பரிசீலனைகள்

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

மேலும், உங்கள் வண்ணத் தேர்வுகள் பார்வை குறைபாடு உள்ள பயனர்களுக்கு போதுமான வேறுபாட்டை வழங்குகின்றன என்பதை உறுதிப்படுத்தவும். உங்கள் வண்ண சேர்க்கைகள் அணுகல்தன்மை வழிகாட்டுதல்களை பூர்த்தி செய்கின்றனவா என்பதை சரிபார்க்க WebAIM Contrast Checker போன்ற கருவிகளைப் பயன்படுத்தலாம்.

உலகளாவிய பரிசீலனைகள்

உலகளாவிய பார்வையாளர்களுக்காக வலைத்தளங்கள் மற்றும் பயன்பாடுகளை உருவாக்கும்போது, கலாச்சார வேறுபாடுகள் மற்றும் உள்ளூர்மயமாக்கலைக் கருத்தில் கொள்வது முக்கியம். ஒரு உலகளாவிய சூழலில் @property விதியைப் பயன்படுத்தும்போது மனதில் கொள்ள வேண்டிய சில விஷயங்கள் இங்கே:

CSS தனிப்பயன் பண்புகள் மற்றும் @property விதியின் எதிர்காலம்

@property விதி CSS-இன் பரிணாம வளர்ச்சியில் ஒரு குறிப்பிடத்தக்க படியைக் குறிக்கிறது. உலாவி ஆதரவு தொடர்ந்து மேம்படும்போது, இந்த சக்திவாய்ந்த அம்சத்திற்கான இன்னும் புதுமையான பயன்பாடுகளை நாம் எதிர்பார்க்கலாம். எதிர்காலத்தில், வரிசைகள் மற்றும் பொருள்கள் போன்ற மிகவும் சிக்கலான தரவு வகைகளை ஆதரிக்க @property விதியில் புதிய தொடரியல் மதிப்புகள் சேர்க்கப்படலாம். JavaScript உடன் சிறந்த ஒருங்கிணைப்பையும் நாம் காணலாம், இது டெவலப்பர்களை இயக்க நேரத்தில் தனிப்பயன் பண்புகளை மாறும் வகையில் உருவாக்கவும் கையாளவும் அனுமதிக்கிறது.

தனிப்பயன் பண்புகள் மற்றும் @property விதியின் கலவையானது மிகவும் மட்டுப்படுத்தப்பட்ட, பராமரிக்கக்கூடிய மற்றும் சக்திவாய்ந்த CSS கட்டமைப்பிற்கு வழி வகுக்கிறது. இந்த அம்சங்களைத் தழுவுவதன் மூலம், டெவலப்பர்கள் உலகம் முழுவதும் உள்ள பயனர்களுக்கு அணுகக்கூடிய மிகவும் நுட்பமான மற்றும் ஈர்க்கக்கூடிய வலை அனுபவங்களை உருவாக்க முடியும்.

முடிவுரை

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

மேலும் படிக்க