ठीक है यह सही पाने के लिए असंभव प्रतीत होता है। मेरे पास एक टेक्स्ट बॉक्स और एक चयन बॉक्स है। मैं चाहता हूं कि वे ठीक उसी चौड़ाई के हों, ताकि वे बाएं मार्जिन और दाएं मार्जिन पर लाइन अप करें।
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
input, select {
width: 200px;
}
</style>
</head>
<body>
<input type="text" value="ABC"><br>
<select>
<option>123</option>
</select>
</body>
</html>
क्या आपको लगता है कि यह सही होगा? नहीं। चयन बॉक्स फ़ायरफ़ॉक्स में 6px छोटा है। स्क्रीनशॉट देखें।
ठीक है तो कोड को संपादित करने और दो शैलियों बनाने की सुविधा देता है।
<style type="text/css">
input {
width: 200px;
}
select {
width: 206px;
}
</style>
ठीक है कि काम करता है!
ओह रुको, क्रोम में बेहतर परीक्षा ...
क्या कोई मुझे बता सकता है कि इन सभी ब्राउज़रों में कैसे लाइन अप करें? मैं केवल चौड़ाई क्यों नहीं कर सकता: 200px सभी पर, सभी ब्राउज़र इसे अलग तरीके से क्यों प्रदर्शित करते हैं? इसके अलावा जब हम इस पर होते हैं तो टेक्स्ट बॉक्स और बॉक्स का चयन अलग-अलग ऊंचाइयों पर क्यों होता है? हम उन्हें एक ही ऊंचाई पर कैसे पहुंचाएं? ऊँचाई और लाइन-ऊँचाई का कोई फायदा नहीं हुआ।
उपाय:
ठीक है, मैंने नीचे दिए गए उत्तरों से कुछ मदद के साथ समाधान पाया है। कुंजी बॉक्स-आकार का उपयोग करना है : सीमा-बॉक्स संपत्ति जब आप उस सीमा को निर्दिष्ट करते हैं जिसमें सीमा और गद्दी शामिल हैं। उत्कृष्ट विवरण यहाँ देखें । तब ब्राउज़र इसे भर नहीं सकता।
कोड नीचे है, बक्सों की ऊंचाई को भी उसी आकार में सेट किया है और बॉक्स के अंदर पाठ को इंडेंट किया है ताकि यह ऊपर की ओर बढ़े। आपको बॉर्डर सेट करने की भी आवश्यकता है क्योंकि क्रोम में बहुत ही अजीब दिखने वाली बॉर्डर है जो इसे चुनिंदा बॉक्स के लिए उपयोग करता है जो कि संरेखण को बाहर कर देगा। यह HTML5 साइटों (जैसे IE9, फ़ायरफ़ॉक्स, क्रोम, सफारी, ओपेरा आदि का समर्थन करने) के लिए काम करेगा।
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
input, select {
width: 200px;
border: 1px solid #000;
padding: 0;
margin: 0;
height: 22px;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
input {
text-indent: 4px;
}
</style>
</head>
<body>
<input type="text" value="ABC"><br>
<select>
<option>123</option>
<option>123456789 123123123123</option>
<option>123456789 123123123123 134213721381212</option>
</select>
</body>
</html>
केवल एक अंतिम चेतावनी आप इनपुट बटन, चेकबॉक्स आदि को इस स्टाइल में शामिल नहीं करना चाह सकते हैं, इसलिए input:not([type='button'])
इसे कुछ प्रकारों पर लागू नहीं करने के लिए उपयोग करें या input[type='text'], input[type='password']
उन लोगों को निर्दिष्ट करने के लिए उपयोग करें जिन्हें आप इसे लागू करना चाहते हैं।