【问题标题】:Bootstrap page breaking and not responsive under 768pxBootstrap 页面中断并且在 768px 下没有响应
【发布时间】:2015-09-16 07:52:19
【问题描述】:

我使用的是 Bootstrap 3.1.1,但我的登录页面在 768 像素下没有响应。 如图所示,页面正在中断:

我做错了什么?

<!DOCTYPE html>
<html>
<head>
    <title>MY Site</title>
    <link href="~/favicon.ico?v=2" rel="shortcut icon" type="image/x-icon" />
    <meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
    <meta content='text/html;charset=utf-8' http-equiv='content-type'>
    <meta content='Saúde Inteligente Móvel' name='description'>
    <link href='~/favicon.ico?v=2' rel='shortcut icon' type='image/x-icon'>
    <link href='~/assets/images/meta_icons/apple-touch-icon.png' rel='apple-touch-icon-precomposed'>
    <link href='~/assets/images/meta_icons/apple-touch-icon-57x57.png' rel='apple-touch-icon-precomposed' sizes='57x57'>
    <link href='~/assets/images/meta_icons/apple-touch-icon-72x72.png' rel='apple-touch-icon-precomposed' sizes='72x72'>
    <link href='~/assets/images/meta_icons/apple-touch-icon-114x114.png' rel='apple-touch-icon-precomposed' sizes='114x114'>
    <link href='~/assets/images/meta_icons/apple-touch-icon-144x144.png' rel='apple-touch-icon-precomposed' sizes='144x144'>
    <!-- / START - page related stylesheets [optional] -->

    <!-- / END - page related stylesheets [optional] -->
    <!-- / bootstrap [required] -->
    <link href="~/Content/bootstrap.css" media="all" rel="stylesheet" type="text/css" />
    <!-- / theme file [required] -->
    <link href="~/Content/light-theme.css" media="all" id="color-settings-body-color" rel="stylesheet" type="text/css" />
    <!-- / coloring file [optional] (if you are going to use custom contrast color) -->
    <link href="~/Content/theme-colors.css" media="all" rel="stylesheet" type="text/css" />

    <!--[if lt IE 9]>
      <script src="assets/javascripts/ie/html5shiv.js" type="text/javascript"></script>
      <script src="assets/javascripts/ie/respond.min.js" type="text/javascript"></script>
    <![endif]-->

    <link href="~/Content/bootstrap.css" rel="stylesheet" />
    <link href="~/Content/font-awesome.min.css" rel="stylesheet" />
    @Styles.Render("~/Content/themes/base/css")
    @Styles.Render("~/Content/site-css")
    @Scripts.Render("~/bundles/libs/modernizr")

</head>
<body class='contrast-blue login contrast-background'>
    <div class='middle-container' style="display: none" data-bind="visible: true">
        <div class='middle-row'>
            <div class='middle-wrapper'>
                <div class='login-container-header'>
                    <div class='container'>
                        <div class='row'>
                            <div class='col-sm-12'>
                                <div class='text-center'>
                                    <h1 class="text-primary"><img src="~/Images/logo-sim.png" height="160" width="225" /></h1>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class='login-container'>
                    <div class='container'>
                        <div class='row' data-bind="validationOptions: {
    registerExtenders: true,
    messagesOnModified: true,
    insertMessages: false,
    parseInputAttributes: true
}">
                            <div class='col-sm-4 col-sm-offset-4'>
                                <h1 class="text-center">


                                </h1>
                                <div class="row">
                                    <div class='col-sm-12'>
                                        <div class="validation-summary" data-bind="visible: model().isAnyMessageShown()">
                                            <ul>
                                                <li data-bind="validationMessage: model().Email"></li>
                                                <li data-bind="validationMessage: model().Senha"></li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <form>
                                    <div class='form-group'>
                                        <div class='controls with-icon-over-input'>
                                            <input value="" placeholder="E-mail" class="form-control" data-bind="value: model().Email" name="email" type="email" />
                                            <i class='icon-user text-muted'></i>
                                        </div>
                                    </div>
                                    <div class='form-group'>
                                        <div class='controls with-icon-over-input'>
                                            <input value="" placeholder="Senha" class="form-control" data-bind="value: model().Senha" name="password" type="password" />
                                            <i class='icon-lock text-muted'></i>
                                        </div>
                                    </div>
                                    <div class='checkbox'>
                                        <label for='remember_me'>
                                            <input id='remember_me' name='remember_me' type='checkbox' data-bind="checked: model().CookiePersistente">
                                            Lembrar de mim
                                        </label>
                                    </div>
                                    <button class='btn btn-block' data-bind="click: submit">Entrar</button>
                                </form>
                                <div class='text-center'>
                                    <hr class='hr-normal'>
                                    @Html.ActionLink("Esqueceu sua senha?", "EsqueciSenha", "Login")
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class='login-container-footer'>
                    <div class='container'>
                        <div class='row'>
                            <div class='col-sm-12'>
                                <div class='text-center'>
                                    <img src="~/Images/logo-rodape.png" />
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    @Scripts.Render("~/bundles/libs/jquery")
    @Scripts.Render("~/bundles/libs/base")
    <script type="text/javascript">
        RouteUtility.rootPath = '@Url.Action("Index", "Home")';
    </script>
    <script type="text/javascript" src="@Url.Content("~/Scripts/pages/login.js")"></script>
