【问题标题】:Why is this Bootstrap row covering more width than the screen width?为什么这个 Bootstrap 行覆盖的宽度大于屏幕宽度?
【发布时间】:2018-07-09 18:45:53
【问题描述】:

我正在尝试在我的网站中插入反馈表。我有一个电子邮件字段和短信字段,还有一个发送按钮。所有这些都在 Bootstrap 行中。但是这一行占用的宽度大于屏幕宽度。我希望该行适合屏幕宽度的 100%。有人可以帮帮我吗?提前致谢!

<html>

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
  <meta charset="utf-8">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
  <link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
</head>

<body>
  <div class="row" id="getintouchrow" style="background-color: #1C2833;border: none;">
    <div class="col-md-3"></div>
    <div class="col-md-6">
      <center>
        <h1 style="margin-top: 100px;font-family: 'Audiowide', cursive;color: #B2BABB">Sample Text</h1>
        <h5 style="font-family: 'Abel', sans-serif;color: #B2BABB">Sample Text<br></h5>
      </center>
      <form style="background-color: transparent">

        <div class="form-group">

          <input type="email" class="form-control" id="InputEmail1" placeholder="Enter email" style="background-color: rgba(0,0,0,0);border-top:none;border-radius: none;border-left: none;border-right: none;">> </div>
        <div class="form-group">

          <textarea class="form-control" id="Textarea" rows="3" placeholder="Type here" style="background-color: rgba(0,0,0,0);border-top:none;border-radius: none;border-left: none;border-right: none;"></textarea><br><br>
        </div>
        <center>
          <center><a href="#" class=" contact-mission btn btn-outline-dark" style="font-size: 22px;width: 300px;outline-width: 50px;height: 50px;font-family: 'Pacifico', cursive;margin-bottom: 70px;">Send Message</a></center>
        </center>
      </form>

      <div class="col-md-3"></div>
      <div class="py-5 text-white" style="border-top-color: #1C2833">
        <div class="container">
          <div class="row">

            <div class="col-4 col-md-1 align-self-center">
              <a href="https://www.facebook.com" target="_blank">
                <i class="fa fa-fw fa-facebook fa-3x text-white"></i>
              </a>
            </div>
            <div class="col-4 col-md-1 align-self-center">
              <a href="https://twitter.com" target="_blank">
                <i class="fa fa-fw fa-twitter fa-3x text-white"></i>
              </a>
            </div>
            <div class="col-4 col-md-1 align-self-center">
              <a href="https://www.instagram.com" target="_blank">
                <i class="fa fa-fw fa-instagram text-white fa-3x"></i>
              </a>
            </div>
          </div>
          <div class="row">
            <div class="col-md-12 mt-3 text-center">
              <p>© Copyright 2018 - All rights reserved.</p>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>

</body>

</html>

【问题讨论】:

标签: html css twitter-bootstrap bootstrap-4


【解决方案1】:

由于您使用的是 Bootstrap。 bootstrap 的结构说所有内容都应该包装在container 类中。紧随其后的是row,里面有列。由于行样式是:

.row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

它在哪里给左和右-15px的边距,以覆盖来自父级container的填充。所以请用container 包裹你的row 以获得想要的结果 更多了解网格的有用链接: https://getbootstrap.com/docs/4.0/examples/grid/

【讨论】:

    【解决方案2】:

    看到,因为在 .row 中有 负边距 为左右都设置了 15 像素。这就是为什么它的宽度大于屏幕尺寸的原因,因此您可以使用 bootstrap 约定允许的适当结构。

    容器 > 行 > 列

    它将占用整个屏幕大小。

    【讨论】:

      【解决方案3】:

      使用“容器流体”类而不是行。

      请参考下面的小提琴

      Fiddle

      <html>
      
      <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
        <meta charset="utf-8">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
        <link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
      </head>
      
      <body>
        <div class="container-fluid" id="getintouchrow" style="background-color: #1C2833;border: none;">
          <div class="col-md-3"></div>
          <div class="col-md-6">
            <center>
              <h1 style="margin-top: 100px;font-family: 'Audiowide', cursive;color: #B2BABB">Sample Text</h1>
              <h5 style="font-family: 'Abel', sans-serif;color: #B2BABB">Sample Text<br></h5>
            </center>
            <form style="background-color: transparent">
      
              <div class="form-group">
      
                <input type="email" class="form-control" id="InputEmail1" placeholder="Enter email" style="background-color: rgba(0,0,0,0);border-top:none;border-radius: none;border-left: none;border-right: none;">> </div>
              <div class="form-group">
      
                <textarea class="form-control" id="Textarea" rows="3" placeholder="Type here" style="background-color: rgba(0,0,0,0);border-top:none;border-radius: none;border-left: none;border-right: none;"></textarea><br><br>
              </div>
              <center>
                <center><a href="#" class=" contact-mission btn btn-outline-dark" style="font-size: 22px;width: 300px;outline-width: 50px;height: 50px;font-family: 'Pacifico', cursive;margin-bottom: 70px;">Send Message</a></center>
              </center>
            </form>
      
            <div class="col-md-3"></div>
            <div class="py-5 text-white" style="border-top-color: #1C2833">
              <div class="container">
                <div class="row">
      
                  <div class="col-4 col-md-1 align-self-center">
                    <a href="https://www.facebook.com" target="_blank">
                      <i class="fa fa-fw fa-facebook fa-3x text-white"></i>
                    </a>
                  </div>
                  <div class="col-4 col-md-1 align-self-center">
                    <a href="https://twitter.com" target="_blank">
                      <i class="fa fa-fw fa-twitter fa-3x text-white"></i>
                    </a>
                  </div>
                  <div class="col-4 col-md-1 align-self-center">
                    <a href="https://www.instagram.com" target="_blank">
                      <i class="fa fa-fw fa-instagram text-white fa-3x"></i>
                    </a>
                  </div>
                </div>
                <div class="row">
                  <div class="col-md-12 mt-3 text-center">
                    <p>© Copyright 2018 - All rights reserved.</p>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      
      </body>
      
      </html>
      

      【讨论】:

        【解决方案4】:

        嗨,如果行扩展超过宽度,请确保row{border:0px;margin-right:0;margin-left:0;max-width:100%; }

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-02-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-09-21
          • 2017-10-27
          • 2020-08-28
          相关资源
          最近更新 更多