Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> CSS

CSS3 से इनपुट टेक्स्ट लंबाई सीमित करना

उत्तर

CSS3 से इनपुट टेक्स्ट लंबाई सीमित नहीं की जा सकती। CSS प्रस्तुति (लुक) के लिए है, व्यवहार/कार्यक्षमता के लिए नहीं।

सही तरीका: HTML maxlength एट्रिब्यूट

<!DOCTYPE html>
<html>
<head>
    <title>HTML maxlength एट्रिब्यूट</title>
</head>
<body>
    <form action="">
        छात्र नाम<br>
        <input type="text" name="name" maxlength="20"><br><br>
        <input type="submit" value="सबमिट">
    </form>
</body>
</html>

चित्रण

CSS3 से इनपुट टेक्स्ट लंबाई सीमित करना

अतिरिक्त: JavaScript वैलिडेशन

// रियल-टाइम कैरेक्टर काउंट
const input = document.querySelector('input[maxlength]');
const max = parseInt(input.maxLength, 10);

input.addEventListener('input', () => {
    const remaining = max - input.value.length;
    console.log(`शेष: ${remaining}`);
    
    // विजुअल फीडबैक
    if (remaining < 5) {
        input.style.borderColor = 'orange';
    }
    if (remaining === 0) {
        input.style.borderColor = 'red';
    }
});

क्यों CSS नहीं कर सकता?

  • CSS = प्रस्तुति लेयर (रंग, लेआउट, टाइपोग्राफी)
  • लंबाई सीमा = व्यवहार/वैलिडेशन लेयर
  • संकीर्णता (Separation of Concerns) सिद्धांत

संबंधित CSS (केवल दृश्य)

/* टेक्स्ट ओवरफ्लो विजुअल हैंडलिंग */
input {
    text-overflow: ellipsis;  /* ... दिखाता है जब टेक्स्ट ओवरफ्लो */
    white-space: nowrap;
    overflow: hidden;
}

/* लेकिन यह इनपुट को सीमित नहीं करता - केवल दिखाता है */
  1. HTML में टेक्स्ट राइट-टू-लेफ्ट (RTL) कैसे डिस्प्ले करें? HTML में टेक्स्ट राइट-टू-लेफ्ट (RTL) कैसे डिस्प्ले करें?

    CSS direction प्रॉपर्टी टेक्स्ट को दाएं से बाएं (RTL) प्रदर्शित करने के लिए CSS direction प्रॉपर्टी को style एट्रिब्यूट के साथ उपयोग करें। संभावित मान: क्र.सं.मान और विवरण 1ltrलेफ्ट-टू-राइट (डिफ़ॉल्ट) 2rtlराइट-टू-लेफ्ट (हिंदी, अरबी, उर्दू के लिए) 3initialप्रारंभिक मान उदाहरण <!DOCTYPE html

  1. HTML में इनपुट फ़ील्ड को कैसे सीमित करें? HTML में इनपुट फ़ील्ड को कैसे सीमित करें?

    HTML <input> टैग का उपयोग HTML में उपयोगकर्ता इनपुट प्राप्त करने के लिए किया जाता है। इनपुट फ़ील्ड को सीमित करने के लिए, min और max एट्रिब्यूट्स का उपयोग करें, जो क्रमशः इनपुट फ़ील्ड के लिए न्यूनतम और अधिकतम मान निर्दिष्ट करते हैं।max और min एट्रिब्यूट्स number, range, date, datetime, datetime

  1. HTML में मल्टी-लाइन टेक्स्ट इनपुट (टेक्स्ट एरिया) कैसे बनाएं? HTML में मल्टी-लाइन टेक्स्ट इनपुट (टेक्स्ट एरिया) कैसे बनाएं?

    मल्टी-लाइन टेक्स्ट इनपुट बनाने के लिए, HTML <textarea> टैग का उपयोग करें। आप cols और rows एट्रिब्यूट्स का उपयोग करके टेक्स्ट एरिया का आकार सेट कर सकते हैं। इसका उपयोग फॉर्म के भीतर किया जाता है, ताकि उपयोगकर्ता कई पंक्तियों में टेक्स्ट इनपुट कर सकें।<textarea> टैग के एट्रिब्यूट्सएट्रिब्य