</body>
</html>

编辑:

按照建议添加 col-xs-* 后,发生了奇怪的行为。 当我添加 col-xs-* 时,这些字段只适合 768 像素及以上。如果它低于 768px,它们会增长! 完全相反! 如何解决这个问题?

768px以下:http://postimg.org/image/d0zcna7bf/

768px 及以上:http://postimg.org/image/56isu0qtt/

【问题讨论】:

  • 这不是问题。引导程序工作正常。我正在使用 ASP。网络 MVC。样式表在 BundleConfig 中声明。
  • 在此处阅读网格系统getbootstrap.com/css/#grid 您可能需要使用 col-xs-*,将 * 替换为您想要的大小

标签: css html twitter-bootstrap twitter-bootstrap-3 responsive-design


【解决方案1】:

蒂亚戈你好。

查看代码中的行号 60...
&lt;div class='col-sm-4 col-sm-offset-4'&gt;

当您的屏幕尺寸达到此断点时,它将扩展为 100% 宽度,因为您没有在此处控制/使用 col-xs-XX 类。
如果您像这样将其添加到您的代码中...
&lt;div class='col-sm-4 col-sm-offset-4 col-xs-8 col-xs-offset-2'&gt;
对于行 60 周围的代码行并调整窗口大小,您将看到您拥有控制权。

你使用的这行代码是用来包装Form块的,用来设置这个Form的宽度。
您只需要在所有断点处控制它。

希望这会有所帮助。

已添加到此
这是我在调整大小时得到的。
使用...&lt;div class='col-sm-4 col-sm-offset-4 col-xs-8 col-xs-offset-2'&gt;

【讨论】:

  • 它没有用。页面加载小字段。当我将大小调整到 768px 以下时,字段仍然会再次增长。
  • 嗨 thiago,你能解释一下什么不起作用吗?请更详细一些。你的意思是这个 div 包装器增长到 100% 吗?这包含表单。我提供的内容将起作用,表单将调整为 8 列宽,偏移量为 2 列。您可以将其调整为适合您的,但您需要注意它在非常小的屏幕上的外观。提供更多详细信息,说明您期望或希望它看起来低于 768 像素的屏幕尺寸。
  • 我发现了问题。我在页面的顶部和底部放置了两张图片。如果我删除它们,您建议的代码就像一个魅力。我相信图像也需要响应,对吧?但是将
    添加到他们的 div 中不起作用。我怎样才能做到这一点? div 名称是 login-container-header 和 login-container-footer
  • 好的。我使用“img-responsive”类使它工作。感谢 AngularJR!你就是男人!
  • 您好,早上好。好的,听起来你现在已经按照你想要的方式工作了。只需询问您是否对此有任何疑问。祝你有美好的一天。
【解决方案2】:

您可以控制 xs 设备添加的宽度,例如 col-xs-6 :

<div class='form-group'>
      <div class='controls with-icon-over-input col-xs-6'>
          <input value="" placeholder="E-mail" class="form-control" data-bind="value: model().Email" name="email" type="email" />
           <i class='icon-user text-muted'></i>
       </div>
</div>

【讨论】:

  • 它没有用。田地现在并排,但仍在破碎
猜你喜欢
相关资源
最近更新 更多
热门标签