201

ページに Bootstrap を使用していJSPます。

私は自分のフォームに<fieldset>andを使いたいです。<legend>これは私のコードです。

<fieldset class="scheduler-border">
    <legend class="scheduler-border">Start Time</legend>
    <div class="control-group">
        <label class="control-label input-label" for="startTime">Start :</label>
        <div class="controls bootstrap-timepicker">
            <input type="text" class="datetime" id="startTime" name="startTime" placeholder="Start Time" />
            <i class="icon-time"></i>
        </div>
    </div>
</fieldset>

CSSは

fieldset.scheduler-border {
    border: 1px groove #ddd !important;
    padding: 0 1.4em 1.4em 1.4em !important;
    margin: 0 0 1.5em 0 !important;
    -webkit-box-shadow:  0px 0px 0px 0px #000;
            box-shadow:  0px 0px 0px 0px #000;
}

legend.scheduler-border {
    font-size: 1.2em !important;
    font-weight: bold !important;
    text-align: left !important;
}

私はこのような出力を得ています ここに画像の説明を入力

次の方法で出力したい

ここに画像の説明を入力

追加してみました

border:none;
width:100px;

legend.scheduler-borderCSSに。そして、私は期待される出力を得ています。しかし問題は、別のフィールドに別のフィールドを追加したいということです<fieldset>。その時、凡例のテキストの幅は より長いので問題です100px

では、私が言及したような出力を得るにはどうすればよいでしょうか? (凡例のテキストを打つことなく)

4

8 に答える 8

237

これは、Bootstrap がデフォルトでlegend要素の幅を 100% に設定するためです。legend.scheduler-borderも使用するように変更することで、これを修正できます。

legend.scheduler-border {
    width:inherit; /* Or auto */
    padding:0 10px; /* To give a bit of padding on the left and right */
    border-bottom:none;
}

JSFiddle の例

また、 Bootstrap がスタイリングをオーバーライドしないように、Bootstrap のにカスタム スタイルシートが追加されていることを確認する必要があります。

margin-bottom:0;凡例と仕切りの間のギャップを減らすために、それに追加することもできます.

于 2013-05-31T08:02:28.893 に答える
22

私はこの問題を抱えていて、この方法で解決しました:

fieldset.scheduler-border {
    border: solid 1px #DDD !important;
    padding: 0 10px 10px 10px;
    border-bottom: none;
}

legend.scheduler-border {
    width: auto !important;
    border: none;
    font-size: 14px;
}
于 2016-03-29T18:11:18.347 に答える