বুটস্ট্র্যাপ সহ স্ক্রোলযোগ্য মেনু - মেনু যখন তার ধারকটি প্রসারিত করা উচিত নয় তখন


138

বুটস্ট্র্যাপের সাহায্যে স্ক্রোলযোগ্য মেনু সক্ষম করার জন্য আমি এই পদ্ধতিটি ( তাদের ফ্রিডল ) চেষ্টা করেছি , তবে এই পদ্ধতির সাহায্যে স্ক্রোলযোগ্য মেনুটি তার ধারক - ফিডল - নন-স্ক্রোলযোগ্য মেনুটি সঠিকভাবে প্রসারিত করে না।

আমি এটা কিভাবে ঠিক করবো? বুটস্ট্র্যাপের সাথে সামঞ্জস্যপূর্ণ অন্যান্য পদ্ধতির পরামর্শগুলিও প্রশংসাযোগ্য!


রেফারেন্সের জন্য, এখানে প্রথম পদ্ধতির ফিডল থেকে এইচটিএমএল রয়েছে:

<ul class="nav">
    <li class="dropdown">
        <a class="icon-key icon-white" data-toggle="dropdown" href="#" style=
        "font-weight: bold"></a>

        <div class="dropdown-menu" style="margin-left: 2em">
            <ul class="dropdown-menu">
                <!-- static non-scrollable menu header 1 -->
            </ul>
        </div>

        <div class="dropdown-menu" style="margin-left: 2em">
            <ul class="dropdown-menu">
                <li class="disabled">
                    <a href="#"><i class="icon-group"></i> <b>My Groups</b></a>
                </li>

                <li>
                    <div class="dropdown-menu scroll-menu scroll-menu-2x"
                    style="margin-left: 2em">
                        <ul class="dropdown-menu scroll-menu scroll-menu-2x">
                            <li>
                                <a href="#">User</a>
                            </li>

                            <li>
                                <a href="#">Administrators</a>
                            </li>

                            <li>
                                <a href="#">Some Other Group</a>
                            </li>
                        </ul>
                    </div>

                    <ul class="dropdown-menu scroll-menu scroll-menu-2x">
                        <!-- Additional menu items omitted for brevity -->
                    </ul>
                </li>
            </ul>
        </div>

        <div class="dropdown-menu" style="margin-left: 2em">
            <ul class="dropdown-menu">
                <!-- static non-scrollable menu header 2 -->
            </ul>
        </div>

        <div class="dropdown-menu" style="margin-left: 2em">
            <ul class="dropdown-menu">
                <li class="disabled">
                    <a href="#"><i class="icon-user"></i> <b>My Roles</b></a>
                </li>

                <li>
                    <div class="dropdown-menu scroll-menu scroll-menu-2x"
                    style="margin-left: 2em">
                        <ul class="dropdown-menu scroll-menu scroll-menu-2x">
                            <li>
                                <a href="#">Core Users</a>
                            </li>

                            <li>
                                <a href="#">Admin</a>
                            </li>

                            <li>
                                <a href="#">Some Other Role</a>
                            </li>
                        </ul>
                    </div>

                    <ul class="dropdown-menu scroll-menu scroll-menu-2x">
                        <!-- Additional menu items omitted for brevity -->
                    </ul>
                </li>
            </ul>
        </div>

        <div class="dropdown-menu" style="margin-left: 2em">
            <ul class="dropdown-menu">
                <!-- static non-scrollable menu footer -->
            </ul>
        </div>

        <ul class="dropdown-menu">
            <li class="disabled">
                <a href="#"><i class="icon-chevron-up pull-left"></i> <i class="icon-chevron-up pull-right"></i></a>
            </li>
        </ul>
    </li>
</ul>

এবং সিএসএস:

/* So we wont impact the original bootstrap menu or it's pseudo call-out
arrow the menu is wrapped in a sub dropdown-menu with a chained scroll-menu */
ul.scroll-menu {
    position:relative;
    display:inherit!important;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    -moz-overflow-scrolling:touch;
    -ms-overflow-scrolling:touch;
    -o-overflow-scrolling:touch;
    overflow-scrolling:touch;
    top:0!important;
    left:0!important;
    width:100%;
    height:auto;
    max-height:500px;
    margin:0;
    border-left:none;
    border-right:none;
    -webkit-border-radius:0!important;
    -moz-border-radius:0!important;
    -ms-border-radius:0!important;
    -o-border-radius:0!important;
    border-radius:0!important;
    -webkit-box-shadow:none;
    -moz-box-shadow:none;
    -ms-box-shadow:none;
    -o-box-shadow:none;
    box-shadow:none
}

1
এটি বুটস্ট্র্যাপ ভি 4 এর জন্যও কাজ করে
Tes3awy

উত্তর:


357

আমি মনে করি আপনি কেবল নিজের বিশেষ স্ক্রোলযোগ্য মেনু শ্রেণিতে প্রয়োজনীয় সিএসএস বৈশিষ্ট্য যুক্ত করে এটি সহজ করতে পারেন ..

সিএসএস:

.scrollable-menu {
    height: auto;
    max-height: 200px;
    overflow-x: hidden;
}

