【问题标题】:responsive alignment with bootstrap与引导程序的响应对齐
【发布时间】:2020-01-25 23:55:27
【问题描述】:

我需要一些有关引导响应的帮助。我将四个元素对齐到图像的右侧(一个标题部分和 3 个元素)。我已经设置为在大屏幕上运行,但是在小屏幕上运行时,我想只保留图像右侧的标题部分,而其他 3 个项目则放在下面。目前,所有的项目和标题都下降了。

@media (min-width: 576px) {
  img {
    width: 100%;
  }

  .title {
    text-align: left;
    width: 100%;
  }

  .item .item-icon {
    float: left;
    font-size: 40px;
    width: 50px;
    height: 50px;
  }

  .item .item-content {
    float: right;
    text-align: left;
  }
}
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>

    <!-- fontawesome -->
    <script
      src="https://kit.fontawesome.com/24734ac872.js"
      crossorigin="anonymous"
    ></script>

    <!-- bootstrap -->
    <link
      rel="stylesheet"
      href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
    />

    <!-- style -->
    <link rel="stylesheet" href="style.css" />
  </head>
  <body>
    <div class="container">
      <div class="row">
        <div class="col-md-6">
          <img src="http://placehold.it/300" />
        </div>
        <div class="col-md-6">
          <div class="row">
            <div class="title text-center">
              <h1>About me?</h1>
              <p>things about me...</p>
            </div>
          </div>
          <div class="row">
            <div class="item">
              <div class="item-icon">
                <i class="fas fa-heart"></i>
              </div>
              <div class="item-content">
                <h1>Thing 1</h1>
                <p>About thing 1...</p>
              </div>
            </div>
          </div>
          <div class="row">
            <div class="item">
              <div class="item-icon">
                <i class="fas fa-heart"></i>
              </div>
              <div class="item-content">
                <h1>Thing 2</h1>
                <p>About thing 2...</p>
              </div>
            </div>
          </div>
          <div class="row">
            <div class="item">
              <div class="item-icon">
                <i class="fas fa-heart"></i>
              </div>
              <div class="item-content">
                <h1>Thing 3</h1>
                <p>About thing 3...</p>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>

    <!-- jquery -->
    <script
      src="https://code.jquery.com/jquery-3.4.1.min.js"
      integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
      crossorigin="anonymous"
    ></script>

    <!-- bootstrap -->
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
  </body>
</html>

结果应该是这样的:

动图:

谢谢!

【问题讨论】:

  • 很久没有使用引导程序了,但我想说,你正在创建许多&lt;div class="row"&gt;s,如果你正确使用&lt;div class="col-*"&gt;(对齐项目)那里不需要更多的 CSS 媒体查询。
  • 我明白了。我试过但没有成功。网格布局怎么样?

标签: html css bootstrap-4 responsive-design


【解决方案1】:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>

    <!-- fontawesome -->
    <script
      src="https://kit.fontawesome.com/24734ac872.js"
      crossorigin="anonymous"
    ></script>

    <!-- bootstrap -->
    <link
      rel="stylesheet"
      href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
    />

    <!-- style -->
    <link rel="stylesheet" href="style.css" />
    <style>
        @media (min-width: 576px) {
  img {
    width: 100%;
  }

  .title {
    text-align:right;
    width: 100%;
  }

  .item .item-icon {
    float: left;
    font-size: 40px;
    width: 50px;
    height: 50px;
  }

  .item .item-content {
    float: right;
    text-align: left;
  }
}
    </style>
  </head>
  <body>
    <div class="container">
      <div class="row">
        <div class="col-md-6 col-sm-6 col-xs-6">
          <img src="http://placehold.it/300" />
        </div>
        <div class="col-md-6 col-sm-6 col-xs-6">
            <div class="title text-center">
              <h1>About me?</h1>
              <p>things about me...</p>
            </div>
        </div>
        <div class="row">
          <div class="row col-sm-12 col-xs-12">
            <div class="item">
              <div class="item-icon">
                <i class="fas fa-heart"></i>
              </div>
              <div class="item-content">
                <h1>Thing 1</h1>
                <p>About thing 1...</p>
              </div>
            </div>
          </div>
          <div class="row col-sm-12 col-xs-12">
            <div class="item">
              <div class="item-icon">
                <i class="fas fa-heart"></i>
              </div>
              <div class="item-content">
                <h1>Thing 2</h1>
                <p>About thing 2...</p>
              </div>
            </div>
          </div>
          <div class="row col-sm-12 col-xs-12">
            <div class="item">
              <div class="item-icon">
                <i class="fas fa-heart"></i>
              </div>
              <div class="item-content">
                <h1>Thing 3</h1>
                <p>About thing 3...</p>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>

    <!-- jquery -->
    <script
      src="https://code.jquery.com/jquery-3.4.1.min.js"
      integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
      crossorigin="anonymous"
    ></script>

    <!-- bootstrap -->
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
  </body>
</html>

【讨论】:

  • 嗨!没有按预期工作,伙计。我希望在小屏幕中打开时,“关于我”部分保持在图像的右侧,并且 3 个项目位于图像下方。在更大的屏幕中,所有文本都对齐图像的右侧。为了更好地理解,我发布了一个 gif。
猜你喜欢
  • 2015-04-17
  • 2020-07-24
  • 2016-01-25
  • 2018-06-17
  • 1970-01-01
  • 2017-05-12
  • 2017-05-31
  • 2013-09-17
  • 1970-01-01
相关资源
最近更新 更多