在默认的asp.net mvc 5模板中输入-group-addon之前的未知间隙

Abu*_*sar 9 asp.net-mvc twitter-bootstrap asp.net-mvc-5 twitter-bootstrap-3

如何重现:

  1. 创建新的ASP.Net MVC项目
  2. 添加模型
  3. 添加一个带脚手架视图的控制器
  4. 在浏览器中打开Create.cshtml,然后使用firebug或开发人员工具更改任何"表单组":

来自:

<div class="form-group">
   <label class="control-label col-md-2" for="Name">Name</label>
   <div class="col-md-10">
      <input name="Name" class="form-control text-box single-line" id="Name" type="text" value="">
   </div>
  <span class="field-validation-valid text-danger" data-valmsg-replace="true" data-valmsg-for="Name"></span>
</div>
Run Code Online (Sandbox Code Playgroud)

至 :

<div class="form-group">
   <label class="control-label col-md-2" for="Title">Title2</label>
   <div class="col-md-10">
      <div class="input-group">
        <input name="Title" class="form-control text-box single-line" id="Title" type="text" value="">
        <span class="input-group-addon">@</span>
      </div>
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我们只是将"input"放在"div"中,并使用"class ='input-group'"并添加"input-group-addon"

结果非常奇怪,看起来像这样:http: //i.imgur.com/ylpYJKh.png

但正确的结果是:http: //jsfiddle.net/6t3d9z8e/

这是ASP.Net MVC 5默认模板的一个错误还是什么?

Bor*_*kov 14

这是bootstrap css和microsoft默认样式之间交互的有趣bug.

请参阅默认的css文件"Site.css"并在注释后删除块Set width on the form input elements since they're 100% wide by default,其中max-width在输入上设置属性.

如果你想按大小限制输入,你应该通过bootstrap的col-md-...类来完成.

  • 这解决了这个问题,我从"Site.css"中注释掉了这一行:input,select,textarea {max-width:280px; } , 非常感谢 (3认同)
  • 你也可以添加:.input-group {max-width:350px; 没有注释掉上面的内容. (2认同)