我有一个使用Bootstrap的移动网络应用程序.桌面上的一切看起来都很好然而,当我在iPhone 4S上拉出某些页面时,导航栏比它应该更窄.这两个具有此行为的页面都有表格,因此可能与之有关.
截图:
我的共享_Layout Razor视图如下所示:
@using FCTech.Quotes.Helpers <!DOCTYPE html> <html lang="en"> <head> <Meta charset="utf-8" /> <Meta name="viewport" content="width=device-width,initial-scale=1"> <title>@ViewBag.Title</title> <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /> <Meta name="viewport" content="width=device-width" /> @Styles.Render("~/Content/css") @Styles.Render("~/Content/themes/base/css") @Styles.Render("~/Content/bootstrap") @Scripts.Render("~/bundles/modernizr") @Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/jqueryui") @RenderSection("Styles",false) </head> <body> <header> <div class="content-wrapper"> <div> <nav class="navbar navbar-default col-xs-12"> <div class="container-fluid"> <div class="navbar-header float-left"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navLinks" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> @Html.ActionLink("Home","Index",new { controller = "Home" },new { @class = "logo navbar-brand" }) </div> <div class="collapse navbar-collapse" id="navLinks"> <ul class="nav navbar-nav"> <li>@Html.ActionLink("Home","Home")</li> @if (HttpContext.Current.User.Identity.IsAuthenticated) { <li>@Html.ActionLink("Quotes",new {controller = "Quotes",salesPerson = AccountHelper.GetCurrentUserFullName()})</li> <li>@Html.ActionLink("Orders",new {controller = "Orders",salesPerson = AccountHelper.GetCurrentUserFullName()})</li> } @if (HttpContext.Current.User.Identity.IsAuthenticated && AccountHelper.AuthorizeAdmin()) { <li>@Html.ActionLink("Shipments","ShipmentSummary",new { controller = "Admin",salesPerson = AccountHelper.GetCurrentUserFullName() })</li> <li>@Html.ActionLink("Bookings","BookingSummary",salesPerson = AccountHelper.GetCurrentUserFullName() })</li> } <li> @if (Request.IsAuthenticated) { @Html.ActionLink("Log Off","logoff","Account") } else { @Html.ActionLink("Log in","Login","Account") } </li> </ul> </div> </div> </nav> </div> </div> </header> <div id="body" class="content"> @RenderSection("featured",required: false) <section class="content-wrapper main-content clear-fix"> @RenderBody() </section> </div> <footer> <div class="content-wrapper"> <div class="float-right"> <p>v @typeof(FCTech.Quotes.MvcApplication).Assembly.GetName().Version</p> </div> </div> </footer> @Scripts.Render("~/bundles/bootstrap") @RenderSection("Scripts",required: false) </body> </html>
而正确显示的其中一个视图的正文如下所示:
@using System.Linq @model IEnumerable<FCTech.Quotes.Models.OpenQuoteModel> @{ ViewBag.Title = "Open Quotes"; } <head> <title> Open Quotes </title> </head> <fieldset> <legend> Open Quotes </legend> @if (Model != null && Model.Any()) { <table id="OpenQuotesTable" class="table table-responsive table-bordered table-condensed table-striped tablesorter"> <thead> <tr class="header"> <th> @Html.DisplayNameFor(model => model.QuoteNumber) </th> <th> @Html.DisplayNameFor(model => model.QuoteDate) </th> <th> @Html.DisplayNameFor(model => model.Customer) </th> <th> @Html.DisplayNameFor(model => model.City) </th> <th> @Html.DisplayNameFor(model => model.State) </th> <th> @Html.DisplayNameFor(model => model.EndUser) </th> <th> @Html.DisplayNameFor(model => model.Product) </th> <th> @Html.DisplayNameFor(model => model.TotalValue) </th> </tr> </thead> <tbody> @foreach (var item in Model) { <tr class="@(item.QuoteDate < DateTime.Today.AddDays(-30) ? "red" : string.Empty ) "> <td> @Html.ActionLink(item.QuoteNumber.ToString(),"Detail",new { quoteNumber = item.QuoteNumber,productLine = item.Product,salesRep = item.SalesRep }) </td> <td style="text-align: right;"> @Html.DisplayFor(model => item.QuoteDate) </td> <td> @Html.DisplayFor(model => item.Customer) </td> <td> @Html.DisplayFor(model => item.City) </td> <td> @Html.DisplayFor(model => item.State) </td> <td> @Html.DisplayFor(model => item.EndUser) </td> <td> @Html.DisplayFor(model => item.Product) </td> <td style="text-align: right;"> @Html.DisplayFor(model => item.TotalValue) </td> </tr> } </tbody> </table> } </fieldset> @section Scripts { @Scripts.Render("~/bundles/jqueryval") }
我在这里做错了什么?
解决方法
在Bootstrap 3中,您应该将表格标签包装成一个.table响应的div.
<div class="table-responsive"> <table class="table"> </table> </div>