บังคับให้เนื้อหาพอดีกับความกว้างเต็มหลังจากที่แถบด้านข้างยุบ Bootstrap

ฉันกำลังใช้การยุบแถบด้านข้าง Bootstrap ที่อัปเดตในหน้าของฉัน แต่ที่นี่แถบด้านข้างและเนื้อหามีความกว้างคงที่สำหรับทั้งสอง div เนื้อหาหลักไม่ได้ใช้ความกว้างเต็มหลังจากที่ยุบแล้ว

HTML:

<div class="col-md-3 col-xs-1 p-l-0 p-r-0 collapse in" id="sidebar">...</div>

<main class="col-md-9 col-xs-11 p-l-2 p-t-2">...</main>

แต่สิ่งที่ฉันต้องการคือหลังจากที่แถบด้านข้างยุบลงแล้ว เนื้อหาหลักควรจะเต็มความกว้าง

ฉันตรวจสอบสิ่งนี้ และคำถามอื่นๆ สองสามข้อจาก stack overflow แต่ไม่พบสิ่งที่ฉันต้องการ


person G.L.P    schedule 25.01.2018    source แหล่งที่มา
comment
เนื้อหาหลักจะแสดงเต็มความกว้างเมื่อแถบด้านข้างยุบลง นอกจากนี้คุณไม่ได้ใช้โค้ด Bootstrap 4   -  person WebDevBooster    schedule 25.01.2018
comment
Bootstrap 3 และ Bootstrap 4 เข้ากันไม่ได้โดยสิ้นเชิง ดังนั้น คุณต้องตัดสินใจ (ในแท็กของคุณ) ว่าเวอร์ชันนี้เกี่ยวข้องกับเวอร์ชันใด   -  person WebDevBooster    schedule 25.01.2018
comment
ฉันไม่ได้ใช้ bootstrap 4 ที่นี่ แต่ฉันกำลังพยายามย้ายไปยัง bootstrap 4 ในหน้าของฉัน   -  person G.L.P    schedule 25.01.2018
comment
อ๋อ.. ฉันเห็น. แต่นั่นควรจะชัดเจนมากในคำถามของคุณ   -  person WebDevBooster    schedule 25.01.2018
comment
ดังนั้น คุณอาจต้องการแก้ไขคำถามของคุณเพื่อชี้แจงว่าจริงๆ แล้วคุณต้องการอะไร (เพราะ codeply นั้นทำงานได้ดี)   -  person WebDevBooster    schedule 25.01.2018
comment
ฉันอัปเดตการสาธิต codeply เพื่อแสดงความแตกต่างอย่างชัดเจน   -  person G.L.P    schedule 25.01.2018
comment
โปรดแทนที่แท็กคำถามของคุณด้วย bootstrap-4 เนื่องจาก Ahmed ทำการแก้ไขที่ไม่ถูกต้อง   -  person WebDevBooster    schedule 25.01.2018
comment
เพียงอ้างอิงตัวอย่างที่อัปเดตนี้ codeply.com/go/7ihZ0Mffyj   -  person Zim    schedule 27.01.2018
comment
ขอบคุณมาก ZimSystem ฉันจะลองวิธีแก้ปัญหานี้ทันที...   -  person G.L.P    schedule 29.01.2018


คำตอบ (1)


นี่คือสิ่งที่ต้องทำ:

ก่อนอื่นฉันแทนที่ col-xs ที่ล้าสมัยด้วย col จากนั้นฉันก็แทนที่ col-md-9 col-11 ที่เหลือด้วย col เสร็จแล้ว!

สาเหตุที่มันใช้งานได้ก็เพราะว่าคอลัมน์แรกของแถบด้านข้างถูกกำหนดไว้แล้ว col จากนั้นเพียงเติมช่องว่างที่เหลืออยู่ทั้งหมด

นี่คือรหัสการทำงาน:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">

