2013-09-03 6 views
11

enter image description hereस्थिति का उपयोग करना: जबकि यह दस्तावेज़ अंदर रखने प्रवाह

यह एक पेज से एक स्क्रीनशॉट वर्तमान में मैं निर्माण कर रहा हूँ है निरपेक्ष। मैं यह सुनिश्चित करने की कोशिश कर रहा हूं कि हरे रंग का बटन हमेशा कंटेनर के नीचे होता है। यहाँ कोड का एक टुकड़ा है:

एचटीएमएल

<div class="list-product-pat"> 
    <article> 

    <!-- title, image, spec ... --> 

    <div class="pricing-pat"> 

    <!-- the button goes here --> 

    </div> 
    </article> 
</div> 

सीएसएस

.list-product-pat article { 
    position: relative; 
    min-height: 260px; 
} 

.list-product-pat .pricing-pat { 
    position: absolute; 
    bottom: 0; 
    width: 100%; 
} 

अब तक वहाँ कोई समस्या नहीं है ... जब तक उत्पाद कल्पना बहुत लंबा है और यह हो जाता है हरे रंग के बटन में टूट जाता है।

enter image description here

मैं सबसे नीचे की स्थिति में हरे बटन बनाए रखना चाहते हैं, लेकिन एक ही समय में मैं भी उत्पाद शीर्षक/उत्पाद कल्पना बहुत लंबा हो जाता है, तो ऊंचाई का विस्तार करना चाहते हैं।

enter image description here

तो मेरा विचार पूर्ण स्थिति बनाए रखने के लिए, जबकि अभी भी दस्तावेज़ प्रवाह के अंदर रखते हुए (ताकि उत्पाद कल्पना हरी जानता है:

आदर्श दुनिया में, यह कुछ इस तरह होना चाहिए बटन वहां है और इसके माध्यम से नहीं टूटता है)।

मुझे का विस्तार करने की आवश्यकता है यदि स्पेक ऊंचाई बहुत अधिक हो जाती है। दूसरे शब्दों में, यदि कल्पना सामान्य ऊंचाई में है, तो यह हद तक नहीं होगा। मैं a weird gap between the spec and the green button से बचना चाहता हूं।

क्या कोई विचार है कि इसे कैसे किया जाए?

यहाँ कैसे मैंने किया देखने के लिए एक बेला है:http://jsfiddle.net/xaliber/xrb5U/

+12

ओएमजी! मेरे विज्ञापन-अवरोधक के साथ क्या गलत है ... आह, स्क्रीन शॉट। –

+1

डुप्लिकेट: http://stackoverflow.com/questions/16155003/constant-row-hight – cimmanon

उत्तर

4

जोड़ना position:absolute यह दस्तावेज़ प्रवाह से बाहर ले जाता है, वहाँ यह में रखने के लिए कोई रास्ता नहीं है। लेकिन आप को article कंटेनर पर बटन की ऊंचाई के बराबर जोड़ सकते हैं, जो बटन को ओवरराइज़ करने वाले लंबे टेक्स्ट को रोक देगा।

.list-product-pat article { 
    position: relative; 
    min-height: 260px; 
    padding-bottom:80px; 
    -moz-box-sizing:border-box; 
    box-sizing:border-box; 
} 

http://jsfiddle.net/xrb5U/3/

एक अलग मुद्दा यह है कि ग्रंथों के विभिन्न राशि के साथ दो कंटेनरों अलग आकार होगा (अगर एक मिनट-ऊंचाई सेट से बड़ा है) है। सीएसएस पोजीशनिंग में इसके लिए कोई आसान फिक्स नहीं है, आपको उन सभी की ऊंचाई बनाए रखने के लिए जावास्क्रिप्ट, फ्लेक्सबॉक्स या display:table-cell का सहारा लेना होगा, लेकिन उनमें से प्रत्येक के पास भी अपने स्वयं के मुद्दे हैं।

+0

मैंने इसके बारे में सोचा; मैंने बटन की ऊंचाई के साथ 'लेख' की 'न्यूनतम-ऊंचाई' जोड़ने का भी विचार किया। लेकिन इस तरह से डालने से अजीब (बहुत लंबा) दिखाई देगा जब स्पेस सामान्य ऊंचाई में है (स्पेक और हरे रंग के बटन के बीच एक बड़ा अंतर होगा)।:/ – deathlock

+0

यही है "बॉक्स आकार: सीमा-बॉक्स;" बिट के लिए है;) इसमें आपकी न्यूनतम ऊंचाई के अंदर पैडिंग शामिल है, इसलिए यदि टेक्स्ट छोटा है तो बटन और टेक्स्ट के बीच की दूरी सामान्य है - कोई बड़ी जगह नहीं है। – mikel

+0

आप इसे अपने जेएसफिड पर देख सकते हैं - यहां तक ​​कि पैडिंग-तल के साथ, बाएं सबसे अधिक "लेख" आपके जेएसफ़ील्ड जैसा ही ऊंचाई है। – mikel

संबंधित मुद्दे