HTML அட்டவணைகளில் CSS ஹோவர் சவால்களை சமாளித்தல்
HTML அட்டவணைகளுடன் பணிபுரிவது ஒரு புதிராக உணரலாம், குறிப்பாக நீங்கள் அவற்றை ஊடாடச் செய்ய முயற்சிக்கும்போது. CSS ஹோவர் விளைவுகளுடன் வரிசைகளை டைனமிக் முறையில் ஹைலைட் செய்வது ஒரு பொதுவான தேவை, ஆனால் வரிசைகள் பல கலங்களில் விரியும் போது விஷயங்கள் தந்திரமாக இருக்கும். 🤔
குழுக்கள் மற்றும் பயனர்களுடன் சர்வர் தரவைக் குறிக்கும் அட்டவணை உங்களிடம் இருப்பதாக கற்பனை செய்து பாருங்கள். எளிமையான வரிசைகளுக்கு, ஹோவர் விளைவுகள் எதிர்பார்த்தபடி செயல்படக்கூடும். ஆனால் அட்டவணையில் உள்ள சர்வர்எக்ஸ் போன்ற பல கலங்களை வரிசைகள் விரியும் போது நடத்தை சீரற்றதாக மாறும். வரிசைக் குழு முழுவதையும் படலத்தில் பார்வைக்கு வேறுபடுத்துவதே உங்கள் இலக்காக இருக்கும்போது இது வெறுப்பாக இருக்கும்.
எனது சமீபத்திய திட்டங்களில் ஒன்றில், இதே போன்ற சிக்கலை எதிர்கொண்டேன். ServerA போன்ற எளிமையான உள்ளீடுகளுக்கு அட்டவணை சரியாகச் செயல்பட்டது, ஆனால் நான் ServerX க்கு வந்ததும், மிதவை விளைவு ஓரளவு மட்டுமே வேலை செய்தது. முற்றிலும் மாறுபட்ட பின்னணி வண்ணங்கள் தேவைப்படும் ServerC போன்ற வரிசைகள் சவாலைச் சேர்த்தன. CSS என்னை பாதி தீர்வுகளுடன் கிண்டல் செய்வது போல் உணர்ந்தேன். 😅
தேவையான இடங்களில் CSS மற்றும் JavaScript ஐப் பயன்படுத்தி, இந்தச் சிக்கல்களை எவ்வாறு சரிசெய்வது என்பதை இந்த வழிகாட்டி ஆராயும். நீங்கள் உங்கள் டேபிளை டைனமிக் முறையில் உருவாக்கினாலும் (நான் PowerShell ஐப் போலவே) அல்லது நிலையான HTML இல் பணிபுரிந்தாலும், இந்த உதவிக்குறிப்புகள் நிலையான மற்றும் பார்வைக்கு ஈர்க்கும் அட்டவணை தொடர்புகளை உருவாக்க உதவும்.
கட்டளை | பயன்பாட்டின் உதாரணம் | |
---|---|---|
row.addEventListener('mouseover', callback) | மவுஸ் அதன் மீது வட்டமிடும்போது, ஒரு கால்பேக் செயல்பாட்டைச் செயல்படுத்த, அட்டவணை வரிசையில் நிகழ்வு கேட்பவரைச் சேர்க்கிறது. ஜாவாஸ்கிரிப்டில் ஹோவர் எஃபெக்ட்களை டைனமிக் முறையில் பயன்படுத்துவதற்கு இது அவசியம். | |
getAttribute('data-group') | தனிப்பயன் தரவு-குழு பண்புக்கூறின் மதிப்பை மீட்டெடுக்கிறது, இது ஹோவர் ஹைலைட் செய்வதற்கு தொடர்புடைய வரிசைகளைக் குழுவாக்கப் பயன்படுகிறது. | |
querySelectorAll('tr[data-group="${group}"]') | ஒரு குறிப்பிட்ட தரவு-குழு பண்புக்கூறு மதிப்புடன் அனைத்து அட்டவணை வரிசைகளையும் தேர்ந்தெடுக்கிறது. இது நிலையான மிதவை விளைவுகளுக்கு குழுவான வரிசைகளை குறிவைக்க உதவுகிறது. | |
find('td').css('background-color') | தேர்ந்தெடுக்கப்பட்ட வரிசையில் உள்ள அனைத்து | உறுப்புகளையும் கண்டறிந்து பின்புல வண்ணத்தைப் பயன்படுத்தும் jQuery முறை. குழுவான கலங்களுக்கான ஸ்டைலிங்கை எளிதாக்குகிறது. |
rowspan="N" | பல வரிசைகளில் ஒரு கலத்தை விரிவுபடுத்தும் அட்டவணை சார்ந்த HTML பண்புக்கூறு. அட்டவணை அமைப்பில் தொடர்புடைய வரிசைகளை பார்வைக்கு குழுவாக்கப் பயன்படுகிறது. | |
:hover | ஒரு உறுப்பின் மீது பயனர் வட்டமிடும்போது பாணிகளைப் பயன்படுத்துவதற்குப் பயன்படுத்தப்படும் CSS போலி-வகுப்பு. பின்னணி வண்ண மாற்றங்களைத் தூண்டுவதற்கு இது தூய CSS தீர்வில் பயன்படுத்தப்படுகிறது. | |
border-collapse: collapse; | டேபிள் கலங்களின் எல்லைகளை ஒன்றிணைக்கும் CSS சொத்து, தூய்மையான மற்றும் அதிக ஒத்திசைவான அட்டவணை அமைப்பை உருவாக்குகிறது. | |
$('table tr').hover() | ஹோவர் நிகழ்வுகளை அட்டவணை வரிசைகளுடன் இணைக்கும் jQuery செயல்பாடு. ஊடாடும் நடத்தைக்கான மவுஸ்ஓவர் மற்றும் மவுஸ்அவுட் நிகழ்வுகள் இரண்டையும் கையாளுவதை இது எளிதாக்குகிறது. | |
document.querySelectorAll() | CSS தேர்வியின் அடிப்படையில் பல DOM உறுப்புகளைத் தேர்ந்தெடுப்பதற்கான JavaScript முறை. நிகழ்வு பிணைப்புக்காக அட்டவணையில் உள்ள அனைத்து வரிசைகளையும் குறிவைக்கப் பயன்படுகிறது. | |
style.backgroundColor | ஒரு உறுப்பின் பின்னணி நிறத்தை நேரடியாக அமைப்பதற்கான JavaScript சொத்து. இது அட்டவணை வரிசைகளின் துல்லியமான டைனமிக் ஸ்டைலை அனுமதிக்கிறது. |
வரிசையை முன்னிலைப்படுத்துவதற்கான ஸ்கிரிப்ட்களைப் புரிந்துகொள்வது
அட்டவணை வரிசைகளில் மிதவை விளைவுகளை உருவாக்க முதல் ஸ்கிரிப்ட் தூய CSS ஐப் பயன்படுத்துகிறது. இதைப் பயன்படுத்தி அடையப்படுகிறது : மிதவை போலி-வகுப்பு, பயனர் ஒரு உறுப்பு மீது வட்டமிடும்போது ஒரு பாணியைப் பயன்படுத்துகிறது. இதை வரிசைகளுக்குப் பயன்படுத்துவதன் மூலம், அவற்றின் பின்னணி நிறத்தை மாறும் வகையில் மாற்றலாம். இந்த முறை இலகுரக மற்றும் எளிமையானது என்றாலும், இது நிலையான கட்டமைப்புகளுக்கு மட்டுமே. எடுத்துக்காட்டாக, சர்வர்எக்ஸ் போன்ற பல வரிசை இடைவெளியில், மார்க்அப்பில் வெளிப்படையாகத் தொகுக்கப்படாவிட்டால், CSS மட்டும் தொடர்புடைய வரிசைகளை முன்னிலைப்படுத்த முடியாது. இது நேரடியான நிகழ்வுகளுக்கு அடிப்படை ஆனால் பயனுள்ள தேர்வாக அமைகிறது. 😊
இரண்டாவது ஸ்கிரிப்ட் வெனிலா ஜாவாஸ்கிரிப்டை மாறும் வகையில் குழுவாக்க மற்றும் வரிசைகளை முன்னிலைப்படுத்த பயன்படுத்துகிறது. இணைப்பதன் மூலம் நிகழ்வு கேட்போர் mouseover மற்றும் mouseout நிகழ்வுகளுக்கு, ஸ்கிரிப்ட் போன்ற தனிப்பயன் பண்புகளைப் பயன்படுத்தி தொடர்புடைய வரிசைகளை அடையாளம் காட்டுகிறது தரவு குழு. பயனர் ஒரு வரிசையின் மேல் வட்டமிடும்போது, ஒரே குழுவைக் கொண்ட அனைத்து வரிசைகளும் இலக்கு வைக்கப்பட்டு பாணியில் இருக்கும். இந்த அணுகுமுறை நெகிழ்வுத்தன்மையை வழங்குகிறது, மேலும் ஸ்கிரிப்டை மிகவும் சிக்கலான காட்சிகளுக்கு மாற்றியமைக்க அனுமதிக்கிறது. எடுத்துக்காட்டாக, சர்வர்எக்ஸ் மற்றும் சர்வர்சி வரிசைகளை சீரான சிறப்பம்சத்திற்காக ஒன்றாக தொகுக்கலாம். இந்த முறை தனிப்பயனாக்கம் மற்றும் செயல்திறன் சமநிலையை வழங்குகிறது.
மூன்றாவது ஸ்கிரிப்ட் ஒருங்கிணைக்கிறது jQuery, சுருக்கமான தொடரியல் மூலம் வரிசையை முன்னிலைப்படுத்தும் செயல்முறையை எளிதாக்குகிறது. ஹோவர் செயல்பாட்டைப் பயன்படுத்தி, இது மவுஸ்ஓவர் மற்றும் மவுஸ்அவுட் நிகழ்வுகளை அட்டவணை வரிசைகளுடன் பிணைக்கிறது. ஸ்கிரிப்ட் டைனமிக் முறையில் தொகுக்கப்பட்ட வரிசைகளில் உள்ள கலங்களுக்கு பாணிகளைப் பயன்படுத்துவதன் மூலம் பயன்படுத்துகிறது .find() முறை. DOM சிக்கலான திட்டங்களுக்கு இது மிகவும் பயனுள்ளதாக இருக்கும், ஏனெனில் jQuery இன் சுருக்கமான தொடரியல் தேவையான குறியீட்டின் அளவைக் குறைக்கிறது. உங்கள் பவர்ஷெல் ஸ்கிரிப்டைப் போலவே, அட்டவணை மாறும் வகையில் உருவாக்கப்படும் சூழ்நிலைகளில், இந்த அணுகுமுறை திறமையானது மற்றும் செயல்படுத்த எளிதானது. 🚀
இந்த தீர்வுகள் ஒவ்வொன்றும் பல்வேறு சிக்கலான நிலைகளை எதிர்கொள்ளும் வகையில் வடிவமைக்கப்பட்டுள்ளன. நிலையான வடிவமைப்புகளுக்கு CSS நன்றாக வேலை செய்யும் போது, ஜாவாஸ்கிரிப்ட் மற்றும் jQuery ஆகியவை மேம்பட்ட தேவைகளுக்கு மாறும் மற்றும் அளவிடக்கூடிய தீர்வுகளை வழங்குகின்றன. உங்கள் அட்டவணை அமைப்பு அடிக்கடி மாறினால் அல்லது மாறும் வகையில் உருவாக்கப்பட்டால், JavaScript மற்றும் jQuery தீர்வுகள் சிறந்தவை. அவை பல்வேறு குழு விதிகளுக்கு ஏற்ப நெகிழ்வுத்தன்மையை வழங்குகின்றன, சர்வர்எக்ஸ் மற்றும் சர்வர்சி போன்ற வரிசைகள் திட்டமிட்டபடி செயல்படுவதை உறுதி செய்கிறது. சிக்கலான தன்மையைப் பொருட்படுத்தாமல், உங்கள் அட்டவணைகள் ஊடாடும் மற்றும் பார்வைக்கு ஒத்திசைந்து இருப்பதை இந்த பல்துறை உறுதி செய்கிறது.
தீர்வு 1: தூய CSS உடன் அட்டவணை வரிசைகளை முன்னிலைப்படுத்தவும்
இந்த தீர்வு, ஹோவர் விளைவுகளுடன் வரிசையை உயர்த்தி செயல்படுத்த முற்றிலும் CSS அடிப்படையிலான அணுகுமுறையைப் பயன்படுத்துகிறது. இது எளிமையானது, ஆனால் மிகவும் சிக்கலான நிகழ்வுகளுக்கு வரம்புகள் உள்ளன.
<style>
table {
border-collapse: collapse;
width: 70%;
margin: auto;
text-align: left;
}
th, td {
border: 1px solid black;
padding: 8px;
}
.highlight-group:hover td {
background-color: coral;
}
</style>
<table>
<tr class="highlight-group">
<td rowspan="1">ServerA</td>
<td>Acct A1</td>
<td>9 users</td>
</tr>
</table>
தீர்வு 2: ஜாவாஸ்கிரிப்ட் மூலம் டைனமிக் ஹைலைட்டிங்
இந்த தீர்வு ஜாவாஸ்கிரிப்டை ஒருங்கிணைத்து, வரிசையை முன்னிலைப்படுத்துவதற்கான வகுப்புகளை மாறும் வகையில் சேர்க்கிறது, இது சிக்கலான தேவைகளுக்கு நெகிழ்வுத்தன்மையை உறுதி செய்கிறது.
<script>
document.querySelectorAll('table tr').forEach(row => {
row.addEventListener('mouseover', () => {
const group = row.getAttribute('data-group');
document.querySelectorAll(`tr[data-group="${group}"] td`).forEach(cell => {
cell.style.backgroundColor = 'coral';
});
});
row.addEventListener('mouseout', () => {
const group = row.getAttribute('data-group');
document.querySelectorAll(`tr[data-group="${group}"] td`).forEach(cell => {
cell.style.backgroundColor = '';
});
});
});
</script>
<table>
<tr data-group="ServerA">
<td rowspan="1">ServerA</td>
<td>Acct A1</td>
<td>9 users</td>
</tr>
</table>
தீர்வு 3: எளிமைப்படுத்தப்பட்ட கையாளுதலுக்கு jQuery ஐப் பயன்படுத்துதல்
இந்த அணுகுமுறை சுருக்கமான DOM கையாளுதல் மற்றும் நிகழ்வு கையாளுதலுக்காக jQuery ஐ மேம்படுத்துகிறது, இது சிக்கலான மிதவை விளைவுகளை நிர்வகிப்பதை எளிதாக்குகிறது.
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
$('table tr').hover(function() {
let group = $(this).data('group');
$(`tr[data-group="${group}"]`).find('td').css('background-color', 'coral');
}, function() {
let group = $(this).data('group');
$(`tr[data-group="${group}"]`).find('td').css('background-color', '');
});
});
</script>
<table>
<tr data-group="ServerA">
<td rowspan="1">ServerA</td>
<td>Acct A1</td>
<td>9 users</td>
</tr>
</table>
விரிவடையும் டேபிள் ஹோவர் செயல்பாடு: மேம்பட்ட நுட்பங்கள்
டைனமிக் மற்றும் இன்டராக்டிவ் டேபிள்களை உருவாக்கும் போது, துல்லியமான மிதவை விளைவுகளை அடைவதற்கு பெரும்பாலும் மேம்பட்ட அம்சங்களை ஆராய வேண்டியிருக்கும். போன்ற தனிப்பயன் பண்புகளைப் பயன்படுத்துவது அத்தகைய ஒரு நுட்பமாகும் தரவு-* பண்புக்கூறுகள் தர்க்கரீதியாக வரிசைகளை தொகுக்க. ஒரு குறிப்பிட்ட சேவையகக் குழுவுடன் தொடர்புடைய அனைத்து வரிசைகளையும் முன்னிலைப்படுத்துவது போன்ற நுணுக்கமான நடத்தைகளை இது அனுமதிக்கிறது. உதாரணமாக, சர்வர்எக்ஸில் ஹோவர் எஃபெக்டைப் பயன்படுத்துவது "Acct X1" மற்றும் "Acct X2" வரிசைகள் இரண்டையும் முன்னிலைப்படுத்தலாம், இது ஒரு சுத்தமான பயனர் அனுபவத்தை வழங்குகிறது. இந்த பண்புக்கூறுகளைப் பயன்படுத்துவது அட்டவணையை மாறும் மற்றும் எளிதாக நிர்வகிக்கிறது.
கருத்தில் கொள்ள வேண்டிய மற்றொரு அம்சம் உலாவி இணக்கத்தன்மை மற்றும் பதிலளிக்கக்கூடியது. அடிப்படை CSS ஹோவர் விளைவுகள் உலகளவில் வேலை செய்யும் போது, ஜாவாஸ்கிரிப்ட் சேர்ப்பது மிகவும் வலுவான தீர்வை உறுதி செய்கிறது. பவர்ஷெல் போன்ற ஸ்கிரிப்டுகள் மூலம் உருவாக்கப்பட்டவை போன்ற மாறும் வகையில் உருவாக்கப்படும் அட்டவணைகளுக்கு இது மிகவும் முக்கியமானது. ஜாவாஸ்கிரிப்ட் நிகழ்வுகளை நிரல் முறையில் கையாளும் திறன், போன்ற சுட்டி ஓவர் மற்றும் மவுஸ்அவுட், விரும்பிய செயல்பாடு அனைத்து சூழல்களிலும் சீரானதாக இருப்பதை உறுதி செய்கிறது. ஜாவாஸ்கிரிப்ட் ஆதரிக்கப்படாவிட்டால், இந்த முறை அழகான சிதைவையும் அனுமதிக்கிறது. 🌐
மேம்பட்ட பயன்பாட்டு நிகழ்வுகளுக்கு, jQuery அல்லது Bootstrap போன்ற கட்டமைப்புகளை இணைப்பது வளர்ச்சியை சீராக்கலாம். jQuery போன்ற நூலகங்கள் குறியீட்டின் சிக்கலைக் குறைக்கின்றன, பெரிய தரவுத்தொகுப்புகளில் இடைவினைகளை நிர்வகிப்பதை எளிதாக்குகிறது. உதாரணமாக, பயன்படுத்தி .hover() jQuery இல் நிகழ்வு கையாளுதலை எளிதாக்குகிறது, குறிப்பாக சிக்கலான வரிசைக் குழுவை உள்ளடக்கிய காட்சிகளில். இந்த நூலகங்கள் மிகவும் ஊடாடும் அட்டவணைகளை உருவாக்குவதற்கு முன்பே கட்டமைக்கப்பட்ட கருவிகளை வழங்குகின்றன, அவை பார்வைக்கு ஈர்க்கும் மற்றும் பயனர் நட்புடன் இருப்பதை உறுதி செய்கிறது. இந்த அணுகுமுறைகளை இணைப்பதன் மூலம், நீங்கள் செயல்பாட்டு மற்றும் பார்வைக்கு ஈர்க்கக்கூடிய அட்டவணைகளை உருவாக்கலாம். 🚀
மேம்பட்ட டேபிள் ஹோவர் விளைவுகள் பற்றி அடிக்கடி கேட்கப்படும் கேள்விகள்
- ஒரு அட்டவணையில் பல வரிசைகளை எவ்வாறு முன்னிலைப்படுத்துவது?
- போன்ற தனிப்பயன் பண்புகளைப் பயன்படுத்தவும் data-group தொடர்புடைய வரிசைகளை குழுவாக்க மற்றும் நிரல் ரீதியாக ஹோவர் விளைவுகளைப் பயன்படுத்தவும்.
- இதை CSS மூலம் மட்டும் என்னால் அடைய முடியுமா?
- CSS பயன்படுத்தும் எளிய காட்சிகளுக்கு வேலை செய்கிறது :hover, ஆனால் சிக்கலான குழுவிற்கு பொதுவாக ஜாவாஸ்கிரிப்ட் தேவைப்படுகிறது.
- ஒவ்வொரு குழுவிற்கும் வெவ்வேறு வண்ணங்களை நான் விரும்பினால் என்ன செய்வது?
- குழு பண்புக்கூறுகள் அல்லது மதிப்புகளின் அடிப்படையில் தனித்துவமான பாணிகளை மாறும் வகையில் ஒதுக்க JavaScript ஐப் பயன்படுத்தலாம்.
- இந்தப் பணிக்காக jQuery மற்றும் JavaScript ஆகியவை ஒன்றுக்கொன்று மாறக்கூடியதா?
- ஆம், ஆனால் jQuery தொடரியலை எளிதாக்குகிறது மற்றும் கொதிகலன் குறியீட்டைக் குறைக்கிறது, இது விரைவாக செயல்படுத்துகிறது.
- மொபைல் சாதனங்களில் இது செயல்படுவதை உறுதி செய்வது எப்படி?
- உங்கள் டேபிள் தளவமைப்பு பதிலளிக்கக்கூடியதாக இருப்பதை உறுதிசெய்து, சோதனை ஹோவர் மாற்றுகளை சோதிக்கவும் touchstart சிறந்த பொருந்தக்கூடிய நிகழ்வுகள்.
டேபிள் இன்டராக்டிவிட்டியை மேம்படுத்துதல்: முக்கிய எடுத்துச் செல்லுதல்கள்
டைனமிக் மற்றும் ஊடாடும் அட்டவணைகளை உருவாக்குவது பயனர் அனுபவத்தை மேம்படுத்துவதற்கு முக்கியமானது. போன்ற கருவிகளைப் பயன்படுத்துதல் ஜாவாஸ்கிரிப்ட் மற்றும் தருக்கக் குழுவாக்கம், ServerX அல்லது ServerC போன்ற சிக்கலான கட்டமைப்புகள் கூட நிலையான மிதவை விளைவுகளைக் காண்பிக்கும். இந்த முறைகள் ஆரம்பநிலைக்கு கூட நெகிழ்வுத்தன்மையையும் பயன்பாட்டின் எளிமையையும் உறுதி செய்கின்றன. 😊
பயன்படுத்துவது போன்ற மேம்பட்ட அணுகுமுறைகளை ஏற்றுக்கொள்வது தரவு பண்புக்கூறுகள் அல்லது jQuery, அளவிடக்கூடிய மற்றும் பதிலளிக்கக்கூடிய வடிவமைப்புகளை அனுமதிக்கிறது. அட்டவணைகளை மாறும் வகையில் உருவாக்கினாலும் அல்லது நிலையான பக்கங்களுடன் பணிபுரிந்தாலும், இந்த நுட்பங்கள் வரிசைகளை முன்னிலைப்படுத்துவதற்கான வலுவான தீர்வை வழங்குகின்றன, செயல்பாடு மற்றும் அழகியல் இரண்டையும் அதிகரிக்கின்றன.
ஆதாரங்கள் மற்றும் குறிப்புகள்
- CSS ஹோவர் விளைவுகள் மற்றும் அட்டவணை வடிவமைப்பு பற்றிய விரிவான நுண்ணறிவுகளுக்கு, பார்வையிடவும் MDN Web Docs - CSS : hover .
- JavaScript இல் நிகழ்வுகளைக் கையாள்வது பற்றி மேலும் அறிய, பார்க்கவும் MDN Web Docs - addEventListener .
- jQuery ஹோவர் செயல்பாட்டிற்கு, அதிகாரப்பூர்வ ஆவணத்தைப் பார்க்கவும் jQuery API - மிதவை .
- வலை அட்டவணை உருவாக்கத்திற்கான பவர்ஷெல் ஸ்கிரிப்டிங்கை ஆராயவும் Microsoft Learn - PowerShell .