അതിശയകരമായ വിഷ്വൽ ഇഫക്റ്റുകൾ സൃഷ്ടിക്കാനും, മറഞ്ഞിരിക്കുന്ന ഉള്ളടക്കം വെളിപ്പെടുത്താനും, നൂതന മാസ്കിംഗ് ടെക്നിക്കുകൾ ഉപയോഗിച്ച് നിങ്ങളുടെ വെബ് ഡിസൈൻ മെച്ചപ്പെടുത്താനും സിഎസ്എസ് മാസ്ക് പ്രോപ്പർട്ടികളുടെ ശക്തി പ്രയോജനപ്പെടുത്തുക.
സിഎസ്എസ് മാസ്ക് പ്രോപ്പർട്ടികൾ: വെബിൽ ക്രിയേറ്റീവ് വിഷ്വൽ ഇഫക്റ്റുകൾ അഴിച്ചുവിടുന്നു
സിഎസ്എസ് മാസ്ക് പ്രോപ്പർട്ടികൾ നിങ്ങളുടെ വെബ് പേജുകളിലെ ഘടകങ്ങളുടെ ദൃശ്യപരത നിയന്ത്രിക്കുന്നതിനുള്ള ശക്തവും വൈവിധ്യപൂർണ്ണവുമായ ഒരു മാർഗ്ഗം നൽകുന്നു. ഇത് അതിശയകരമായ വിഷ്വൽ ഇഫക്റ്റുകൾ സൃഷ്ടിക്കാനും, മറഞ്ഞിരിക്കുന്ന ഉള്ളടക്കം വെളിപ്പെടുത്താനും, നിങ്ങളുടെ ഡിസൈനുകൾക്ക് ഒരു പ്രത്യേക ഭംഗി നൽകാനും സഹായിക്കുന്നു. പരമ്പരാഗത ഇമേജ് എഡിറ്റിംഗ് സോഫ്റ്റ്വെയറുകളിൽ നിന്ന് വ്യത്യസ്തമായി, സിഎസ്എസ് മാസ്കിംഗ് ബ്രൗസറിൽ നേരിട്ട് ഡൈനാമിക്, റെസ്പോൺസീവ് മാസ്കിംഗ് സാധ്യമാക്കുന്നു. ഇത് ആധുനിക വെബ് ഡെവലപ്പർമാർക്ക് ഒഴിച്ചുകൂടാനാവാത്ത ഒരു ഉപകരണമാക്കി മാറ്റുന്നു. ഈ സമഗ്രമായ ഗൈഡ് സിഎസ്എസ് മാസ്കുകളുടെ ലോകത്തേക്ക് ആഴത്തിൽ ഇറങ്ങിച്ചെല്ലുകയും, അവയുടെ വിവിധ പ്രോപ്പർട്ടികൾ, ഉപയോഗങ്ങൾ, മികച്ച രീതികൾ എന്നിവ പര്യവേക്ഷണം ചെയ്യുകയും ചെയ്യും.
എന്താണ് സിഎസ്എസ് മാസ്കുകൾ?
ഒരു എലമെന്റിന്റെ ഭാഗങ്ങൾ മറയ്ക്കാനോ വെളിപ്പെടുത്താനോ മറ്റൊരു ചിത്രമോ ഗ്രേഡിയന്റോ മാസ്കായി ഉപയോഗിക്കുന്ന ഒരു രീതിയാണ് സിഎസ്എസ് മാസ്ക്. ഒരു കടലാസിൽ നിന്ന് ഒരു രൂപം വെട്ടിയെടുത്ത് ഒരു ചിത്രത്തിന് മുകളിൽ വെക്കുന്നത് പോലെയാണിത് - വെട്ടിയെടുത്ത രൂപത്തിനുള്ളിലുള്ള ഭാഗങ്ങൾ മാത്രമേ ദൃശ്യമാകൂ. സിഎസ്എസ് മാസ്കുകൾ സമാനമായ ഒരു ഫലം നൽകുന്നു, പക്ഷേ ഡൈനാമിക് ആകാനും സിഎസ്എസ് വഴി നിയന്ത്രിക്കാനും കഴിയുമെന്ന അധിക നേട്ടവുമുണ്ട്.
`mask`-ഉം `clip-path`-ഉം തമ്മിലുള്ള പ്രധാന വ്യത്യാസം, `clip-path` ഒരു നിശ്ചിത രൂപത്തിൽ എലമെന്റിനെ ക്ലിപ്പ് ചെയ്യുക മാത്രമാണ് ചെയ്യുന്നത്, രൂപത്തിന് പുറത്തുള്ളതെല്ലാം അദൃശ്യമാക്കുന്നു. എന്നാൽ `mask` ആകട്ടെ, എലമെന്റിന്റെ സുതാര്യത നിർണ്ണയിക്കാൻ മാസ്ക് ചിത്രത്തിന്റെ ആൽഫാ ചാനൽ അല്ലെങ്കിൽ ലൂമിനൻസ് മൂല്യങ്ങൾ ഉപയോഗിക്കുന്നു. ഇത് ഫെതർഡ് എഡ്ജുകളും അർദ്ധ സുതാര്യമായ മാസ്കുകളും ഉൾപ്പെടെ നിരവധി ക്രിയാത്മക സാധ്യതകൾ തുറന്നുതരുന്നു.
സിഎസ്എസ് മാസ്ക് പ്രോപ്പർട്ടികൾ: ഒരു ആഴത്തിലുള്ള പഠനം
പ്രധാനപ്പെട്ട സിഎസ്എസ് മാസ്ക് പ്രോപ്പർട്ടികളുടെ ഒരു വിഭജനം താഴെ നൽകുന്നു:
- `mask-image`: മാസ്ക് ലെയറായി ഉപയോഗിക്കേണ്ട ചിത്രമോ ഗ്രേഡിയന്റോ വ്യക്തമാക്കുന്നു.
- `mask-mode`: മാസ്ക് ചിത്രം എങ്ങനെ വ്യാഖ്യാനിക്കണം എന്ന് നിർവചിക്കുന്നു (ഉദാഹരണത്തിന്, ഒരു ആൽഫ മാസ്ക് അല്ലെങ്കിൽ ലൂമിനൻസ് മാസ്ക് ആയി).
- `mask-repeat`: മാസ്ക് ചിത്രം മാസ്ക് ചെയ്യപ്പെടുന്ന എലമെന്റിനേക്കാൾ ചെറുതാണെങ്കിൽ അത് എങ്ങനെ ആവർത്തിക്കണമെന്ന് നിയന്ത്രിക്കുന്നു.
- `mask-position`: എലമെന്റിനുള്ളിലെ മാസ്ക് ചിത്രത്തിന്റെ പ്രാരംഭ സ്ഥാനം നിർണ്ണയിക്കുന്നു.
- `mask-size`: മാസ്ക് ചിത്രത്തിന്റെ വലുപ്പം വ്യക്തമാക്കുന്നു.
- `mask-origin`: മാസ്കിന്റെ സ്ഥാനനിർണ്ണയത്തിനുള്ള ഒറിജിൻ സജ്ജീകരിക്കുന്നു.
- `mask-clip`: മാസ്ക് ഉപയോഗിച്ച് ക്ലിപ്പ് ചെയ്യേണ്ട ഏരിയ നിർവചിക്കുന്നു.
- `mask-composite`: ഒന്നിലധികം മാസ്ക് ലെയറുകൾ എങ്ങനെ സംയോജിപ്പിക്കണമെന്ന് വ്യക്തമാക്കുന്നു.
- `mask`: ഒരേ സമയം ഒന്നിലധികം മാസ്ക് പ്രോപ്പർട്ടികൾ സജ്ജീകരിക്കുന്നതിനുള്ള ഒരു ഷോർട്ട്ഹാൻഡ് പ്രോപ്പർട്ടി.
`mask-image`
`mask-image` പ്രോപ്പർട്ടിയാണ് സിഎസ്എസ് മാസ്കിംഗിന്റെ അടിസ്ഥാനം. മാസ്കായി ഉപയോഗിക്കേണ്ട ചിത്രമോ ഗ്രേഡിയന്റോ ഇത് വ്യക്തമാക്കുന്നു. PNG, SVG, GIF-കൾ ഉൾപ്പെടെ വിവിധതരം ഇമേജ് ഫോർമാറ്റുകൾ നിങ്ങൾക്ക് ഉപയോഗിക്കാം. ഡൈനാമിക്, കസ്റ്റമൈസ് ചെയ്യാവുന്ന മാസ്കുകൾ നിർമ്മിക്കാൻ സിഎസ്എസ് ഗ്രേഡിയന്റുകളും ഉപയോഗിക്കാം.
ഉദാഹരണം: ഒരു PNG ചിത്രം മാസ്കായി ഉപയോഗിക്കുന്നു
.masked-element {
mask-image: url("mask.png");
}
ഈ ഉദാഹരണത്തിൽ, `.masked-element`-നെ മാസ്ക് ചെയ്യാൻ `mask.png` എന്ന ചിത്രം ഉപയോഗിക്കും. PNG-യുടെ സുതാര്യമായ ഭാഗങ്ങൾ എലമെന്റിന്റെ അനുബന്ധ ഭാഗങ്ങളെ സുതാര്യമാക്കും, അതേസമയം അതാര്യമായ ഭാഗങ്ങൾ എലമെന്റിന്റെ അനുബന്ധ ഭാഗങ്ങളെ ദൃശ്യമാക്കും.
ഉദാഹരണം: ഒരു സിഎസ്എസ് ഗ്രേഡിയന്റ് മാസ്കായി ഉപയോഗിക്കുന്നു
.masked-element {
mask-image: linear-gradient(to right, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
}
ഈ ഉദാഹരണം `.masked-element`-ൽ ഒരു ഫേഡിംഗ് ഇഫക്റ്റ് ഉണ്ടാക്കാൻ ഒരു ലീനിയർ ഗ്രേഡിയന്റ് ഉപയോഗിക്കുന്നു. ഗ്രേഡിയന്റ് അതാര്യമായ കറുപ്പിൽ നിന്ന് സുതാര്യതയിലേക്ക് മാറുന്നു, ഇത് ഒരു സ്മൂത്ത് ഫേഡ്-ഔട്ട് ഇഫക്റ്റ് ഉണ്ടാക്കുന്നു.
`mask-mode`
`mask-mode` പ്രോപ്പർട്ടി മാസ്ക് ചിത്രം എങ്ങനെ വ്യാഖ്യാനിക്കണമെന്ന് നിർണ്ണയിക്കുന്നു. ഇതിന് സാധ്യമായ നിരവധി മൂല്യങ്ങളുണ്ട്:
- `alpha`: മാസ്ക് ചിത്രത്തിന്റെ ആൽഫാ ചാനൽ എലമെന്റിന്റെ സുതാര്യത നിർണ്ണയിക്കുന്നു. മാസ്ക് ചിത്രത്തിന്റെ അതാര്യമായ ഭാഗങ്ങൾ എലമെന്റിനെ ദൃശ്യമാക്കുന്നു, അതേസമയം സുതാര്യമായ ഭാഗങ്ങൾ അതിനെ അദൃശ്യമാക്കുന്നു. ഇതാണ് ഡിഫോൾട്ട് മൂല്യം.
- `luminance`: മാസ്ക് ചിത്രത്തിന്റെ ലൂമിനൻസ് (തെളിച്ചം) എലമെന്റിന്റെ സുതാര്യത നിർണ്ണയിക്കുന്നു. മാസ്ക് ചിത്രത്തിന്റെ തെളിച്ചമുള്ള ഭാഗങ്ങൾ എലമെന്റിനെ ദൃശ്യമാക്കുന്നു, അതേസമയം ഇരുണ്ട ഭാഗങ്ങൾ അതിനെ അദൃശ്യമാക്കുന്നു.
- `match-source`: മാസ്ക് മോഡ് മാസ്ക് സോഴ്സ് അനുസരിച്ച് നിർണ്ണയിക്കപ്പെടുന്നു. മാസ്ക് സോഴ്സ് ഒരു ആൽഫാ ചാനലുള്ള ചിത്രമാണെങ്കിൽ, `alpha` ഉപയോഗിക്കുന്നു. മാസ്ക് സോഴ്സ് ആൽഫാ ചാനലില്ലാത്ത ചിത്രമോ ഗ്രേഡിയന്റോ ആണെങ്കിൽ, `luminance` ഉപയോഗിക്കുന്നു.
- `inherit`: പാരന്റ് എലമെന്റിൽ നിന്ന് `mask-mode` മൂല്യം ഇൻഹെറിറ്റ് ചെയ്യുന്നു.
- `initial`: ഈ പ്രോപ്പർട്ടിയെ അതിന്റെ ഡിഫോൾട്ട് മൂല്യത്തിലേക്ക് സജ്ജീകരിക്കുന്നു.
- `unset`: പാരന്റ് എലമെന്റിൽ നിന്ന് ഇൻഹെറിറ്റ് ചെയ്യുകയാണെങ്കിൽ ഈ പ്രോപ്പർട്ടിയെ അതിന്റെ ഇൻഹെറിറ്റഡ് മൂല്യത്തിലേക്കോ അല്ലെങ്കിൽ അതിന്റെ പ്രാരംഭ മൂല്യത്തിലേക്കോ പുനഃക്രമീകരിക്കുന്നു.
ഉദാഹരണം: `mask-mode: luminance` ഉപയോഗിക്കുന്നു
.masked-element {
mask-image: url("grayscale-image.jpg");
mask-mode: luminance;
}
ഈ ഉദാഹരണത്തിൽ, ഒരു ഗ്രേസ്കെയിൽ ചിത്രം മാസ്കായി ഉപയോഗിക്കുന്നു. ചിത്രത്തിന്റെ തെളിച്ചമുള്ള ഭാഗങ്ങൾ `.masked-element`-ന്റെ അനുബന്ധ ഭാഗങ്ങളെ ദൃശ്യമാക്കും, അതേസമയം ഇരുണ്ട ഭാഗങ്ങൾ അവയെ അദൃശ്യമാക്കും.
`mask-repeat`
`mask-repeat` പ്രോപ്പർട്ടി മാസ്ക് ചിത്രം മാസ്ക് ചെയ്യപ്പെടുന്ന എലമെന്റിനേക്കാൾ ചെറുതാണെങ്കിൽ അത് എങ്ങനെ ആവർത്തിക്കണമെന്ന് നിയന്ത്രിക്കുന്നു. ഇത് `background-repeat` പ്രോപ്പർട്ടിക്ക് സമാനമായി പ്രവർത്തിക്കുന്നു.
- `repeat`: മുഴുവൻ എലമെന്റും കവർ ചെയ്യുന്നതിനായി മാസ്ക് ചിത്രം തിരശ്ചീനമായും ലംബമായും ആവർത്തിക്കുന്നു. ഇതാണ് ഡിഫോൾട്ട് മൂല്യം.
- `repeat-x`: മാസ്ക് ചിത്രം തിരശ്ചീനമായി മാത്രം ആവർത്തിക്കുന്നു.
- `repeat-y`: മാസ്ക് ചിത്രം ലംബമായി മാത്രം ആവർത്തിക്കുന്നു.
- `no-repeat`: മാസ്ക് ചിത്രം ആവർത്തിക്കുന്നില്ല.
- `space`: ക്ലിപ്പ് ചെയ്യാതെ തന്നെ മാസ്ക് ചിത്രം കഴിയുന്നത്ര തവണ ആവർത്തിക്കുന്നു. അധിക സ്ഥലം ചിത്രങ്ങൾക്കിടയിൽ തുല്യമായി വിതരണം ചെയ്യപ്പെടുന്നു.
- `round`: മാസ്ക് ചിത്രം കഴിയുന്നത്ര തവണ ആവർത്തിക്കുന്നു, പക്ഷേ ചിത്രങ്ങൾ എലമെന്റിന് അനുയോജ്യമാകുന്ന വിധത്തിൽ സ്കെയിൽ ചെയ്യപ്പെട്ടേക്കാം.
- `inherit`: പാരന്റ് എലമെന്റിൽ നിന്ന് `mask-repeat` മൂല്യം ഇൻഹെറിറ്റ് ചെയ്യുന്നു.
- `initial`: ഈ പ്രോപ്പർട്ടിയെ അതിന്റെ ഡിഫോൾട്ട് മൂല്യത്തിലേക്ക് സജ്ജീകരിക്കുന്നു.
- `unset`: പാരന്റ് എലമെന്റിൽ നിന്ന് ഇൻഹെറിറ്റ് ചെയ്യുകയാണെങ്കിൽ ഈ പ്രോപ്പർട്ടിയെ അതിന്റെ ഇൻഹെറിറ്റഡ് മൂല്യത്തിലേക്കോ അല്ലെങ്കിൽ അതിന്റെ പ്രാരംഭ മൂല്യത്തിലേക്കോ പുനഃക്രമീകരിക്കുന്നു.
ഉദാഹരണം: `mask-repeat: no-repeat` ഉപയോഗിക്കുന്നു
.masked-element {
mask-image: url("small-mask.png");
mask-repeat: no-repeat;
}
ഈ ഉദാഹരണത്തിൽ, `small-mask.png` ചിത്രം മാസ്കായി ഉപയോഗിക്കും, പക്ഷേ അത് ആവർത്തിക്കില്ല. എലമെന്റ് മാസ്ക് ചിത്രത്തേക്കാൾ വലുതാണെങ്കിൽ, മാസ്ക് ചെയ്യപ്പെടാത്ത ഭാഗങ്ങൾ ദൃശ്യമാകും.
`mask-position`
`mask-position` പ്രോപ്പർട്ടി എലമെന്റിനുള്ളിലെ മാസ്ക് ചിത്രത്തിന്റെ പ്രാരംഭ സ്ഥാനം നിർണ്ണയിക്കുന്നു. ഇത് `background-position` പ്രോപ്പർട്ടിക്ക് സമാനമായി പ്രവർത്തിക്കുന്നു.
സ്ഥാനം വ്യക്തമാക്കാൻ `top`, `bottom`, `left`, `right`, `center` പോലുള്ള കീവേഡുകൾ ഉപയോഗിക്കാം, അല്ലെങ്കിൽ നിങ്ങൾക്ക് പിക്സൽ അല്ലെങ്കിൽ ശതമാനം മൂല്യങ്ങൾ ഉപയോഗിക്കാം.
ഉദാഹരണം: `mask-position: center` ഉപയോഗിക്കുന്നു
.masked-element {
mask-image: url("small-mask.png");
mask-repeat: no-repeat;
mask-position: center;
}
ഈ ഉദാഹരണത്തിൽ, `small-mask.png` ചിത്രം `.masked-element`-നുള്ളിൽ കേന്ദ്രീകരിക്കും.
`mask-size`
`mask-size` പ്രോപ്പർട്ടി മാസ്ക് ചിത്രത്തിന്റെ വലുപ്പം വ്യക്തമാക്കുന്നു. ഇത് `background-size` പ്രോപ്പർട്ടിക്ക് സമാനമായി പ്രവർത്തിക്കുന്നു.
- `auto`: മാസ്ക് ചിത്രം അതിന്റെ യഥാർത്ഥ വലുപ്പത്തിൽ പ്രദർശിപ്പിക്കുന്നു. ഇതാണ് ഡിഫോൾട്ട് മൂല്യം.
- `contain`: മാസ്ക് ചിത്രം അതിന്റെ ആസ്പെക്റ്റ് റേഷ്യോ നിലനിർത്തിക്കൊണ്ട് എലമെന്റിനുള്ളിൽ ഒതുങ്ങുന്ന രീതിയിൽ സ്കെയിൽ ചെയ്യുന്നു. മുഴുവൻ ചിത്രവും ദൃശ്യമാകും, പക്ഷേ അതിന് ചുറ്റും ശൂന്യമായ ഇടം ഉണ്ടാകാം.
- `cover`: മാസ്ക് ചിത്രം അതിന്റെ ആസ്പെക്റ്റ് റേഷ്യോ നിലനിർത്തിക്കൊണ്ട് മുഴുവൻ എലമെന്റും നിറയ്ക്കുന്ന രീതിയിൽ സ്കെയിൽ ചെയ്യുന്നു. എലമെന്റിന് അനുയോജ്യമാക്കാൻ ആവശ്യമെങ്കിൽ ചിത്രം ക്രോപ്പ് ചെയ്യപ്പെടും.
- `length`: മാസ്ക് ചിത്രത്തിന്റെ വീതിയും ഉയരവും പിക്സലുകളിലോ മറ്റ് യൂണിറ്റുകളിലോ വ്യക്തമാക്കുന്നു.
- `percentage`: മാസ്ക് ചിത്രത്തിന്റെ വീതിയും ഉയരവും എലമെന്റിന്റെ വലുപ്പത്തിന്റെ ശതമാനമായി വ്യക്തമാക്കുന്നു.
- `inherit`: പാരന്റ് എലമെന്റിൽ നിന്ന് `mask-size` മൂല്യം ഇൻഹെറിറ്റ് ചെയ്യുന്നു.
- `initial`: ഈ പ്രോപ്പർട്ടിയെ അതിന്റെ ഡിഫോൾട്ട് മൂല്യത്തിലേക്ക് സജ്ജീകരിക്കുന്നു.
- `unset`: പാരന്റ് എലമെന്റിൽ നിന്ന് ഇൻഹെറിറ്റ് ചെയ്യുകയാണെങ്കിൽ ഈ പ്രോപ്പർട്ടിയെ അതിന്റെ ഇൻഹെറിറ്റഡ് മൂല്യത്തിലേക്കോ അല്ലെങ്കിൽ അതിന്റെ പ്രാരംഭ മൂല്യത്തിലേക്കോ പുനഃക്രമീകരിക്കുന്നു.
ഉദാഹരണം: `mask-size: cover` ഉപയോഗിക്കുന്നു
.masked-element {
mask-image: url("mask.png");
mask-size: cover;
}
ഈ ഉദാഹരണത്തിൽ, `mask.png` ചിത്രം `.masked-element`-നെ മുഴുവനായി കവർ ചെയ്യാൻ സ്കെയിൽ ചെയ്യും, ആവശ്യമെങ്കിൽ ചിത്രം ക്രോപ്പ് ചെയ്യപ്പെട്ടേക്കാം.
`mask-origin`
`mask-origin` പ്രോപ്പർട്ടി മാസ്കിന്റെ സ്ഥാനനിർണ്ണയത്തിനുള്ള ഒറിജിൻ വ്യക്തമാക്കുന്നു. `mask-position` പ്രോപ്പർട്ടി കണക്കാക്കുന്ന പോയിന്റ് ഇത് നിർണ്ണയിക്കുന്നു.
- `border-box`: മാസ്ക് ചിത്രം എലമെന്റിന്റെ ബോർഡർ ബോക്സുമായി ബന്ധപ്പെട്ട് സ്ഥാപിച്ചിരിക്കുന്നു. ഇതാണ് ഡിഫോൾട്ട് മൂല്യം.
- `padding-box`: മാസ്ക് ചിത്രം എലമെന്റിന്റെ പാഡിംഗ് ബോക്സുമായി ബന്ധപ്പെട്ട് സ്ഥാപിച്ചിരിക്കുന്നു.
- `content-box`: മാസ്ക് ചിത്രം എലമെന്റിന്റെ ഉള്ളടക്ക ബോക്സുമായി ബന്ധപ്പെട്ട് സ്ഥാപിച്ചിരിക്കുന്നു.
- `inherit`: പാരന്റ് എലമെന്റിൽ നിന്ന് `mask-origin` മൂല്യം ഇൻഹെറിറ്റ് ചെയ്യുന്നു.
- `initial`: ഈ പ്രോപ്പർട്ടിയെ അതിന്റെ ഡിഫോൾട്ട് മൂല്യത്തിലേക്ക് സജ്ജീകരിക്കുന്നു.
- `unset`: പാരന്റ് എലമെന്റിൽ നിന്ന് ഇൻഹെറിറ്റ് ചെയ്യുകയാണെങ്കിൽ ഈ പ്രോപ്പർട്ടിയെ അതിന്റെ ഇൻഹെറിറ്റഡ് മൂല്യത്തിലേക്കോ അല്ലെങ്കിൽ അതിന്റെ പ്രാരംഭ മൂല്യത്തിലേക്കോ പുനഃക്രമീകരിക്കുന്നു.
`mask-clip`
`mask-clip` പ്രോപ്പർട്ടി മാസ്ക് ഉപയോഗിച്ച് ക്ലിപ്പ് ചെയ്യേണ്ട ഏരിയ നിർവചിക്കുന്നു. എലമെന്റിന്റെ ഏതൊക്കെ ഭാഗങ്ങളെയാണ് മാസ്ക് ബാധിക്കേണ്ടതെന്ന് ഇത് നിർണ്ണയിക്കുന്നു.
- `border-box`: മാസ്ക് എലമെന്റിന്റെ മുഴുവൻ ബോർഡർ ബോക്സിലും പ്രയോഗിക്കുന്നു. ഇതാണ് ഡിഫോൾട്ട് മൂല്യം.
- `padding-box`: മാസ്ക് എലമെന്റിന്റെ പാഡിംഗ് ബോക്സിൽ പ്രയോഗിക്കുന്നു.
- `content-box`: മാസ്ക് എലമെന്റിന്റെ ഉള്ളടക്ക ബോക്സിൽ പ്രയോഗിക്കുന്നു.
- `text`: മാസ്ക് എലമെന്റിന്റെ ടെക്സ്റ്റ് ഉള്ളടക്കത്തിൽ പ്രയോഗിക്കുന്നു. ഈ മൂല്യം പരീക്ഷണാത്മകമാണ്, എല്ലാ ബ്രൗസറുകളും ഇത് പിന്തുണച്ചേക്കില്ല.
- `inherit`: പാരന്റ് എലമെന്റിൽ നിന്ന് `mask-clip` മൂല്യം ഇൻഹെറിറ്റ് ചെയ്യുന്നു.
- `initial`: ഈ പ്രോപ്പർട്ടിയെ അതിന്റെ ഡിഫോൾട്ട് മൂല്യത്തിലേക്ക് സജ്ജീകരിക്കുന്നു.
- `unset`: പാരന്റ് എലമെന്റിൽ നിന്ന് ഇൻഹെറിറ്റ് ചെയ്യുകയാണെങ്കിൽ ഈ പ്രോപ്പർട്ടിയെ അതിന്റെ ഇൻഹെറിറ്റഡ് മൂല്യത്തിലേക്കോ അല്ലെങ്കിൽ അതിന്റെ പ്രാരംഭ മൂല്യത്തിലേക്കോ പുനഃക്രമീകരിക്കുന്നു.
`mask-composite`
`mask-composite` പ്രോപ്പർട്ടി ഒന്നിലധികം മാസ്ക് ലെയറുകൾ എങ്ങനെ സംയോജിപ്പിക്കണമെന്ന് വ്യക്തമാക്കുന്നു. ഒരേ എലമെന്റിൽ ഒന്നിലധികം `mask-image` ഡിക്ലറേഷനുകൾ പ്രയോഗിക്കുമ്പോൾ ഈ പ്രോപ്പർട്ടി ഉപയോഗപ്രദമാണ്.
- `add`: മാസ്ക് ലെയറുകൾ ഒരുമിച്ച് ചേർക്കുന്നു. ഫലമായുണ്ടാകുന്ന മാസ്ക് എല്ലാ മാസ്ക് ലെയറുകളുടെയും യൂണിയൻ ആയിരിക്കും.
- `subtract`: രണ്ടാമത്തെ മാസ്ക് ലെയർ ആദ്യത്തെ മാസ്ക് ലെയറിൽ നിന്ന് കുറയ്ക്കുന്നു.
- `intersect`: ഫലമായുണ്ടാകുന്ന മാസ്ക് എല്ലാ മാസ്ക് ലെയറുകളുടെയും ഇന്റർസെക്ഷൻ ആയിരിക്കും. എല്ലാ ലെയറുകളാലും മാസ്ക് ചെയ്യപ്പെട്ട ഭാഗങ്ങൾ മാത്രമേ ദൃശ്യമാകൂ.
- `exclude`: ഫലമായുണ്ടാകുന്ന മാസ്ക് എല്ലാ മാസ്ക് ലെയറുകളുടെയും എക്സ്ക്ലൂസീവ് ഓർ (XOR) ആയിരിക്കും.
- `inherit`: പാരന്റ് എലമെന്റിൽ നിന്ന് `mask-composite` മൂല്യം ഇൻഹെറിറ്റ് ചെയ്യുന്നു.
- `initial`: ഈ പ്രോപ്പർട്ടിയെ അതിന്റെ ഡിഫോൾട്ട് മൂല്യത്തിലേക്ക് സജ്ജീകരിക്കുന്നു.
- `unset`: പാരന്റ് എലമെന്റിൽ നിന്ന് ഇൻഹെറിറ്റ് ചെയ്യുകയാണെങ്കിൽ ഈ പ്രോപ്പർട്ടിയെ അതിന്റെ ഇൻഹെറിറ്റഡ് മൂല്യത്തിലേക്കോ അല്ലെങ്കിൽ അതിന്റെ പ്രാരംഭ മൂല്യത്തിലേക്കോ പുനഃക്രമീകരിക്കുന്നു.
`mask` (ഷോർട്ട്ഹാൻഡ് പ്രോപ്പർട്ടി)
`mask` പ്രോപ്പർട്ടി ഒരേ സമയം ഒന്നിലധികം മാസ്ക് പ്രോപ്പർട്ടികൾ സജ്ജീകരിക്കുന്നതിനുള്ള ഒരു ഷോർട്ട്ഹാൻഡ് ആണ്. `mask-image`, `mask-mode`, `mask-repeat`, `mask-position`, `mask-size`, `mask-origin`, `mask-clip` എന്നീ പ്രോപ്പർട്ടികൾ ഒരൊറ്റ ഡിക്ലറേഷനിൽ വ്യക്തമാക്കാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു.
ഉദാഹരണം: `mask` ഷോർട്ട്ഹാൻഡ് പ്രോപ്പർട്ടി ഉപയോഗിക്കുന്നു
.masked-element {
mask: url("mask.png") no-repeat center / cover;
}
ഇത് ഇതിന് തുല്യമാണ്:
.masked-element {
mask-image: url("mask.png");
mask-repeat: no-repeat;
mask-position: center;
mask-size: cover;
}
പ്രായോഗിക ഉപയോഗങ്ങളും ഉദാഹരണങ്ങളും
സിഎസ്എസ് മാസ്കിംഗ് വൈവിധ്യമാർന്ന വിഷ്വൽ ഇഫക്റ്റുകൾ സൃഷ്ടിക്കാൻ ഉപയോഗിക്കാം. ചില ഉദാഹരണങ്ങൾ താഴെ നൽകുന്നു:
1. ഹോവർ ചെയ്യുമ്പോൾ ഉള്ളടക്കം വെളിപ്പെടുത്തുന്നു
ഉപയോക്താവ് ഒരു എലമെന്റിന് മുകളിലൂടെ ഹോവർ ചെയ്യുമ്പോൾ ഉള്ളടക്കം വെളിപ്പെടുന്ന ഒരു ഇഫക്റ്റ് സൃഷ്ടിക്കാൻ നിങ്ങൾക്ക് സിഎസ്എസ് മാസ്കുകൾ ഉപയോഗിക്കാം. നിങ്ങളുടെ ഡിസൈനുകളിൽ ഇന്ററാക്റ്റിവിറ്റിയും ആകർഷണീയതയും ചേർക്കാൻ ഇത് ഉപയോഗിക്കാം.
Hidden Content
This content is revealed on hover.
.reveal-container {
position: relative;
width: 300px;
height: 200px;
overflow: hidden;
}
.reveal-content {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #007bff;
color: white;
display: flex;
justify-content: center;
align-items: center;
mask-image: url("circle-mask.png");
mask-size: 20px;
mask-repeat: no-repeat;
mask-position: center;
transition: mask-size 0.3s ease;
}
.reveal-container:hover .reveal-content {
mask-size: 200%;
}
ഈ ഉദാഹരണത്തിൽ, തുടക്കത്തിൽ `.reveal-content`-ൽ ഒരു ചെറിയ സർക്കിൾ മാസ്ക് പ്രയോഗിക്കുന്നു. ഉപയോക്താവ് `.reveal-container`-ന് മുകളിലൂടെ ഹോവർ ചെയ്യുമ്പോൾ, മാസ്കിന്റെ വലുപ്പം വർദ്ധിക്കുകയും മറഞ്ഞിരിക്കുന്ന ഉള്ളടക്കം വെളിപ്പെടുകയും ചെയ്യുന്നു.
2. ഷേപ്പ് ഓവർലേകൾ സൃഷ്ടിക്കുന്നു
ചിത്രങ്ങളിലോ മറ്റ് എലമെന്റുകളിലോ ആകർഷകമായ ഷേപ്പ് ഓവർലേകൾ സൃഷ്ടിക്കാൻ സിഎസ്എസ് മാസ്കുകൾ ഉപയോഗിക്കാം. നിങ്ങളുടെ ഡിസൈനുകൾക്ക് ഒരു പ്രത്യേക വിഷ്വൽ ശൈലി നൽകാൻ ഇത് ഉപയോഗിക്കാം.
.shape-overlay {
position: relative;
width: 400px;
height: 300px;
}
.shape-overlay img {
width: 100%;
height: 100%;
object-fit: cover;
}
.shape-overlay::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
mask-image: url("triangle-mask.svg");
mask-size: cover;
mask-repeat: no-repeat;
}
ഈ ഉദാഹരണത്തിൽ, ചിത്രത്തിന് മുകളിൽ ഓവർലേ ചെയ്യുന്ന ഒരു സ്യൂഡോ-എലമെന്റിൽ ഒരു ട്രയാംഗിൾ മാസ്ക് പ്രയോഗിക്കുന്നു. ഇത് ചിത്രത്തിന് വിഷ്വൽ താല്പര്യം നൽകുന്ന ഒരു ഷേപ്പ് ഓവർലേ ഇഫക്റ്റ് ഉണ്ടാക്കുന്നു.
3. ടെക്സ്റ്റ് മാസ്കിംഗ്
`mask-clip: text` ഇപ്പോഴും പരീക്ഷണാത്മകമാണെങ്കിലും, ടെക്സ്റ്റിന് പിന്നിൽ ഒരു ബാക്ക്ഗ്രൗണ്ട് ഇമേജുള്ള ഒരു എലമെന്റ് സ്ഥാപിച്ച് ടെക്സ്റ്റിനെ തന്നെ മാസ്കായി ഉപയോഗിച്ച് നിങ്ങൾക്ക് ടെക്സ്റ്റ് മാസ്കിംഗ് ഇഫക്റ്റുകൾ നേടാനാകും. ഈ ടെക്നിക് കാഴ്ചയിൽ ആകർഷകമായ ടൈപ്പോഗ്രാഫി സൃഷ്ടിക്കാൻ സഹായിക്കും.
Masked Text
.text-mask {
position: relative;
width: 500px;
height: 200px;
font-size: 72px;
font-weight: bold;
color: white;
background-image: url("background.jpg");
background-size: cover;
-webkit-text-fill-color: transparent; /* Required for Safari */
-webkit-background-clip: text; /* Required for Safari */
background-clip: text;
}
ഈ ഉദാഹരണം `background-clip: text` (കൂടുതൽ അനുയോജ്യതയ്ക്കായി വെണ്ടർ പ്രിഫിക്സുകളോടൊപ്പം) പ്രയോജനപ്പെടുത്തി ടെക്സ്റ്റിനെ ഒരു മാസ്കായി ഉപയോഗിക്കുന്നു, അതിലൂടെ അതിന് പിന്നിലുള്ള ബാക്ക്ഗ്രൗണ്ട് ചിത്രം വെളിപ്പെടുന്നു.
4. ആനിമേറ്റഡ് മാസ്കുകൾ സൃഷ്ടിക്കുന്നു
`mask-position` അല്ലെങ്കിൽ `mask-size` പ്രോപ്പർട്ടികൾ ആനിമേറ്റ് ചെയ്യുന്നതിലൂടെ, നിങ്ങൾക്ക് ഡൈനാമിക്, ആകർഷകമായ മാസ്ക് ഇഫക്റ്റുകൾ സൃഷ്ടിക്കാൻ കഴിയും. നിങ്ങളുടെ ഡിസൈനുകളിൽ ചലനവും ഇന്ററാക്റ്റിവിറ്റിയും ചേർക്കാൻ ഇത് ഉപയോഗിക്കാം.
.animated-mask {
position: relative;
width: 400px;
height: 300px;
overflow: hidden;
}
.animated-mask img {
width: 100%;
height: 100%;
object-fit: cover;
mask-image: url("circle-mask.png");
mask-size: 50px;
mask-repeat: repeat;
mask-position: 0 0;
animation: moveMask 5s linear infinite;
}
@keyframes moveMask {
0% {
mask-position: 0 0;
}
100% {
mask-position: 100% 100%;
}
}
ഈ ഉദാഹരണത്തിൽ, `mask-position` ആനിമേറ്റ് ചെയ്യപ്പെടുന്നു, ഇത് കാലക്രമേണ ചിത്രത്തിന്റെ വിവിധ ഭാഗങ്ങൾ വെളിപ്പെടുത്തുന്ന ഒരു ചലിക്കുന്ന മാസ്ക് ഇഫക്റ്റ് ഉണ്ടാക്കുന്നു.
മികച്ച രീതികളും പരിഗണനകളും
സിഎസ്എസ് മാസ്കുകളുമായി പ്രവർത്തിക്കുമ്പോൾ, താഴെ പറയുന്ന മികച്ച രീതികൾ മനസ്സിൽ വെക്കുക:
- പ്രകടനം (Performance): സങ്കീർണ്ണമായ മാസ്കുകൾ, പ്രത്യേകിച്ച് വലിയ ചിത്രങ്ങളോ ഗ്രേഡിയന്റുകളോ ഉപയോഗിക്കുന്നവ, പ്രകടനത്തെ ബാധിച്ചേക്കാം. നിങ്ങളുടെ മാസ്ക് ചിത്രങ്ങളും ഗ്രേഡിയന്റുകളും അവയുടെ വലുപ്പവും സങ്കീർണ്ണതയും കുറയ്ക്കുന്നതിന് ഒപ്റ്റിമൈസ് ചെയ്യുക. മികച്ച പ്രകടനത്തിനും സ്കേലബിലിറ്റിക്കും വെക്റ്റർ അധിഷ്ഠിത മാസ്കുകൾ (SVGs) ഉപയോഗിക്കുന്നത് പരിഗണിക്കുക.
- ബ്രൗസർ അനുയോജ്യത (Browser Compatibility): സിഎസ്എസ് മാസ്ക് പ്രോപ്പർട്ടികൾ ആധുനിക ബ്രൗസറുകളിൽ വ്യാപകമായി പിന്തുണയ്ക്കുന്നുണ്ടെങ്കിലും, പഴയ ബ്രൗസറുകൾ അവയെ പിന്തുണച്ചേക്കില്ല. മാസ്ക് പിന്തുണയുണ്ടോയെന്ന് പരിശോധിക്കാൻ ഫീച്ചർ ഡിറ്റക്ഷൻ (ഉദാഹരണത്തിന്, Modernizr) ഉപയോഗിക്കുക, പഴയ ബ്രൗസറുകൾക്കായി ഫാൾബാക്ക് പരിഹാരങ്ങൾ നൽകുക. ചില ബ്രൗസറുകളുടെ പഴയ പതിപ്പുകളുമായി അനുയോജ്യത ഉറപ്പാക്കാൻ നിങ്ങൾക്ക് വെണ്ടർ പ്രിഫിക്സുകളും (ഉദാഹരണത്തിന്, `-webkit-mask-image`) ഉപയോഗിക്കാം.
- പ്രവേശനക്ഷമത (Accessibility): നിങ്ങളുടെ സിഎസ്എസ് മാസ്കുകളുടെ ഉപയോഗം വെബ്സൈറ്റിന്റെ പ്രവേശനക്ഷമതയെ പ്രതികൂലമായി ബാധിക്കുന്നില്ലെന്ന് ഉറപ്പാക്കുക. മാസ്ക് ചെയ്ത എലമെന്റുകൾ കാണാൻ കഴിയാത്ത ഉപയോക്താക്കൾക്കായി ബദൽ ഉള്ളടക്കമോ സ്റ്റൈലിംഗോ നൽകുക. മാസ്ക് ചെയ്ത ഉള്ളടക്കത്തിന്റെ അർത്ഥവും ഉദ്ദേശ്യവും അറിയിക്കാൻ ഉചിതമായ ARIA ആട്രിബ്യൂട്ടുകൾ ഉപയോഗിക്കുക.
- ഇമേജ് ഒപ്റ്റിമൈസേഷൻ: വെബ് ഉപയോഗത്തിനായി നിങ്ങളുടെ മാസ്ക് ചിത്രങ്ങൾ ഒപ്റ്റിമൈസ് ചെയ്യുക. ഉചിതമായ ഇമേജ് ഫോർമാറ്റുകൾ (ഉദാഹരണത്തിന്, സുതാര്യതയുള്ള ചിത്രങ്ങൾക്ക് PNG, ഫോട്ടോഗ്രാഫുകൾക്ക് JPEG) ഉപയോഗിക്കുക, ഫയൽ വലുപ്പം കുറയ്ക്കുന്നതിന് നിങ്ങളുടെ ചിത്രങ്ങൾ കംപ്രസ് ചെയ്യുക.
- പരിശോധന (Testing): നിങ്ങളുടെ സിഎസ്എസ് മാസ്ക് നടപ്പാക്കലുകൾ ശരിയായി റെൻഡർ ചെയ്യുകയും നന്നായി പ്രവർത്തിക്കുകയും ചെയ്യുന്നുവെന്ന് ഉറപ്പാക്കാൻ വിവിധ ബ്രൗസറുകളിലും ഉപകരണങ്ങളിലും സമഗ്രമായി പരിശോധിക്കുക.
- പുരോഗമനപരമായ മെച്ചപ്പെടുത്തൽ (Progressive Enhancement): മാസ്കിംഗ് ഒരു പുരോഗമനപരമായ മെച്ചപ്പെടുത്തലായി നടപ്പിലാക്കുക. പരിമിതമായ ബ്രൗസർ പിന്തുണയുള്ള ഉപയോക്താക്കൾക്ക് അടിസ്ഥാനപരവും പ്രവർത്തനപരവുമായ ഒരു ഡിസൈൻ നൽകുക, തുടർന്ന് ആധുനിക ബ്രൗസറുകളുള്ള ഉപയോക്താക്കൾക്കായി സിഎസ്എസ് മാസ്കുകൾ ഉപയോഗിച്ച് ഡിസൈൻ മെച്ചപ്പെടുത്തുക.
ബദലുകളും ഫാൾബാക്കുകളും
സിഎസ്എസ് മാസ്ക് പ്രോപ്പർട്ടികൾ പിന്തുണയ്ക്കാത്ത പഴയ ബ്രൗസറുകളെ നിങ്ങൾ പിന്തുണയ്ക്കേണ്ടതുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് താഴെ പറയുന്ന ബദലുകൾ ഉപയോഗിക്കാം:
- `clip-path`: എലമെന്റുകളെ അടിസ്ഥാന രൂപങ്ങളിലേക്ക് ക്ലിപ്പ് ചെയ്യാൻ `clip-path` പ്രോപ്പർട്ടി ഉപയോഗിക്കാം. ഇത് സിഎസ്എസ് മാസ്കുകൾ നൽകുന്നത്ര വഴക്കം നൽകുന്നില്ലെങ്കിലും, ലളിതമായ മാസ്കിംഗ് ഇഫക്റ്റുകൾ സൃഷ്ടിക്കാൻ ഇത് ഉപയോഗിക്കാം.
- ജാവാസ്ക്രിപ്റ്റ് (JavaScript): കൂടുതൽ സങ്കീർണ്ണമായ മാസ്കിംഗ് ഇഫക്റ്റുകൾ സൃഷ്ടിക്കാൻ നിങ്ങൾക്ക് ജാവാസ്ക്രിപ്റ്റ് ഉപയോഗിക്കാം. ഈ സമീപനത്തിന് കൂടുതൽ കോഡ് ആവശ്യമാണ്, പക്ഷേ ഇത് കൂടുതൽ നിയന്ത്രണവും വഴക്കവും നൽകും. Fabric.js പോലുള്ള ലൈബ്രറികൾ ജാവാസ്ക്രിപ്റ്റ് ഉപയോഗിച്ച് മാസ്കുകൾ സൃഷ്ടിക്കുന്നതിനും കൈകാര്യം ചെയ്യുന്നതിനും ഉള്ള പ്രക്രിയ ലളിതമാക്കും.
- സെർവർ-സൈഡ് ഇമേജ് മാനിപുലേഷൻ: മാസ്കിംഗ് ഇഫക്റ്റുകൾ പ്രയോഗിക്കുന്നതിന് നിങ്ങൾക്ക് സെർവറിൽ നിങ്ങളുടെ ചിത്രങ്ങൾ മുൻകൂട്ടി പ്രോസസ്സ് ചെയ്യാൻ കഴിയും. ഈ സമീപനം ക്ലയിന്റ്-സൈഡ് പ്രോസസ്സിംഗിന്റെ അളവ് കുറയ്ക്കുന്നു, പക്ഷേ ഇതിന് കൂടുതൽ സെർവർ-സൈഡ് വിഭവങ്ങൾ ആവശ്യമാണ്.
ഉപസംഹാരം
വെബിൽ അതിശയകരമായ വിഷ്വൽ ഇഫക്റ്റുകൾ സൃഷ്ടിക്കുന്നതിനുള്ള ശക്തവും വൈവിധ്യപൂർണ്ണവുമായ ഒരു മാർഗ്ഗമാണ് സിഎസ്എസ് മാസ്ക് പ്രോപ്പർട്ടികൾ. വിവിധ മാസ്ക് പ്രോപ്പർട്ടികളും അവയുടെ ഉപയോഗങ്ങളും മനസ്സിലാക്കുന്നതിലൂടെ, നിങ്ങൾക്ക് ഒരു പുതിയ തലത്തിലുള്ള സർഗ്ഗാത്മകത തുറക്കാനും നിങ്ങളുടെ ഡിസൈനുകൾക്ക് ഒരു പ്രത്യേക ഭംഗി നൽകാനും കഴിയും. ബ്രൗസർ അനുയോജ്യതയും പ്രകടനവും പരിഗണിക്കേണ്ടത് അത്യാവശ്യമാണെങ്കിലും, സിഎസ്എസ് മാസ്കുകൾ ഉപയോഗിക്കുന്നതിന്റെ സാധ്യതകൾ പ്രയത്നത്തിന് തക്ക മൂല്യമുള്ളതാണ്. സിഎസ്എസ് മാസ്കിംഗിന്റെ അനന്തമായ സാധ്യതകൾ കണ്ടെത്താനും നിങ്ങളുടെ വെബ് ഡിസൈനിനെ പുതിയ ഉയരങ്ങളിലേക്ക് ഉയർത്താനും വിവിധ മാസ്ക് ചിത്രങ്ങൾ, ഗ്രേഡിയന്റുകൾ, ആനിമേഷനുകൾ എന്നിവ ഉപയോഗിച്ച് പരീക്ഷിക്കുക. സിഎസ്എസ് മാസ്കുകളുടെ ശക്തി സ്വീകരിക്കുകയും നിങ്ങളുടെ വെബ് പേജുകളെ കാഴ്ചയിൽ ആകർഷകമായ അനുഭവങ്ങളാക്കി മാറ്റുകയും ചെയ്യുക.
സൂക്ഷ്മമായ വെളിപ്പെടുത്തലുകൾ മുതൽ സങ്കീർണ്ണമായ ഷേപ്പ് ഓവർലേകൾ വരെ, അതുല്യവും ആകർഷകവുമായ ഉപയോക്തൃ ഇന്റർഫേസുകൾ നിർമ്മിക്കാൻ സിഎസ്എസ് മാസ്കിംഗ് നിങ്ങളെ പ്രാപ്തരാക്കുന്നു. ബ്രൗസർ പിന്തുണ മെച്ചപ്പെട്ടുകൊണ്ടിരിക്കുന്നതിനാൽ, സിഎസ്എസ് മാസ്കുകൾ ആധുനിക വെബ് ഡെവലപ്പർമാരുടെ ടൂൾകിറ്റിന്റെ കൂടുതൽ അവിഭാജ്യ ഘടകമായി മാറുമെന്നതിൽ സംശയമില്ല. അതിനാൽ, സിഎസ്എസ് മാസ്ക് പ്രോപ്പർട്ടികൾ ഉപയോഗിച്ച് നിങ്ങളുടെ സർഗ്ഗാത്മകത പരീക്ഷിക്കുകയും അഴിച്ചുവിടുകയും ചെയ്യുക!