2013-01-23 17 views
14

काटने से नीचे ड्रॉप डाउन मैं एक परियोजना में अपने टिप्पणी अनुभाग में एक ड्रॉपडाउन सेटिंग मेनू जोड़ने की कोशिश कर रहा हूं जिस पर मैं काम कर रहा हूं।बूटस्ट्रैप

ड्रॉपडाउन मेनू खुद को काट रहा है और मुझे यकीन नहीं है कि यह मामला क्यों है।

मैंने overflow:visible and z-index:999 की कोशिश की। लेकिन उनमें से कोई भी काम नहीं कर रहा है।

यह इस बुनियादी कोड है कि मैं कोशिश कर रहा हूँ

<div class="media"> 
    <a class="pull-left" href="/user/{{shared_scribble.scribble.user.username}}/"><img class="media-object" src="/img.png/"></a> 
    <div class="dropdown pull-right"> 
     <a class="btn dropdown-toggle" data-toggle="dropdown" href="#" style="font-size:10px;padding: 4px 8px;"> 
      <b data-icon="&#xe001;"></b> <b class="caret"></b> 
     </a> 
     <ul class="dropdown-menu"> 
      <li><a href="#"><i class="icon-pencil"></i> Edit</a></li> 
      <li><a href="#"><i class="icon-trash"></i> Delete</a></li> 
      <li><a href="#"><i class="icon-ban-circle"></i> Ban</a></li> 
      <li class="divider"></li> 
      <li><a href="#"><i class="i"></i> Make admin</a></li> 
     </ul> 
    </div> 
    <div class="media-body"> 
     <h4 class="media-heading"><a class="username" href="/user/hi/">Test User</h4> 
     <p> 
      Main body of the comment 
     </p> 
    </div> 
</div> 

को लागू करना है एक बुनियादी टिप्पणी ब्लॉक कि मैं

में एक लटकती शामिल करने के लिए कोशिश कर रहा हूँ है और यह है कि मेरे लटकती मेनू घूम रहा है बाहर

ScreenShot

मीडिया सीएसएस होने की

.media, 
.media-body { 
    overflow: hidden; 
    *overflow: visible; 
    zoom: 1; 
} 
.media, 
.media .media { 
    margin-top: 15px; 
} 
.media:first-child { 
    margin-top: 0; 
} 
.media-object { 
    display: block; 
} 
.media-heading { 
    margin: 0 0 5px; 
} 
.media .pull-left { 
    margin-right: 10px; 
} 
.media .pull-right { 
    margin-left: 10px; 
} 
.media-list { 
    margin-left: 0; 
    list-style: none; 
} 
+0

जहाँ आपके सीएसएस है पाया? – sandeep

+0

@ संदीप मैंने मीडिया सीएसएस के साथ-साथ – Jonathan

उत्तर

15

जांचें कि मीडिया क्लास में overflow:hidden है या नहीं। यदि ऐसा है, तो इसे overflow: auto या overflow: visible से बदलें।

+1

कुछ मामलों में 'ओवरफ्लो: छुपा' डिजाइन से संबंधित आवश्यक है, @ निक पेरेज़ उत्तर उन मामलों में मदद कर सकता है। –

+0

@ रॉयशोआ से सहमत हैं, यह अक्सर संभव नहीं है।यहां कामकाज मिला: https://stackoverflow.com/questions/31829312/bootstrap-dropdown-clipped-by-overflowhidden-container-how-to-change-the-conta –

7

लिखें इस तरह:

.media, 
.media-body { 
    overflow: visible; 
} 

.media:after, 
.media-body:after{ 
content:''; 
clear:both; 
display:block; 
} 

हो सकता है कि आप मदद है।

1

नई विधि:

बस मीडिया कक्षा से बाहर ड्रॉप डाउन मेनू लाने के लिए और एक नकारात्मक मार्जिन का उपयोग करें:

<div class="dropdown pull-right" style="margin-left:-30px"> 
    ... 
</div> 

<div class="media"> 
    ... 
</div> 
15

यह मेनू के रूप में एक आदर्श समाधान लक्ष्य तत्व के साथ स्क्रॉल नहीं होंगे नहीं है, लेकिन मैं एक अंतिम उपाय के रूप में एक स्क्रॉल डेटा तालिका के लिए यह कर रहा हूँ जब तक मैं एक विकल्प मिल सकते हैं:

(function() {            
    var dropdownMenu;          
    $(window).on('show.bs.dropdown', function(e) {   
    dropdownMenu = $(e.target).find('.dropdown-menu'); 
    $('body').append(dropdownMenu.detach());   
    dropdownMenu.css('display', 'block');    
    dropdownMenu.position({       
     'my': 'right top',        
     'at': 'right bottom',       
     'of': $(e.relatedTarget)      
    })             
    });             
    $(window).on('hide.bs.dropdown', function(e) {   
    $(e.target).append(dropdownMenu.detach());   
    dropdownMenu.hide();        
    });             
})();     

यह शरीर के लिए मेनू संलग्न करें और यह साफ छिपाने पर होगा। मैं स्थिति के लिए jquery UI का उपयोग कर रहा हूं लेकिन यदि आप भारी निर्भरता को जोड़ना नहीं चाहते हैं तो आप नियमित jquery स्थिति के साथ इसे प्रतिस्थापित कर सकते हैं। यदि आप केवल ड्रॉपडाउन के सीमित चयन में ऐसा करना चाहते हैं तो आप $(window).on को भी बदलना चाहेंगे।

+0

उत्तर के लिए धन्यवाद निक .. मेरे लिए अच्छा काम किया । मेरे पास अदृश्यता ओवरफ्लो (आवश्यक निश्चित ऊंचाई/चौड़ाई) को बदलने में सक्षम होने वाली लक्जरी नहीं थी – Bashar

+0

तालिका स्क्रॉल को संभालने के लिए अपडेट किए गए इस उत्तर को भी देखना अच्छा लगेगा –

+0

अच्छा काम करता है, धन्यवाद! बस 'दाएं' से 'बाएं' को 'मेरे' पर रखें: 'बाएं शीर्ष', 'at': 'left bottom' 'अन्यथा मेनू गलत दिशा में खुल जाएगा। –

0

इसे अक्सर प्राप्त परियोजनाओं पर प्राप्त करें; एक से एक माता-पिता होने

अतिप्रवाह तत्वों का मामला हो जाता है: छिपा

एक बार मैं इस यह उम्मीद के रूप में काम करने लगता है निकाल सकते हैं (जब तक आपके डिजाइन इस संपत्ति पर भरोसा नहीं है)।

2

मुझे एक ही समस्या थी। इस लाइनों को जोड़ने के बाद, मेरे लटकती काम बस के रूप में मैं उम्मीद:

@media (max-width: 767px) { 
    .table-responsive .dropdown-menu { 
     position: static !important; 
    } 
} 

@media (min-width: 768px) { 
    .table-responsive { 
     overflow: visible; 
    } 
} 

मैं समाधान here

+0

धन्यवाद! यह डेस्कटॉप और टैबलेट पर काम करता था, लेकिन आईफोन 6+ पर पोजिशनिंग थोड़ी सी बेकार थी, मैंने स्थिति को टिप्पणी करने के लिए अधिकतम चौड़ाई 767 पीएक्स बदल दिया और बाएं इस्तेमाल किया: -100 पीएक्स; ... हाँ, हैकी, लेकिन यह काम करता है। –

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