<style>
    #sidebar .list-group-item {
        border-radius: 0;
        background-color: #333;
        color: #ccc;
        border-left: 0;
        border-right: 0;
        border-color: #2c2c2c;
        white-space: nowrap;
    }

    /* highlight active menu */
    #sidebar .list-group-item:not(.collapsed) {
        background-color: #222;
    }

    /* closed state */
    #sidebar .list-group .list-group-item[aria-expanded="false"]::after {
        content: " \f0d7";
        font-family: FontAwesome;
        display: inline;
        text-align: right;
        padding-left: 5px;
    }

    /* open state */
    #sidebar .list-group .list-group-item[aria-expanded="true"] {
        background-color: #222;
    }
    #sidebar .list-group .list-group-item[aria-expanded="true"]::after {
        content: " \f0da";
        font-family: FontAwesome;
        display: inline;
        text-align: right;
        padding-left: 5px;
    }

    /* level 1*/
    #sidebar .list-group .collapse .list-group-item  {
        padding-left: 20px;
    }

    /* level 2*/
    #sidebar .list-group .collapse > .collapse .list-group-item {
        padding-left: 30px;
    }

    /* level 3*/
    #sidebar .list-group .collapse > .collapse > .collapse .list-group-item {
        padding-left: 40px;
    }

    @media (max-width:48em) {
        /* overlay sub levels on small screens */
        #sidebar .list-group .collapse.in, #sidebar .list-group .collapsing {
            position: absolute;
            z-index: 1;
            width: 190px;
        }
        #sidebar .list-group > .list-group-item {
            text-align: center;
            padding: .75rem .5rem;
        }
        /* hide caret icons of top level when collapsed */
        #sidebar .list-group > .list-group-item[aria-expanded="true"]::after,
        #sidebar .list-group > .list-group-item[aria-expanded="false"]::after {
            display:none;
        }
    }

    /* change transition animation to width when entire sidebar is toggled */
    #sidebar.collapse {
        -webkit-transition-timing-function: ease;
        -o-transition-timing-function: ease;
        transition-timing-function: ease;
        -webkit-transition-duration: .2s;
        -o-transition-duration: .2s;
        transition-duration: .2s;
    }

    #sidebar.collapsing {
        opacity: 0.8;
        width: 0;
        -webkit-transition-timing-function: ease-in;
        -o-transition-timing-function: ease-in;
        transition-timing-function: ease-in;
        -webkit-transition-property: width;
        -o-transition-property: width;
        transition-property: width;

    }

    main{
        background-color:green;   
    }
</style>

