1

我目前正在尝试将按钮与“.row”的其余部分垂直居中。

这是我目前所拥有的。我尝试过使用添加style="vertical-align: center;" 之类的东西 到不同的元素,但按钮不移动。我发现的唯一解决方案是使用“top:100px;”之类的方式将它们向下移动。但这当然不是一个有效的解决方案,因为它不适用于所有屏幕尺寸

这些按钮位于它们自己的 div (.col.s3) 中,这有助于在 .row 上水平定位它们。这里的对象是将两个外部按钮垂直居中到中间组(.col.s6)

有什么方法可以轻松地将这些元素垂直居中?

在此处查看示例:https ://jsfiddle.net/nn35pj3j/

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title></title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.95.3/css/materialize.min.css">
</head>
<body>
    <div class="row">
      <div class="col s3">
        <!-- First Button -->
        <a class="btn-floating btn-small waves-effect waves-light red left" style=""><i class="mdi-content-add"></i></a>
      </div>
      <!-- Middle -->
      <div class="col s6">
        <h2 class="header" style="text-align: center">Buttons</h2>
        <div>
          <a class="waves-effect waves-light btn">One</a>
          <a class="waves-effect waves-light btn">Two</a>
          <a class="waves-effect waves-light btn">Three</a>
          <a class="waves-effect waves-light btn">Four</a>
          <a class="waves-effect waves-light btn">Five</a>
          <a class="waves-effect waves-light btn">Six</a>
          <a class="waves-effect waves-light btn">Seven</a>
        </div>
      </div>
      <div class="col s3">
        <!-- Second Button -->
        <a class="btn-floating btn-small waves-effect waves-light red right"><i class="mdi-content-add"></i></a>
        </div>
      </div>
    </div>

    <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.95.3/js/materialize.min.js"></script>
</body>
</html>
4

2 回答 2

1

首先,您需要iddiv包含的.btn类中添加一个。

命名后,您可以使用css-tricks中的技巧进行垂直对齐:

.div_containing_btn {
  position: relative;
}
.btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

如果您想了解有关此主题的更多信息,请访问: https ://css-tricks.com/centering-css-complete-guide/

于 2015-03-11T01:31:15.510 回答
0

浮动元素不会有运气,它们不服从垂直对齐。

使用 display:inline-block; 相反,以便元素可以垂直对齐。

请注意 inline-blocks 元素之间的空白。

您可以将元素外部级别的字体大小更改为 (0),然后将字体大小设置回元素内。

.row { font-size:0px;}
.row .col { font-size:12px;}

小提琴演示

于 2015-03-11T01:40:40.803 回答