Css 垂直居中对齐<;部门>; 我想保持代码的高度< ab> ABC/代码> div >代码> 50px和文本垂直对齐在 div < /> >

Css 垂直居中对齐<;部门>; 我想保持代码的高度< ab> ABC/代码> div >代码> 50px和文本垂直对齐在 div < /> > ,css,vertical-alignment,Css,Vertical Alignment,正文{ 填充:0; 保证金:0; 保证金:0px自动; } #主要{ 位置:相对位置; 背景颜色:蓝色; 宽度:500px; 高度:500px; } #abc{ 字体:Verdana,日内瓦,无衬线; 字号:18px; 文本对齐:左对齐; 背景色:#0F0; 高度:50px; 垂直对齐:中间对齐; } asdfasdfasdfasdfasdfasdf 您可以使用行高:50px,您不需要垂直对齐:中间那里 如果有多行,上述操作将失败,因此在这种情况下,可以使用span包装文本,然后使用dis

正文{
填充:0;
保证金:0;
保证金:0px自动;
}
#主要{
位置:相对位置;
背景颜色:蓝色;
宽度:500px;
高度:500px;
}
#abc{
字体:Verdana,日内瓦,无衬线;
字号:18px;
文本对齐:左对齐;
背景色:#0F0;
高度:50px;
垂直对齐:中间对齐;
}

asdfasdfasdfasdfasdfasdf

您可以使用
行高:50px,您不需要
垂直对齐:中间那里


如果有多行,上述操作将失败,因此在这种情况下,可以使用
span
包装文本,然后使用
display:table cell
显示:表格
垂直对齐:中间,也不要忘记使用
宽度:100%用于
#abc


这里我能想到的另一个解决方案是将
transform
属性与
translateY()
一起使用,其中
Y
显然代表Y轴。这很直截了当。。。您只需将元素位置设置为
绝对
,然后从
顶部
将元素位置设置为
50%
,并从其轴以负值进行平移
-50%

div {
  height: 100px;
  width: 100px;
  background-color: tomato;
  position: relative;
}

p {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

请注意,这在较旧的浏览器上不受支持,例如IE8,但您可以分别使用
-ms、-moz
-webkit
前缀来制作IE9和其他较旧的浏览器版本的Chrome和Firefox


有关
转换的更多信息,请参阅。

添加
行高如何

#abc{
  font:Verdana, Geneva, sans-serif;
  font-size:18px;
  text-align:left;
  background-color:#0F0;
  height:50px;
  vertical-align:middle;
  line-height: 45px;
}

或者在
#abc
上填充

更新

添加css:

#abc img{
   vertical-align: middle;
}

。希望这就是你想要的。

很简单:给父div这个:

display: table;
并将以下内容交给儿童组:

就这样

.parent{
显示:表格;
}
.孩子{
显示:表格单元格;
垂直对齐:中间对齐;
左侧填充:20px;
}

试验
测试测试
测试测试 测试测试
测试测试
测试测试
我找到了Sebastian Ekström的解决方案。它又快又脏,而且效果很好。即使你不知道父母的身高:

.element {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

阅读整篇文章。

您可以使用行高a作为div的高度。
但对我来说,最好的解决方案是-->
位置:相对;最高:50%;转换:翻译(0,50%)

旧问题,但现在使垂直对齐变得真正简单

只需将以下css添加到
#abc

display:flex;
align-items:center;

原始问题演示

简单的例子:

。垂直对齐内容{
背景色:#f18c16;
高度:150像素;
显示器:flex;
对齐项目:居中;
/*取消注释下一行以获得水平对齐*/
/*证明内容:中心*/
}

霍多!
试试这个:

.main_div{
    display: table;
    width: 100%;
}
.cells {
    display: table-cell;
    vertical-align: middle;
}
另一种使div居中的方法:

<div id="parent">
    <div id="child">Content here</div>
</div>

#parent {position: relative;}

#child {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 50px;
    height: 100px;
    margin: auto;
}

满足于此
#父{位置:相对;}
#孩子{
位置:绝对位置;
排名:0;
底部:0;
左:0;
右:0;
宽度:50px;
高度:100px;
保证金:自动;
}

此代码用于垂直中间和水平中心对齐,无需指定固定高度:

。父类名称{
位置:相对位置;
}
.类名{
位置:绝对位置;
最高:50%;
左:0;
右:0;
保证金:0自动;
转化:translateY(-50%);
-莫兹变换:translateY(-50%);
-webkit转换:translateY(-50%);

}
使用translateY CSS属性将文本垂直居中放置在其容器中

<style>
.centertext{

    position: relative;
    top: 50%;
    transform: translateY(40%);

}
</style>

.centertext{
位置:相对位置;
最高:50%;
转化:translateY(40%);
}
然后将其应用于包含的DIV

  <div class="centertext">
        <font style="color:white; font-size:20px;">   Your Text Here </font>
  </div>

你的文字在这里
调整translateY百分比以满足您的需要。希望这有帮助
div{
高度:200px;
文本对齐:居中;
填充:2px;
边框:1px实心#000;
背景颜色:绿色;
}
.文本居中对齐{
显示器:flex;
对齐项目:居中;
证明内容:中心;
}
居中对齐
.container{
高度:200px;
位置:相对位置;
边框:3倍纯绿;
}
.中心{
保证金:0;
位置:绝对位置;
最高:50%;
左:50%;
-ms转换:翻译(-50%,-50%);
转换:翻译(-50%,-50%);
}
在Div内对中Div,水平和垂直,无工作台
一,。垂直和水平中心的定位和变换特性

二,。CSS布局-水平和垂直对齐

我是垂直和水平居中的


这可能会模糊事物,因为变换的结果可能会导致事物被定位在半像素位置。针对该问题的帖子有更新。在父对象上:
变换样式:preserve-3d!这是坏的,因为这是使用表作为黑客,它可能在大多数情况下工作,但当你想改变“表”的宽度,那么它将无法正常工作(这是我现在有这个解决方案的问题),我不需要添加
display:table给家长让它工作。也许这是一个黑客。。。但它是有效的,而且大多数其他解决方案仅在特定情况下有效,在我们的情况下通常不可用。此解决方案的优点:适用于所有类型的内容(不仅适用于文本,也不适用于单行…),我还建议:display:grid;对齐项目:居中;当您有多个对象垂直对齐时效果会更好哪些浏览器支持
CSS3
?@Kiquenet,92%的全球市场请解释!在同一篇文章的下方选中此项,它非常适合所有人,无需使用fking表格
<style>
.centertext{

    position: relative;
    top: 50%;
    transform: translateY(40%);

}
</style>
  <div class="centertext">
        <font style="color:white; font-size:20px;">   Your Text Here </font>
  </div>