Bootstrap 中无法对齐详细信息页面的静态字段

Cannot align static fields for Details page in Bootstrap

我想像在 that 页面上使用 "Static Control" 标签一样使用标签。然而,虽然我使用相同的 Bootstrap 版本,但我不能像那样对齐我的表单控件(我希望标签是右浮动的,数据字段是左浮动的 - 并排 - 并且中间有一个“:”符号他们。然而,结果如下图所示。你能看看我的代码并告知错误吗?

该页面上的代码:

<div class="form-group">
    <label class="col-md-3 control-label">Static Control</label>
    <div class="col-md-9">
        <p class="form-control-static"> email@example.com </p>
    </div>
</div>

我在 Razor 页面上使用的代码:

<div class="form-group">
     @Html.LabelFor(m => m.Name, new { @class = "col-md-3 control-label" }):
     <div class="col-md-9">
         @Html.DisplayFor(m => m.Name, new { @class = "form-control-static" })
     </div>
</div>
<br />
<div class="form-group">
     @Html.LabelFor(m => m.Surname, new { @class = "col-md-3 control-label" }):
     <div class="col-md-9">
         @Html.DisplayFor(m => m.Surname, new { @class = "form-control-static" })
     </div>
</div>

您有两个元素,宽度等于 100% 加上冒号,因此它将值向下推了一行。您只需要对标签进行编码,而不是使用 HtmlHelper 来添加冒号。将其更改为:

<div class="form-group">
   <label class="col-md-3 control-label">@Model.Name:</label>
   <div class="col-md-9">
     @Html.DisplayFor(m => m.Name, new { @class = "form-control-static" })
   </div>
</div>

这是解决问题的最终解决方案。非常感谢您的所有帮助...

<style>
    .col-sm-3 .control-label {
        float: right !important;
        margin-top: 0 !important;
    }

    /*Add colon ( : ) to the end of labels */
    .col-sm-3 > label:after {
        content: " :";
    }
</style>

<div class="form-group">
    <div class="col-sm-3">
        @Html.LabelFor(m => m.Name, new { @class = "control-label" })
    </div>
    <div class="col-sm-9">
        @Html.DisplayFor(m => m.Name)
    </div>
</div>
<br />

<div class="form-group">
    <div class="col-sm-3">
        @Html.LabelFor(m => m.Surname, new { @class = "control-label" })
    </div>
    <div class="col-sm-9">
        @Html.DisplayFor(m => m.Surname)
    </div>
</div>
<br />