2013-10-17 5 views
7

बनाता है मैं following fiddle है, ध्यान दें कि यदि आप उत्पादन की चौड़ाई बनाने छोटी छवि ऊपर कवर किया जाता है और कोई स्क्रॉल बार प्रकट - एकदम सही है। सही नहीं -नकारात्मक margin-left ठीक काम करता है, नकारात्मक मार्जिन-सही स्क्रॉलबार

अगर मैं attempt the same effect on the right, मैं एक क्षैतिज स्क्रॉलबार मिलता है।

मैं लेख पर overflow: hidden के बारे में पता है, लेकिन है कि देखो मैं के लिए जा रहा हूँ को बर्बाद होगा। मैंने relative positioning के साथ भी कोशिश की लेकिन उसने टेक्स्ट को लपेट नहीं लिया (हालांकि यह नहीं कहना कि टेक्स्ट रैप बनाना असंभव है)।

किसी को भी पता है कि मुझे लगता है मैं क्या चाहते हैं मिल सकता है?

<article> 
    <h1>Lorem ipsum dolor</h1> 

    <img src="http://lorempixel.com/500/300" class="right" /> 

    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet diam in neque venenatis semper et et dui. Nam risus ante, condimentum id neque ac, faucibus molestie purus. Pellentesque viverra ultrices lacus, sed vulputate diam lobortis fermentum.</p> 
    <p>Sed tincidunt tortor in lectus imperdiet bibendum. Nullam pellentesque commodo lacus, eget consequat erat convallis ut. Donec scelerisque urna urna, at aliquam nulla sagittis eu. Proin sit amet sagittis est. Phasellus tempor orci sem, id facilisis nibh tincidunt non.</p> 

    <h2>Sit amet</h2> 

    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet diam in neque venenatis semper et et dui. Nam risus ante, condimentum id neque ac, faucibus molestie purus. Pellentesque viverra ultrices lacus, sed vulputate diam lobortis fermentum.</p>  
    <p>Sed tincidunt tortor in lectus imperdiet bibendum. Nullam pellentesque commodo lacus, eget consequat erat convallis ut. Donec scelerisque urna urna, at aliquam nulla sagittis eu. Proin sit amet sagittis est. Phasellus tempor orci sem, id facilisis nibh tincidunt non.</p> 
</article> 

सीएसएस

article { 
    margin: 0 auto; 
    max-width: 500px; 
} 

img.left { 
    margin: 0 20px 20px -300px; 
    float: left; 
} 

img.right { 
    margin: 0 -300px 20px 20px; 
    float: right; 
} 

उत्तर

10

व्यवहार आप देख रहे हैं के लिए कारण यह है कि क्षैतिज अतिप्रवाह केवल जहां से सामग्री शुरू होता है विपरीत किनारे से जगह लेता है। सामग्री की दिशा अधिकांश भाषाओं में एलटीआर है, इसलिए बाएं से शुरू होने पर, किसी भी बहती हुई सामग्री दाएं तरफ से बहती है। नकारात्मक मार्जिन के मामले में, बाएं किनारे से बाहर एक तत्व खींचने से तत्व के उस हिस्से को पूरी तरह से क्लिप किया जाता है, जबकि दाएं किनारे से बाहर खींचते समय वास्तव में इसके कंटेनर के प्रभावी सामग्री क्षेत्र का विस्तार होता है, जिससे अतिप्रवाह होता है।

आप क्या चाहते हैं, apply hidden overflow to the body instead of the article इसलिए सामग्री भी शरीर बह निकला, क्षैतिज स्क्रॉलबार में जिसके परिणामस्वरूप बनाया जा रहा बिना लेख overflows प्राप्त करने के लिए। overflow के बजाय overflow-x उपयोग करें ताकि आप अपनी सामग्री के लिए खड़ी स्क्रॉलबार खोना नहीं है सुनिश्चित करें:

body { 
    overflow-x: hidden; 
} 

आप स्क्रॉल पूरी तरह से के रूप में सिर्फ स्क्रॉलबार छुपा के लिए विरोध को रोकने के लिए की जरूरत है, तो आप अतिप्रवाह लागू करना होगा दोनों html, body करने के साथ-साथ दिखाया गया है here, डिफ़ॉल्ट शरीर मार्जिन से छुटकारा पाने:

html, body { 
    overflow-x: hidden; 
} 

body { 
    margin: 0; 
} 
+0

हम्म, निश्चित रूप से सही लाइनों। [मेरा अद्यतन फीडल देखें] (http://jsfiddle.net/MrChris2013/XbWQ3/7/)। समस्या मुझे मिल गई है, अगर मैं मध्य-माउस प्रेस करता हूं तो भी मैं क्षैतिज रूप से स्थानांतरित कर सकता हूं। अपने विचार का उपयोग करते हुए मैं '' एक आवरण में लिपटे गए

और उस [काम करने के लिए लगता है] (http://jsfiddle.net/MrChris2013/XbWQ3/6/), अगर वहाँ एक समाधान ये नही किया वास्तव में पर था अच्छा हालांकि अतिरिक्त मार्कअप। – Chris

+0

@Chris निकोल्सन: दरअसल, 'अतिप्रवाह: hidden' स्क्रॉल निष्क्रिय नहीं होती * दर असल *, इतना के रूप में बस स्क्रॉलबार, जहां वे उत्पन्न होगा छुपा। लेकिन मुझे लगता है कि यह किसी और चीज का नतीजा है, 'एचटीएमएल' और 'बॉडी' पर स्क्रॉलबार कैसे प्रबंधित किए जाते हैं (इस विशेष मामले पर चर्चा [spec] (http://www.w3.org/TR /CSS21/visufx.html))। आप वास्तव में अतिरिक्त मार्कअप का उपयोग किए बिना ऐसा कर सकते हैं - मुझे अपना जवाब संपादित करने दें। – BoltClock

+0

अरे, यह फ़ायरफ़ॉक्स में काम करता प्रतीत होता है, लेकिन क्रोम अभी भी मुझे स्क्रॉल करने देता है (मध्य माउस फिर से), क्या आप किसी भी मौके से एक ही चीज़ देखते हैं? – Chris

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