html - 如何使用 flexbox 水平放置 3 个按钮?

标签 html css flexbox

<分区>

我有 3 个按钮,我试图将它们排成一行(例如上一个 btn、中间 btn、下一个 btn),现在我只是将它显示为一个按钮在另一个 2 之上。我不能仅更改 html 的 css fyi

    body {
      color: #838383;
      font-family: "Mada", sans-serif;
      font-size: 0.875rem;
    }

    .post .pagination {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
    }

    .post .pagination a {
      width: 48%;
    }

    .post .pagination .link {
      border: 2px solid #007cad;
      text-align: center;
      margin-bottom: 0.75rem;
      padding: 0.5rem;
    }

    .post .pagination a,
    .post .pagination .view-all {
      text-decoration: none;
      color: #007cad;
      font-weight: 700;
    }

    .post .pagination .view-all {
      width: 100%;
    }

    /* hover effects */
    .pagination .link {
      background: #fff;
      color: #007cad;
      background-size: 250% 100%;
    }

    .pagination .next .link {
      background: linear-gradient(to left, #fff 50%, #007cad 50%);
      background-size: 250% 100%;
      background-position: right top;
      transition: all 0.5s ease;
      max-width: 250px;
    }

    .pagination .prev .link {
      background: linear-gradient(to right, #fff 50%, #007cad 50%);
      background-size: 250% 100%;
      background-position: left top;
      transition: all 0.5s ease;
      max-width: 250px;
    }

    .pagination .next .link:hover {
      background-position: left top;
    }

    .pagination .prev .link:hover {
      background-position: right top;
    }

    .pagination .next .link:hover,
    .pagination .prev .link:hover {
      background-color: #007cad;
      color: #fff;
      opacity: 1;
    }

    @media only screen and (min-width: 1366px) {
      .post .pagination {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
        max-width: 50rem;
        margin: 0px auto 0 auto;
      }
    }
      <body>
        
        <div class="post grid-x grid-padding-x">
            <div class="small-12 medium-10 medium-offset-1 cell pagination"> 
                <a class="view-all">
                    <div class="link">View full team member list</div>
                </a>
                    <a class="prev">
                        <div class="link">&lt; Prev bio</div>
                    </a>
                    <a class="next">
                        <div class="link">Next bio &gt;</div>
                    </a>

            </div>
        </div>
      </body>

我有 3 个按钮,我试图将它们排成一行(例如 prev btn、middle btn、next btn),现在我只是将它显示为一个按钮在其他 2 个按钮之上。我用过flexbox 来显示它当前的状态,但我很难像我上传的解决方案图片那样尝试将这些按钮对齐在一起。

  <body>

    <div class="post grid-x grid-padding-x">
        <div class="small-12 medium-10 medium-offset-1 cell pagination"> 
            <a class="view-all">
                <div class="link">View full team member list</div>
            </a>
                <a class="prev">
                    <div class="link">&lt; Prev bio</div>
                </a>
                <a class="next">
                    <div class="link">Next bio &gt;</div>
                </a>

        </div>
    </div>
  </body>

Solution Example

最佳答案

你可以使用 display: flex;如果您不能更改结构,则可以四处移动元素。 (不建议)。如果您可以更改 HTML 本身,那就更容易了。如果你想把它们放在一起,你可以使用一些 CSS flexbox。

您可以在此处了解有关 flexbox 的更多信息:https://css-tricks.com/snippets/css/a-guide-to-flexbox/

    body {
      color: #838383;
      font-family: "Mada", sans-serif;
      font-size: 0.875rem;
    }

    .post .pagination {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
    }

    .post .pagination a {
      flex: 1; /* changed */
      margin: 10px; /* added */
    }

    .post .pagination .link {
      border: 2px solid #007cad;
      text-align: center;
      margin-bottom: 0.75rem;
      padding: 0.5rem;
    }

    .post .pagination a,
    .post .pagination .view-all {
      text-decoration: none;
      color: #007cad;
      font-weight: 700;
    }

    .post .pagination .view-all {
      /* width: 100%; -- removed */
      order: 2;
    }
    
    /* added */
    .post .pagination .next {
      order: 3;
    }
    /* end added */

    /* hover effects */
    .pagination .link {
      background: #fff;
      color: #007cad;
      background-size: 250% 100%;
    }

    .pagination .next .link {
      background: linear-gradient(to left, #fff 50%, #007cad 50%);
      background-size: 250% 100%;
      background-position: right top;
      transition: all 0.5s ease;
      max-width: 250px;
    }

    .pagination .prev .link {
      background: linear-gradient(to right, #fff 50%, #007cad 50%);
      background-size: 250% 100%;
      background-position: left top;
      transition: all 0.5s ease;
      max-width: 250px;
    }

    .pagination .next .link:hover {
      background-position: left top;
    }

    .pagination .prev .link:hover {
      background-position: right top;
    }

    .pagination .next .link:hover,
    .pagination .prev .link:hover {
      background-color: #007cad;
      color: #fff;
      opacity: 1;
    }

    @media only screen and (min-width: 1366px) {
      .post .pagination {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
        max-width: 50rem;
        margin: 0px auto 0 auto;
      }
    }
<div class="post grid-x grid-padding-x">
  <div class="small-12 medium-10 medium-offset-1 cell pagination">
    <a class="view-all" href="<?= get_field('team_page', 'options') ?>">
      <div class="link">View full team member list</div>
    </a>
    <a class="prev">
      <div class="link">&lt; Prev bio</div>
    </a>
    <a class="next">
      <div class="link">Next bio &gt;</div>
    </a>

  </div>
</div>

关于html - 如何使用 flexbox 水平放置 3 个按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56971767/

上一篇:javascript - 将下拉菜单的背景扩展到浏览器的全宽

下一篇:css - IE11 在 :hover and :active 上将按钮文本移动一些 px

相关文章:

javascript - 模态框打开有奇怪的效果

html - 我怎样才能让移动浏览器单独留下一个元素

html - CSS :active not working on <a> tags

javascript - 未捕获的类型错误 : div. css 不是函数

javascript - 如何在 reactJS 中设置背景图片的属性

html - 证明内容 : space-between failing to align elements as expected

jquery - 更改 flex 元素的顺序

javascript - 隐藏一个 bootstrap 表头

javascript - Canvas 中的 Angular 渐变

java - 如何在 JSP 中转义特殊的 HTML 字符?