2012-06-22 11 views
13

मैं overflow-x:hidden और overflow-y:visible के साथ एक शीर्षक तत्व होना चाहता हूं। हालांकि, किसी कारण से overflow-y संपत्ति का पालन नहीं किया जा रहा है। आप यहाँ इस अवलोकन कर सकते हैं (Chrome और Firefox पर परीक्षण): http://jsfiddle.net/YgsAw/3/ओवरफ्लो-एक्स क्यों है: छुपे हुए क्लिप मेरे वंशज?

कि डेमो में, मैं "jjjjj" देखने की उम्मीद है, लेकिन बजाय जे के काट और अधिक 1 के देखो कर रहे हैं।

अगर मैं overflow-x:visible को h1 टैग पर सेट करता हूं तो अचानक पाठ की पूरी ऊंचाई दिखाई दे रही है, लेकिन overflow-x:hidden सेटिंग इसे बंद कर देती है। मैं overflow-y से इस व्यवहार की अपेक्षा करता हूं, लेकिन ऐसा कोई प्रभाव नहीं पड़ता है। यह क्यों है, और मैं इसके बारे में क्या कर सकता हूं?

+1

मेरा कामकाज कंटेनर के नीचे अतिरिक्त अतिरिक्त पैडिंग जोड़ना था। – Qaz

+1

@Qaz इस तरह का फिक्स काम करता है --- और हकीकत में ये सभी चीजें हैं जो हम सब काम करने के लिए करते हैं --- लेकिन यह मेरी संवेदनशीलताओं को गहराई से परेशान करता है। कितना पैडिंग, बिल्कुल, मुझे * निश्चित * होने की आवश्यकता है * हर प्लेटफॉर्म पर सबकुछ दिखाई देगा? क्या वह पैडिंग मेरे लेआउट को प्रभावित करेगी और इसे बदसूरत कर देगी? विचार करने के लिए ट्रेडऑफ हैं। अंत में मैंने स्वीकार किए गए उत्तर के नीचे सुझाए गए हैक का चयन किया, जो अतिरिक्त HTML नोड्स जोड़ता है लेकिन तत्व ऊंचाई पर सटीक नियंत्रण बनाए रखता है और गारंटी लंबवत अतिप्रवाह हमेशा दिखाई देगा। – Calvin

उत्तर

6

मुझे previous question में कुछ जवाब मिले। the specs के अनुसार: सिवाय इसके कि visible साथ कुछ संयोजनों संभव नहीं हैं

overflow-x और overflow-y की गणना मूल्यों, उनके निर्दिष्ट मानों के रूप में ही कर रहे हैं: अगर एक visible के रूप में निर्दिष्ट किया जाता है और अन्य scroll या auto, तो है visibleauto पर सेट है। overflow का गणना मूल्य overflow-x के गणना मूल्य के बराबर है यदि overflow-y समान है; अन्यथा यह overflow-x और overflow-y के गणना मूल्यों की जोड़ी है।

इसके अलावा, this page पर लेखक कहा गया है कि कई ब्राउज़रों अतिरिक्त प्रतिबंध लगा:

छिपकली, सफारी, ओपेरा में, 'दृश्य' 'ऑटो' भी जब 'छुपा' के साथ संयुक्त हो जाता है (अन्य में शब्द: 'दृश्यमान' 'ऑटो' बन जाता है जब किसी अन्य चीज़ के साथ 'दृश्यमान' से अलग होता है)।

वही पृष्ठ सभी संभावित संयोजनों के लिए डेमो भी प्रदान करता है जहां यह प्रभाव देखा जा सकता है।

मुझे मेरी स्थिति के लिए व्यवहार्य समाधान के बारे में पता नहीं है।

संपादित

मैं बहुत मैं एक और टैग में मेरी शीर्षक टैग घोंसले बनाने के जो मैं चाहता क्या कर सकते हैं यकीन है: <div><h1>title</h1></div>। आंतरिक h1 में line-height:normal है जो सबकुछ लंबवत रूप से दिखाई देने के साथ-साथ overflow:hidden को छोटा करने के लिए बनाता है। बाहरी तत्व में सख्ती से सीमित ऊंचाई और overflow:visible हो सकता है। यह आदर्श नहीं है, लेकिन यह सबसे अच्छा विकल्प लगता है।

+0

यह सब कुछ मुझे मिल सकता था लेकिन यह आपके प्रश्न के लिए प्रासंगिक नहीं है - दूसरी तरफ मुझे किसी भी UA-विशिष्ट व्यवहार से अवगत नहीं था, और ऐसा लगता है कि सिर पर नाखून सही है। दरअसल, आपकी स्थिति के लिए कोई व्यवहार्य काम नहीं लगता है। यह ध्यान रखना दिलचस्प है कि, आप अपने 'एच 1' पर ध्यान केंद्रित कर सकते हैं और अवरोधकों को देखने के लिए इसे स्क्रॉल कर सकते हैं :) ('दृश्यमान' के अलावा 'ओवरफ्लो' स्क्रॉलिंग से कुछ नहीं रोकता है; यह केवल दृश्य क्लिपिंग का कारण बनता है) – BoltClock

2

यह एक इनलाइन तत्व में एच 1 तत्व को बदलने आप इच्छित परिणाम प्राप्त कर सकेंगे लगता है:

h1 { 
    margin: 10px; 
    padding: 0;   
    overflow-x: hidden; 
    overflow-y: visible; 
    line-height: 0.5em; 
    display:inline; 
} 

बस सुनिश्चित करें कि निम्नलिखित तत्व एक ब्लॉक तत्व है तो यह एक ही पंक्ति में शुरू नहीं करता है सुनिश्चित करें। वह सही रेखा-ऊंचाई का उपयोग करें और फिर नकारात्मक मार्जिन का उपयोग करें। आखिरकार, मैं केवल अनुमान लगा सकता हूं कि आप क्या करने की कोशिश कर रहे हैं ... शुभकामनाएँ!

+1

मुझे लगता है कि ऐसा इसलिए है क्योंकि इनलाइन तत्व अतिप्रवाह संपत्ति का पालन नहीं करते हैं। यह उनके लिए कोई समझ नहीं आता है। दुर्भाग्यवश यह मेरे लिए काम नहीं करेगा। लक्ष्य 'व्हाइट-स्पेस: नाइट्रैप' और 'टेक्स्ट-ओवरफ्लो: इलिप्सिस' का उपयोग करना है ताकि शीर्षक बहुत कम हो तो शीर्षक कम हो जाए। मुझे नहीं लगता कि मैं इसे इनलाइन तत्व के लिए ठीक से काम करने के लिए प्राप्त कर सकता हूं। – Calvin

+0

@ कैल्विन: हाँ, यह सही है। मैंने बस कल्पना की समीक्षा की, जो कहता है [यह केवल ब्लॉक कंटेनरों पर लागू होता है] (http://www.w3.org/TR/css3-box/#overflow) (इसमें इनलाइन ब्लॉक शामिल हैं)। – BoltClock

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