将 Fieldset Legend 与引导程序一起使用

新手上路,请多包涵

我正在为我的 JSP 页面使用 Bootstrap。

我想使用 <fieldset><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-border 在 CSS 中。我得到了预期的输出。但问题是我想为另一个字段添加另一个 <fieldset> 。那时图例中文本的宽度是一个问题,因为它比 100px

那么我该怎么做才能像我提到的那样获得输出呢? (不删除图例文字)

原文由 Shiju 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 401
2 个回答

这是因为默认情况下,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; 以减少图例和分隔线之间的差距。

原文由 James Donnelly 发布,翻译遵循 CC BY-SA 3.0 许可协议

在 bootstrap 4 中,在与图例融合的字段集上设置边框要容易得多。你不需要自定义 css 来实现它,它可以像这样完成:

 <fieldset class="border p-2">
   <legend  class="w-auto">Your Legend</legend>
</fieldset>

看起来像这样: Bootstrap 4 字段集和图例

原文由 Joe Audette 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题