2011-06-21 11 views
5

की चौड़ाई में एक बटन खींचने के लिए कैसे मैं एक कॉलम की चौड़ाई फैलाने की कोशिश कर रहा हूं।कॉलम

उदा। यहां: http://davidnhutch.com। ध्यान दें कि हल्के भूरे रंग के बटन केवल उनके पाठ के रूप में बड़े होते हैं? मैं चाहता हूं कि प्रत्येक बटन उस कॉलम की चौड़ाई को फैलाए, लेकिन मेरे जीवन के लिए यह नहीं पता कि यह कैसे किया जाए। मैंने चारों ओर देखकर काफी कुछ किया है लेकिन अभी भी इसके लिए नया हूं।

कोई विचार?

उत्तर

17

आप उन्हें ब्लॉक तत्वों एक चौड़ाई सेट करने में सक्षम होना करना होगा:

.button { 
    display: block; 
    width: 100%; 
} 
+2

+1 - हाँ यह बेहतर काम करता है ... –

0

width:100% जोड़ना .button के लिए केंद्र और पृष्ठ के तल पर सही बटन के लिए काम करने के लिए लगता है।

+0

ऐसा इसलिए है क्योंकि उनके पास एक अतिरिक्त कक्षा है, 'राइट', जो उन्हें तैरती है और उन्हें ब्लॉक-स्तर तत्वों में परिवर्तित करती है। – jeroen

+0

@jeroen - तो एक तत्व फ़्लोटिंग स्वचालित रूप से इसे ब्लॉक-स्तर तत्व में परिवर्तित करता है? क्या यह सभी ब्राउज़रों में सच है? दिलचस्प ... –

+0

आप इनलाइन-तत्व कैसे फ़्लोट करेंगे? आप इसे कहां रखेंगे? और इसका आकार क्या है? यदि आप इन सवालों के बारे में कुछ सोचते हैं, तो यह सब समझ में आता है। – Pindatjuh

1

आम तौर पर, इन बटनों को तथाकथित "इनलाइन तत्व" कहा जाता है। ब्राउज़र रेंडरर में इन तत्वों को लेआउट करने के बहुत जटिल एल्गोरिदम हैं। यह Typesetting जैसा है लेकिन इसके बजाय आपकी स्क्रीन पर ऑब्जेक्ट्स के साथ।

सीएसएस और एचटीएमएल एक साथ प्रभाव डालता है कि एल्गोरिदम कैसे काम करता है: वस्तुओं की चौड़ाई और ऊंचाई, रंग इत्यादि का निर्धारण करना। इसके अलावा उनकी स्थिति और पाठ कैसे बहता है, या कितने लंबे बटन हैं।

हालांकि, एक सीमा है। आप इनलाइन तत्वों के लिए एक चर चौड़ाई की तरह कुछ भी उपयोग नहीं कर सकते हैं।

width: 100%; display: block जोड़कर अन्य सुझाव दिए गए हैं कि कुछ बटन सही हैं: लेकिन केवल जब वे युक्त बॉक्स के बाएं या दाएं ओर शुरू होते हैं। यदि यह एक वाक्य के बाद है, तो यह (चाहिए) प्रदर्शन के रूप में:

<---width of container---> 
Text 
<----------button--------> 

हालांकि, बटन नहीं "पाठ" के बाद अब और है, लेकिन यह नीचे डाल दिया है। ऐसा इसलिए है क्योंकि अब यह एक तथाकथित "ब्लॉक तत्व" है। यह टेक्स्ट लाइन में तत्वों के बजाय, पूर्ण अनुच्छेद की तरह है।

यदि आप यही चाहते हैं; ठीक है और समस्या हल हो गई है। यदि यह नहीं है कि आप क्या चाहते, और बदले हैं:

<---width of container---> 
Text <-------button------> 

यह संभव नहीं है। सीसीएस 4 ठंडा होगा अगर यह inline-width: 100% या inline-height जोड़ता है, और कई समस्याएं हल करता है। हालांकि सीएसएस 4 अभी तक मौजूद नहीं है।

+0

आप हमेशा एक टेबल का उपयोग कर सकते हैं ;-) – jeroen

+0

बिलकुल नहीं। अलग-अलग ऑपरेटिंग सिस्टम पर अलग-अलग सेटिंग्स पर आम तौर पर टेक्स्ट का अलग-अलग आकार होता है: अंतिम पंक्ति को विभाजित किया जाना चाहिए और एक टेबल में रखा जाना चाहिए। हालांकि, यह क्रॉस-प्लेटफ़ॉर्म और क्रॉस-ब्राउज़र संगत होने के लिए निश्चित रूप से नहीं किया जा सकता है: वेब * कुछ * इन दिनों होना चाहिए। इसलिए "संभव नहीं"। – Pindatjuh

+0

खैर, मैं सिर्फ मजाक कर रहा था, लेकिन पहले कॉलम पर 'अब्रैप' का उपयोग करके, दूसरी ओर '99%' चौड़ाई और बटन पर '100%' चौड़ाई बस काम कर सकती है। लेकिन मैं इसे आजमाने की कोशिश नहीं कर रहा हूं ... – jeroen