将行高设置为相对于父元素的百分比

smi*_*dge 43 css

我有一个响应元素,它的宽度和高度都会缩放.在这里我有一些文字,我想垂直居中.

line-height如果我不知道父母的身高,我怎样才能将文本设置为与父文本相同?

line-height: 100% 是相对于字体的常规高度所以这没有帮助...

Mr.*_* 14 85

这是另一种垂直居中元素的方法.我不久前遇到过这种技术.基本上它使用伪元素和vertical-align:middle.

.block::before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em; /* Adjusts for spacing */
}

/* The element to be centered, can
   also be of any width and height */ 
.centered {
  display: inline-block;
  vertical-align: middle;
  width: 300px;
}
Run Code Online (Sandbox Code Playgroud)


bja*_*g82 11

由于已经是 2019 年了,您还可以使用 flexbox 来实现这一点:)

为此,请将以下类添加到父元素:

display: flex;
flex-direction: column;
justify-content: center;
Run Code Online (Sandbox Code Playgroud)

看到这个小提琴

  • 不要听那些反对者的话。任何使用 IE 的人都应该期望互联网在 2019 年看起来像垃圾。 (13认同)
  • 由于现在是 2019 年,人们仍在使用 IE,不幸的是,这不适用于 IE 中的所有条件。 (3认同)
  • 由于这是 Web 开发,因此您应该为没有 Flexbox 的用途提供某种优雅的降级。完全同意,从视觉华丽的角度来看,它可能看起来像垃圾,但它仍然应该保持功能性、可用性和意义。 (2认同)