2011-01-04 14 views
8

के साथ क्षैतिज स्क्रॉलिंग मैं सोच रहा था कि div को छवियों के अनुसार क्षैतिज रूप से खींचने और स्क्रॉल करने के लिए अभी भी कोई अच्छा तरीका नहीं है। आखिरकार, यह 2011 है!ओवरफ्लो-एक्स

mega-width चाल करता है, लेकिन छवियों से भरे हुए mega-space खाली छोड़ देता है।
यदि बहुत अधिक भरा हुआ है, तो छवियां प्रदर्शित नहीं होती हैं। JQuery के लिए वही। गुगलिंग के घंटों के बाद नीचे दी गई स्थिति सबसे अच्छी है, लेकिन यह पर्याप्त विश्वसनीय नहीं है।

आपके समय के लिए धन्यवाद।


* { 
    margin:0; 
    padding:0; 
} 

#one { 
    width: 200px;  
    height: 250px; 
    overflow-x: auto; 
    overflow-y: hidden; 
} 

#two { 
    width: 10000em; 
} 

#two img { 
    float: left; 
} 

$(document).ready(function() { 
    var total = 0; 
    $(".calc").each(function() { 
    total += $(this).outerWidth(true); 
    }); 
    $("#two").css('width', total); 
    alert(total); 
}); 
<div id="one"> 
    <div id="two"> 
    <img src="images/testimage3.jpg" width="480" height="192" class="calc"> 
    <img src="images/testimage3.jpg" width="480" height="192" class="calc"> 
    <img src="images/testimage3.jpg" width="480" height="192" class="calc"> 
    <img src="images/testimage3.jpg" width="480" height="192" class="calc"> 
    </div> 
</div> 

उत्तर

17

यह आसान है। छवियों पर display:inline-block और माता-पिता पर white-space:nowrap

संपादित करें: मैं भूल गया कि छवियां डिफ़ॉल्ट इनलाइन से हैं, वैसे भी :) इसका मतलब है कि white-space:nowrap आपको बस चाहिए।

div { 
    overflow-x:scroll; 
    overflow-y:hidden; 
    white-space:nowrap; 
} 

लाइव डेमो:http://jsfiddle.net/U4RsQ/2/

+0

+1, @SIME, लेकिन क्रॉस-ब्राउज़र संगतता के बारे में क्या सोचता हूं? – Starx

+0

@Starx मेरे पास IE के पुराने संस्करण नहीं हैं, लेकिन http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(Cascading_Style_Sheets%29 आईई 6 के अनुसार सफेद-स्थान का समर्थन करता है: अब्रैप। मुझे अतिप्रवाह-एक्स के बारे में पता नहीं है और ओवरफ्लो-वाई, आप (आईई 6 में, वह है) –

+0

आपका पहला उदाहरण मुझे मुस्कुराते हुए पर्याप्त था। – ams

0

Make CSS Div Width Equal To Contents देखें, मुझे लगता है कि खींच लिए। फिर सुपर-विशाल नहीं होने के लिए चौड़ाई को बाधित करने के लिए max-width लागू करें। (और overflow: scroll यदि आवश्यक हो।)

+2

धन्यवाद सब, मैं stackoverflow इतनी अधिक – ams

0

क्या IE8 के साथ मेरे लिए काम किया:

msdn.microsoft.com/en-us/library/cc351024(v=vs.85).aspx

आप निम्नलिखित मेटा शामिल करके सुनिश्चित कर सकते हैं नवीनतम प्रतिपादन के साथ अपने पृष्ठ प्रदर्शित करता है अपने पृष्ठ के मुख्य भाग में टैग करें:

<meta http-equiv="X-UA-Compatible" content="IE=9" /> 

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

  • कोई संबंधित समस्या नहीं^_^