এইচটিএমএল

       <ul class="dropdown-menu scrollable-menu" role="menu">
          <li><a href="#">Action</a></li>
          <li><a href="#">Another action</a></li>
          <li><a href="#">Something else here</a></li>
          <li><a href="#">Action</a></li>
            ..
          <li><a href="#">Action</a></li>
          <li><a href="#">Another action</a></li>
       </ul>

কার্যকারী উদাহরণ: https://www.bootply.com/86116

বুটস্ট্র্যাপ 4

ফ্লেক্সবক্স ব্যবহার করে বুটস্ট্র্যাপ 4 এর আরেকটি উদাহরণ


6
যদি কেউ বুটপ্লাইয়ের উপর প্লানকারকে পছন্দ করেন তবে তা এখানে: plnkr.co/edit/3VhYW1?p=preview
tanguy_k

স্ক্রোলবার কিছু পাঠ্য কেটে দেয়। আমি ভাবছি সবচেয়ে প্রশস্ততম উপায়টি প্রশস্ত আইটেমের জন্য আকার বাড়ানো mod
লিন্টমাউস

ড্রপডাউন মেনুতে স্থির শিরোনাম এবং পাদচরণগুলি চাইলে কী হবে
ইনোভেশন

15
আমি সর্বোচ্চ-উচ্চতা ব্যবহার করেছি: 100% উচ্চতা দিতে 100vh
রব সেডগউইক

খুব মার্জিত এবং সুপার সহজ সমাধান। +1
জিয়ানলুকা ঘেটিনি

49

আপনি ড্রপডাউনটির স্প্যান উপাদানটির অভ্যন্তরে বুটস্ট্র্যাপ 3 -এ বিল্ট-ইন সিএসএস ক্লাস প্রি-স্ক্রোলবল ব্যবহার করতে পারেন এবং এটি কাস্টম সিএসএস প্রয়োগ না করে অবিলম্বে কাজ করে।

 <ul class="dropdown-menu pre-scrollable">
                <li>item 1 </li>
                <li>item 2 </li>

 </ul>

13

সিএসএসের জন্য, আমি খুঁজে পেয়েছি যে ব্রাউজারের ক্রোম দেখানোর সময় মোবাইল ফোনের ল্যান্ডস্কেপ 320 এর জন্য সর্বোচ্চ 180 এর উচ্চতা আরও ভাল।

.scrollable-menu {
    height: auto;
    max-height: 180px;
    overflow-x: hidden;
}

এছাড়াও, দৃশ্যমান স্ক্রোলবারগুলি যুক্ত করতে, এই সিএসএসের কৌশলটি করা উচিত:

.scrollable-menu::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 4px;        
}    
.scrollable-menu::-webkit-scrollbar-thumb {
    border-radius: 3px;
    background-color: lightgray;
    -webkit-box-shadow: 0 0 1px rgba(255,255,255,.75);        
}

পরিবর্তনগুলি এখানে প্রতিফলিত হয়েছে: https://www.bootply.com/BhkCKFEELL


1

উল ট্যাগের ইনলাইনে সবকিছু করুন

<ul class="dropdown-menu scrollable-menu" role="menu" style="height: auto;max-height: 200px; overflow-x: hidden;">
                <li><a href="#">Action</a></li>
                <li><a href="#">Another action</a></li>
                <li><a href="#">Something else here</a></li>
                <li><a href="#">Action</a></li>
                ..
                <li><a href="#">Action</a></li>
                <li><a href="#">Another action</a></li>
            </ul>

1

আমি আমার প্রকল্পে এই সমস্যাটি ঠিক করেছি-

সিএসএস কোড

.scroll-menu{
   min-width: 220px;
   max-height: 90vh;
   overflow: auto;
 }

এইচটিএমএল কোড

<ul class="dropdown-menu scroll-menu" role="menu">
   <li><a href="#">Action</a></li>
   <li><a href="#">Another action</a></li>
   <li><a href="#">Something else here</a></li>
   <li><a href="#">Action</a></li>
   ..
   <li><a href="#">Action</a></li>
   <li><a href="#">Another action</a></li>
</ul>

0

আমি আশা করি এই কোডটি ভালভাবে কাজ করেছে, এটি চেষ্টা করে দেখুন।

সিএসএস ফাইল যুক্ত করুন।

.scrollbar {
    height: auto;
    max-height: 180px;
    overflow-x: hidden;
}

এইচটিএমএল কোড:

<div class="col-sm-2  scrollable-menu" role="menu">
    <div>
   <ul>
  <li><a class="active" href="#home">Tutorials</a></li>
  <li><a href="#news">News</a></li>
  <li><a href="#contact">Contact</a></li>
  <li><a href="#about">About</a></li>
  <li><a href="#news">News</a></li>
  <li><a href="#contact">Contact</a></li>
  <li><a href="#about">About</a></li>
  <li><a href="#news">News</a></li>
  <li><a href="#contact">Contact</a></li>
  <li><a href="#about">About</a></li>
  <li><a href="#news">News</a></li>
  <li><a href="#contact">Contact</a></li>
  <li><a href="#about">About</a></li>
  <li><a href="#news">News</a></li>
  <li><a href="#contact">Contact</a></li>
  <li><a href="#about">About</a></li>

    </ul>
   </div>
   </div>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.