<div class="container-fluid">
    <div class="row">
        <div class="col-md-3 col-1 pl-0 pr-0 collapse in" id="sidebar">
            <div class="list-group panel">
                <a href="/th#menu1" class="list-group-item collapsed" data-toggle="collapse" data-parent="#sidebar" aria-expanded="false"><i class="fa fa-dashboard"></i> <span class="hidden-sm-down">Item 1</span> </a>
                <div class="collapse" id="menu1">
                    <a href="/th#menu1sub1" class="list-group-item" data-toggle="collapse" aria-expanded="false">Subitem 1 </a>
                    <div class="collapse" id="menu1sub1">
                        <a href="/th#" class="list-group-item" data-parent="#menu1sub1">Subitem 1 a</a>
                        <a href="/th#" class="list-group-item" data-parent="#menu1sub1">Subitem 2 b</a>
                        <a href="/th#menu1sub1sub1" class="list-group-item" data-toggle="collapse" aria-expanded="false">Subitem 3 c </a>
                        <div class="collapse" id="menu1sub1sub1">
                            <a href="/th#" class="list-group-item" data-parent="#menu1sub1sub1">Subitem 3 c.1</a>
                            <a href="/th#" class="list-group-item" data-parent="#menu1sub1sub1">Subitem 3 c.2</a>
                        </div>
                        <a href="/th#" class="list-group-item" data-parent="#menu1sub1">Subitem 4 d</a>
                        <a href="/th#menu1sub1sub2" class="list-group-item" data-toggle="collapse"  aria-expanded="false">Subitem 5 e </a>
                        <div class="collapse" id="menu1sub1sub2">
                            <a href="/th#" class="list-group-item" data-parent="#menu1sub1sub2">Subitem 5 e.1</a>
                            <a href="/th#" class="list-group-item" data-parent="#menu1sub1sub2">Subitem 5 e.2</a>
                        </div>
                    </div>
                    <a href="/th#" class="list-group-item" data-parent="#menu1">Subitem 2</a>
                    <a href="/th#" class="list-group-item" data-parent="#menu1">Subitem 3</a>
                </div>
                <a href="/th#" class="list-group-item collapsed" data-parent="#sidebar"><i class="fa fa-film"></i> <span class="hidden-sm-down">Item 2</span></a>
                <a href="/th#menu3" class="list-group-item collapsed" data-toggle="collapse" data-parent="#sidebar" aria-expanded="false"><i class="fa fa-book"></i> <span class="hidden-sm-down">Item 3 </span></a>
                <div class="collapse" id="menu3">
                    <a href="/th#" class="list-group-item" data-parent="#menu3">3.1</a>
                    <a href="/th#menu3sub2" class="list-group-item" data-toggle="collapse" aria-expanded="false">3.2 </a>
                    <div class="collapse" id="menu3sub2">
                        <a href="/th#" class="list-group-item" data-parent="#menu3sub2">3.2 a</a>
                        <a href="/th#" class="list-group-item" data-parent="#menu3sub2">3.2 b</a>
                        <a href="/th#" class="list-group-item" data-parent="#menu3sub2">3.2 c</a>
                    </div>
                    <a href="/th#" class="list-group-item" data-parent="#menu3">3.3</a>
                </div>
                <a href="/th#" class="list-group-item collapsed" data-parent="#sidebar"><i class="fa fa-heart"></i> <span class="hidden-sm-down">Item 4</span></a>
                <a href="/th#" class="list-group-item collapsed" data-parent="#sidebar"><i class="fa fa-list"></i> <span class="hidden-sm-down">Item 5</span></a>
                <a href="/th#" class="list-group-item collapsed" data-parent="#sidebar"><i class="fa fa-clock-o"></i> <span class="hidden-sm-down">Link</span></a>
                <a href="/th#" class="list-group-item collapsed" data-parent="#sidebar"><i class="fa fa-th"></i> <span class="hidden-sm-down">Link</span></a>
                <a href="/th#" class="list-group-item collapsed" data-parent="#sidebar"><i class="fa fa-gear"></i> <span class="hidden-sm-down">Link</span></a>
                <a href="/th#" class="list-group-item collapsed" data-parent="#sidebar"><i class="fa fa-calendar"></i> <span class="hidden-sm-down">Link</span></a>
                <a href="/th#" class="list-group-item collapsed" data-parent="#sidebar"><i class="fa fa-envelope"></i> <span class="hidden-sm-down">Link</span></a>
                <a href="/th#" class="list-group-item collapsed" data-parent="#sidebar"><i class="fa fa-bar-chart-o"></i> <span class="hidden-sm-down">Link</span></a>
                <a href="/th#" class="list-group-item collapsed" data-parent="#sidebar"><i class="fa fa-star"></i> <span class="hidden-sm-down">Link</span></a>
            </div>
        </div>
        <main class="col pl-2 pt-2">
            <a href="/th#sidebar" data-toggle="collapse"><i class="fa fa-navicon fa-lg"></i></a>
            <hr>
            <div class="page-header">
                <h1>Bootstrap 4 Sidebar Menu</h1>
            </div>
            <p class="lead">A responsive, multi-level vertical accordion.</p>
        </main>
    </div>
</div>

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

person WebDevBooster    schedule 25.01.2018
comment
อ๊ะ ลืมแทนที่ช่องว่างภายในด้วยรหัส Bootstrap 4 ที่ถูกต้อง ตรวจสอบข้อมูลโค้ดที่อัปเดตของฉันทันที (อินสแตนซ์ทั้งหมดของคลาส p-l และ p-r และ p-t ต้องถูกแทนที่ด้วย pl, pr และ pt ตามลำดับ - person WebDevBooster; 25.01.2018
comment
ที่จริงแล้ว pt-2 จะไม่ทำอะไรในกรณีนั้นโดยเฉพาะ ดังนั้น หากคุณต้องการช่องว่างด้านบนเล็กน้อย คุณต้องเพิ่มคลาส pt-2 ลงในแถวแทนที่จะเพิ่มลงในคอลัมน์ (pt-2 หมายถึงการเสริมด้านบน 2 หน่วย) - person WebDevBooster; 25.01.2018