css - Flexbox 垂直对齐到父元素的中间

标签 css flexbox

这本来是简单的配偶,但由于某种原因它变得复杂了。 我想要 <a> 中的文字标签垂直居中,就像提交输入的文本一样。

<a>我知道它应该是 align-self: center; 但是当我这样做时,元素会失去它的高度。

这是我的代码。

This is a link to the codepen

  .flex{
  display: flex;
}

#form-buttons {
  align-items: stretch;
  font-weight: bold;
  width: 300px;
  height: 300px;
  a {
    align-self: stretch;
    background-color: blue;
    color: #fff;
    width: 50%;
  }
  input[type="submit"] {
    width: 50%;
    background-color: black;
    color: #fff;
    border: 0px;
  }
}


    <div id="form-buttons" class="flex">
          <input type="submit" name="front-side-prop-search" value="search">
          <a href="#">view all results</a>
    </div>

最佳答案

我要添加这两行(替换 align-self prop):

a {
    display: inline-flex;
    align-items: center;
}

关于css - Flexbox 垂直对齐到父元素的中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47028990/

相关文章:

html - flexbox 模型中的自动内边距

html - 是否可以在 html 模板中添加一个简单的动画并使其在所有移动设备上工作?

css - 如何对表格进行 CSS 样式设置,使单元格最多为屏幕高度的 30%,并在更高时使用滚动条?

javascript - PHP 语句中的 CSS

css - 创建一行最大高度由一个 child 定义的 flexbox 元素

css - css flexBox 中的文本溢出只需添加宽度 :0, 即可解决,但为什么呢?

html - 为什么我的内容没有垂直对齐? ( flex ,CSS3)

css - Grails - 插件的 css 文件中的图像在 war 中需要与 run-app 不同的路径

css - 如何使 QMenuBar 元素出现在其 QMenu 上

html - 如何更改 flex 子元素的祖先顺序