【问题标题】:Styling Kendo Window's content with Bootstrap使用 Bootstrap 设计 Kendo Window 的内容
【发布时间】:2015-07-29 13:22:15
【问题描述】:

我有一个通用的 Kendo 窗口,我需要不同的局部视图。我无法使用引导程序设置内容样式,因为它会导致不同浏览器中的布局不同,并且元素总是很混乱。

这是一个示例:

<div class="form-group form-inline">
    <div class="line">
        <div class="col-xs-6">
            @Html.LabelFor(m => m.2, new { @class = "col-xs-4 control-label" })
            @Html.DisplayFor(m => m.2)
        </div>
        <div class="col-xs-4">
            @Html.LabelFor(m => m.3, new { @class = "col-xs-4 control-label" })
            @Html.DisplayFor(m => m.3)
        </div>
    </div>
    <div class="line">
        <div class="col-xs-6">
            @Html.LabelFor(m => m.4, new { @class = "col-xs-4 control-label" })
            @Html.DisplayFor(m => m.4)
        </div>
        <div class="col-xs-4">
            @Html.LabelFor(m => m.5, new { @class = "col-xs-4 control-label" })
            @Html.DisplayFor(m => m.5)
        </div>
    </div>
</div>
<div class="clearfix">&nbsp;</div>
<div class="clearfix">&nbsp;</div>
@(Html.Kendo().Grid<Class...>()
....

和行:

.line{
    line-height: 20px;
}

我错过了什么吗?我只想有一个 2 列布局。可以举个例子吗?

【问题讨论】:

    标签: c# asp.net-mvc twitter-bootstrap kendo-ui kendo-window


    【解决方案1】:

    我不知道为什么,但我应该使用col-xs-5。此外,要将元素保留在 tab strip 中,我必须将它们放在 container 中。

    <div class="container-fluid">
        <div class="form-group form-inline col-xs-12">
            <div class="col-xs-5"></div>
            <div class="col-xs-5"></div>
        </div>
        <div class="form-group form-inline col-xs-12">
            <div class="col-xs-5"></div>
            <div class="col-xs-5"></div>
        </div>
    ......
    </div>
    

    更新 我在their documents 找到了解决方案。

    首先您需要添加以下引用。

    <link rel="stylesheet" href="http://cdn.kendostatic.com/VERSION/styles/kendo.common-bootstrap.min.css">
    <link rel="stylesheet" href="http://cdn.kendostatic.com/VERSION/styles/kendo.bootstrap.min.css">
    

    然后将以下 CSS 添加到您的 site.css 并包含在页面中:

    /* reset everything to the default box model */
    
    *, :before, :after
    {
        -webkit-box-sizing: content-box;
        -moz-box-sizing: content-box;
        box-sizing: content-box;
    }
    
    /* set a border-box model only to elements that need it */
    
    .form-control, /* if this class is applied to a Kendo UI widget, its layout may change */
    .container,
    .container-fluid,
    .row,
    .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1,
    .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2,
    .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3,
    .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4,
    .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5,
    .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6,
    .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7,
    .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8,
    .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9,
    .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10,
    .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11,
    .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12
    {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    

    一切正常,您应该可以使用以下内容:

    <div class="container-fluid">
        <div class="form-group form-inline col-xs-12">
            <div class="col-xs-6"></div>
            <div class="col-xs-6"></div>
        </div>
        <div class="form-group form-inline col-xs-12">
            <div class="col-xs-6"></div>
            <div class="col-xs-6"></div>
        </div>
    ......
    </div>
    

    【讨论】:

      【解决方案2】:

      你可能需要这样的东西。根据您的标签使用列宽。

      <div class="form-group form-inline">
          <div class="col-xs-6">
              @Html.LabelFor(m => m.2, new { @class = "control-label" })
          </div>
          <div class="col-xs-6">
              @Html.DisplayFor(m => m.2)
          </div>
      </div>
      <div class="form-group form-inline">
          <div class="col-xs-6">
              @Html.LabelFor(m => m.3, new { @class = "control-label" })
          </div>
          <div class="col-xs-6">
              @Html.DisplayFor(m => m.3)
          </div>
      </div>
      <div class="form-group form-inline">
          <div class="col-xs-6">
              @Html.LabelFor(m => m.4, new { @class = "control-label" })
          </div>
          <div class="col-xs-6">
              @Html.DisplayFor(m => m.4)
          </div>
      </div>
      <div class="form-group form-inline">
          <div class="col-xs-6">
              @Html.LabelFor(m => m.5, new { @class = "control-label" })
          </div>
          <div class="col-xs-6">
              @Html.DisplayFor(m => m.5)
          </div>
      </div>
      

      【讨论】:

      • 我在使用剑道之前一直在使用这种布局,效果很好。在剑道窗口中,它会导致 1 列布局。我可以使它工作的唯一方法是减少第二个数字。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-09
      • 1970-01-01
      • 1970-01-01
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多