我试图将一条通知消息集中在一个div中,我试了top:50%
但是它没有用。我试着加入一些填充物,我不喜欢那种方法。你可以看到这里的小提琴:http://jsfiddle.net/VPdmT/
.message > .inner {
padding:22px 0 0 40px;
top:50%;
margin:0 0 22px;
background-repeat:no-repeat;
background-position:0 17px;
}
答案 0 :(得分:1)
顶级CSS规则只能应用于其位置不是静态的元素。因为你没有声明绝对或相对,所以忽略top。
编辑:关于真正的答案,请执行以下操作:
.message { display: table; width: 100%; }
.message>.inner { display: table-cell; vertical-align: middle; }
答案 1 :(得分:1)
.message > .inner {
padding: 0;
background-repeat: no-repeat;
background-position:0 17px;
display: table-cell;
vertical-align: middle;
}
.message.success {
color:#0e6200;
background-color:#d8ffcc;
border-color:#b3f39f !important;
display: table;
}
重要的一点是,展示table-cell
的div必须位于显示table
的div内。
答案 2 :(得分:1)
http://css-tricks.com/snippets/css/absolute-center-vertical-horizontal-an-image/ 此链接显示如何居中图像。它可能适合你一些调整。
答案 3 :(得分:0)
.message > .inner {
padding:22px 0 0 40px;
vertical-align:middle;
display:table-cell;
margin:0 0 22px;
background-repeat:no-repeat;
background-position:0 17px;
}