質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.78%

bootstrap flexの幅指定が効かない

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 177

score 24

前提・実現したいこと

bootstrapのflexを用いて、横並びの実装をしているのですが、1つのcolのみ、幅指定が効きません。
幅を大きくしたい要素は、全ソースコードのうち、下記の部分となるのですが、col-2col-3にして、rowの中が全部で12になるよう他の要素を小さく設定しても、幅が大きくなりません。

<div class="row col-2 custom-control custom-switch custom-switch-radio-position switch-btn">
          <input type="checkbox" class="custom-control-input col-4" id="customSwitch1"data-toggle="collapse" data-target="#collapseExample" aria-expanded="true"aria-controls="collapseExample">
          <label class="custom-control-label text-left font-1 col-8" for="customSwitch1">検索ボタン</label>
</div>


(下記全ソースコードの一番はじめのcolです。)

全ソースコード

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
        integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

<section id="search">
            <form class="id=" action="/projects" accept-charset="UTF-8" method="get">
                <div class="container-fluid">
                    <div class="row search-content">
                        <div class="row col-2 custom-control custom-switch custom-switch-radio-position switch-btn">
                              <input type="checkbox" class="custom-control-input col-4" id="customSwitch1"
                                  data-toggle="collapse" data-target="#collapseExample" aria-expanded="true"
                                  aria-controls="collapseExample">
                              <label class="custom-control-label text-left font-1 col-8" for="customSwitch1">検索ボタン</label>
                          </div>
                        <div class="col-1">
                            <div class="form-group row">
                                <label
                                    class="badge badge-secondary border border-2 border-secondary rounded-0 col-form-label col-5 font-1 color-1 d-flex align-items-center justify-content-center">作成日</label>
                                <select name="sort" id="sort"
                                    class="border border-2 border-secondary rounded-0 form-control form-control-sm col-7 font-1">
                                    <option value="">全て</option>
                                    <option value="created_at ASC" data-name="sort1">作成日 (昇順)</option>
                                    <option value="created_at DESC" data-name="sort3">作成日 (降順)</option>
                                </select>
                            </div>
                        </div>
                        <div class="col-2">
                            <div class="form-group row">
                                <label
                                    class="badge badge-secondary border border-2 border-secondary rounded-0 col-form-label col-5 font-1 color-1 rounded-0 align-middle d-flex align-items-center justify-content-center">作業種別</label>
                                <select
                                    class="form-control form-control-sm col-7 font-1 border border-2 border-secondary rounded-0"
                                    name="">
                                    <option value="">全て</option>
                                    <option value="0">時間</option>
                                </select>
                            </div>
                        </div>
                        <div class="col-2">
                            <div class="form-group row">
                                <label
                                    class="badge badge-secondary border border-2 border-secondary rounded-0 col-form-label col-5 font-1 color-1 rounded-0 align-middle d-flex align-items-center justify-content-center">期限</label>
                                <select
                                    class="form-control form-control-sm col-7 font-1 border border-2 border-secondary rounded-0"
                                    name="">
                                    <option value="">全て</option>
                                </select>
                            </div>
                        </div>
                        <div class="col-2">
                            <div class="form-group row">
                                <label
                                    class="badge badge-secondary border border-2 border-secondary rounded-0 col-form-label col-5 font-1 color-1 rounded-0 d-flex align-items-center justify-content-center">Status</label>
                                <select
                                    class="form-control form-control-sm col-7 font-1 border border-2 border-secondary rounded-0"
                                    name="" id="">
                                    <option value="">全て</option>
                                    <option value="0">準備中</option>
                                    <option value="1">作業中</option>
                                    <option value="2">納品済</option>
                                    <option value="3">保留中</option>
                                </select>
                            </div>
                        </div>
                        <div class="col-2">
                            <div class="form-group row">
                                <label
                                    class="badge badge-secondary border border-secondary rounded-0 col-form-label col-5 font-1 color-1 rounded-0 d-flex align-items-center justify-content-center">納品日</label>
                                <select
                                    class="form-control form-control-sm col-7 font-1 border border-2 border-secondary rounded-0"
                                    name="">
                                    <option value="">全て</option>
                                </select>
                            </div>
                        </div>
                        <div class="show-button-submit col-1" style="display: flex;">
                            <button type="submit"
                                class="btn btn-secondary font-1 border border-2 border-secondary rounded-3"
                                style="height: 34px">検索</button>
                        </div>
                    </div>   
                </div>
            </form>
        </section>
/* 検索ボタン */
.custom-switch {
    padding-left: 2.25rem;
}

.switch-btn {
    max-width: 8% !important;
    padding-left: 3rem;
}

.custom-switch {
    padding-left: 4rem;
}

.custom-control {
    position: relative;
    z-index: 1;
    display: block;
    min-height: 2rem;
    padding-left: 3.5rem;
}

.custom-switch .custom-control-label::before {
    left: -2.25rem;
    width: 2.9rem;
    pointer-events: all;
    border-radius: 1rem;
}
.custom-control-label::before,
.custom-file-label,
.custom-select {
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
}
.custom-control-label::before {
    position: absolute;
    top: 0.25rem;
    left: -1.5rem;
    display: block;
    width: 2rem;
    height: 1.75rem;
    pointer-events: none;
    content: "";
    background-color: #fff;
    border: #adb5bd solid 1px;
}

.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: #fff;
    -webkit-transform: translateX(0.75rem);
    transform: translateX(1.1rem);
}

.custom-switch .custom-control-label::after {
    top: calc(0rem + 6px);
    left: calc(-2.25rem + 2px);
    width: calc(1.75rem - 4px);
    height: calc(1.75rem - 4px);
    background-color: #adb5bd;
    border-radius: 1rem;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out,
        -webkit-transform 0.15s ease-in-out;
}
.custom-control-label::after {
    position: absolute;
    top: 0.25rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background: no-repeat 50%/50% 50%;
}
/* ここまで */

.text-left {
    padding: 0;
}

/* 検索欄調整 */
.search-content {
    margin-top: 1rem;
    margin-right: 1rem;
    margin-left: 1rem;
}

試したこと

col-2col-3に変更をして、他の要素のcolを小さくして、rowが12になるように設定をしても、要素の幅自体が広くなりませんでした。

全体が左に寄ってしまっていることも何か関係があるのでしょうか・・。
お助けいただけますと幸いです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

回答 1

checkベストアンサー

0

<div class="col-3 custom-control custom-switch custom-switch-radio-position switch-btn">
  <div class="row">
    <div class=" col-4"><input type="checkbox" class="custom-control-input" id="customSwitch1" data-toggle="collapse" data-target="#collapseExample" aria-expanded="true" aria-controls="collapseExample"></div>
    <div class=" col-8"><label class="custom-control-label text-left font-1" for="customSwitch1">検索ボタン</label></div>
  </div>
</div>

【ポイント】

  • 入れ子構造が不適切
  • インライン要素(今回は input)に直接カラム指定はできない

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2021/04/24 16:10

    ありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.78%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る