जावास्क्रिप्ट के साथ HTML फॉर्म एलिमेंट्स को गतिशील रूप से स्टाइल करना उपयोगकर्ता अनुभव को बढ़ाने और दृष्टिगत रूप से आकर्षक वेब पेज बनाने का एक शक्तिशाली तरीका प्रदान करता है। यह उपयोगकर्ता इनपुट, पृष्ठ स्थिति, या अन्य गतिशील घटनाओं के आधार पर शैली परिवर्तन की अनुमति देता है। यह गाइड इसे प्राप्त करने के विभिन्न तरीकों का पता लगाता है।
विषयसूची
- व्यक्तिगत फॉर्म एलिमेंट्स को स्टाइल करना
- क्लास नाम द्वारा एलिमेंट्स को स्टाइल करना
- टैग नाम द्वारा एलिमेंट्स को स्टाइल करना
- फॉर्म एलिमेंट्स को स्टाइल करने के लिए सर्वोत्तम अभ्यास
व्यक्तिगत फॉर्म एलिमेंट्स को स्टाइल करना
सबसे सीधा तरीका किसी एलिमेंट की ID का उपयोग करके उसकी स्टाइल प्रॉपर्टीज़ तक पहुँचना शामिल है। यह व्यक्तिगत एलिमेंट्स पर सटीक नियंत्रण प्रदान करता है। इस HTML पर विचार करें:
<form>
<input type="text" id="myInputField">
<button type="submit" id="submitButton">सबमिट करें</button>
</form>
आप जावास्क्रिप्ट का उपयोग करके इन एलिमेंट्स को इस प्रकार स्टाइल कर सकते हैं:
const inputField = document.getElementById("myInputField");
inputField.style.backgroundColor = "lightblue";
inputField.style.border = "2px solid green";
inputField.style.padding = "10px";
const submitButton = document.getElementById("submitButton");
submitButton.style.backgroundColor = "lightcoral";
submitButton.style.color = "white";
submitButton.style.cursor = "pointer";
यह कोड स्निपेट ID द्वारा एलिमेंट्स को लक्षित करता है और उनके CSS गुणों को संशोधित करता है। याद रखें कि जावास्क्रिप्ट में CSS गुणों के लिए कैमल केस का उपयोग किया जाता है (जैसे, `backgroundColor` `background-color` के बजाय)।
क्लास नाम द्वारा एलिमेंट्स को स्टाइल करना
कई एलिमेंट्स में लगातार स्टाइलिंग के लिए, क्लास नामों का उपयोग करें। यह रखरखाव और पुन: प्रयोज्यता में सुधार करता है। यहाँ एक उदाहरण दिया गया है:
<form>
<input type="text" class="form-control">
<input type="email" class="form-control">
<button type="submit" class="form-control submit-button">सबमिट करें</button>
</form>
`querySelectorAll` का उपयोग करना (दक्षता के लिए बेहतर):
const formControls = document.querySelectorAll(".form-control");
formControls.forEach(element => {
element.style.width = "200px";
element.style.padding = "8px";
element.style.border = "1px solid #ccc";
});
document.querySelector(".submit-button").style.backgroundColor = "#4CAF50";
यह “form-control” क्लास वाले सभी एलिमेंट्स पर कुशलतापूर्वक स्टाइल लागू करता है। जैसा कि सबमिट बटन के लिए दिखाया गया है, अतिरिक्त क्लास वाले एलिमेंट्स में विशिष्ट स्टाइल जोड़े जा सकते हैं।
टैग नाम द्वारा एलिमेंट्स को स्टाइल करना
हालांकि कम सटीक, टैग नाम द्वारा लक्ष्यीकरण उपयोगी हो सकता है। उदाहरण के लिए, किसी फॉर्म के भीतर सभी इनपुट एलिमेंट्स को स्टाइल करने के लिए:
const formInputs = document.querySelectorAll("form input"); // केवल फॉर्म के भीतर इनपुट को लक्षित करता है
formInputs.forEach(input => {
input.style.fontSize = "16px";
});
यह कोड स्निपेट फॉर्म के भीतर सभी इनपुट एलिमेंट्स के फ़ॉन्ट आकार को संशोधित करता है। बेहतर नियंत्रण के लिए अधिक विशिष्ट चयनकर्ता के साथ `querySelectorAll` का उपयोग करने की अनुशंसा की जाती है।
फॉर्म एलिमेंट्स को स्टाइल करने के लिए सर्वोत्तम अभ्यास
जब भी संभव हो, स्टाइलिंग के लिए CSS क्लासों का उपयोग करने को प्राथमिकता दें। यह रखरखाव, पुन: प्रयोज्यता और चिंताओं के पृथक्करण को बढ़ावा देता है। जावास्क्रिप्ट के माध्यम से इनलाइन शैलियों में सीधे हेरफेर का उपयोग कम ही किया जाना चाहिए, आमतौर पर गतिशील, घटना-संचालित शैली परिवर्तनों के लिए।
अपनी स्टाइलशीट के अधिक उन्नत स्टाइलिंग और कुशल प्रबंधन के लिए CSS फ़्रेमवर्क या प्रीप्रोसेसर (जैसे Sass या Less) के उपयोग पर विचार करें।