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>