我已经尝试了所有可以找到的方法......对我来说没有任何效果...... 我只能围绕在另一个div中对齐div(或块元素)的问题来解决这个问题。这可能是多么困难..
我想垂直对齐绿色块。
这里是小提琴:http://fiddle.jshell.net/795St/1/
<div class="rtl centerwrapper">
<div class="green-block pull-right"></div>
<div class="green-block pull-right"></div>
<div class="green-block pull-right"></div>
<div>Average</div>
</div>
.green-block {
background-color: #02A556;
margin: 0 .25em 0 .25em !important;
width: 1em;
height: 0.5em;
}
.pull-right {
float: right;
}
.rtl {
direction:rtl;
}
.centerwrapper {
position: absolute;
top: 50%;
left: 0px;
width: 100%;
overflow: visible;
}
请..任何人都可以帮助..并解释我做错了什么?
编辑: 让我更清楚...... 我需要一行中的所有元素。 只需要在文本的垂直中间对齐块。
Edit2:这是一张图片
答案 0 :(得分:1)
新答案
这是新的小提琴链接http://fiddle.jshell.net/795St/16/
<强> CSS 强>
.green-block {
background-color: #02A556;
margin: 0 .25em 0 .25em !important;
width: 1em;
height: 0.5em;
vertical-align: middle;
position: relative;
}
.pull-right {
display: inline-table;
}
.rtl {
direction:rtl;
}
.centerwrapper {
position: absolute;
top: 50%;
left: 0px;
width: 100%;
overflow: visible;
}
HTML
<div class="rtl centerwrapper">
<div class="green-block pull-right"></div>
<div class="green-block pull-right"></div>
<div class="green-block pull-right"></div>
<div class="pull-right">Average</div>
</div>
输出屏幕截图
旧答案
这是所需的输出 http://fiddle.jshell.net/795St/5/
.pull-right {
display: inline-table;
}
.centerwrapper {
position: absolute;
top: 50%;
left: 0px;
width: 100%;
overflow: visible;
text-align: center;
}
对于内部div,我将display
添加为inline-table
,这样它们就不会被视为块元素并显示在一行中。对于外部div,我将text-align
添加为center
。所以它会在中心显示内容。
你的小提琴只做了2次改动。
div
而不是float: right
,我添加了display:inline-table
div
添加了text-align:center
。答案 1 :(得分:0)
答案 2 :(得分:0)
答案 3 :(得分:0)
您可以使用 display:flex 执行此操作:http://codepen.io/gc-nomade/pen/wmECy
html,body {
height:100%;
width:100%;
margin:0;
}
body , body > div{
display:flex;
}
div {
margin:auto;
}
.green-block {
background-color: #02A556;
margin: 0 .25em 0 .25em !important;
width: 1em;
height: 0.5em;
order:4;
}
.first {
flex:1;
order:1;
}
或显示:表格 http://jsfiddle.net/MxE8Y/5/(包括IE8)
body, html {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
display:table;
}
body {
display:table-cell;
vertical-align:middle;
}
div {
display:table;
direction:rtl;
margin:auto;
border-spacing:0.25em;
}
.green-block {
background-color: #02A556;
width: 1em;
height: 0.5em;
display:table-cell;
}
答案 4 :(得分:0)
.green-block {
background-color: #02A556;
margin: 6px 10px!important;
width: 1em;
height: 0.5em;
}
答案 5 :(得分:-1)
您必须将所有div显示为inline-block
s
.centerwrapper div {
display: inline-block;
}
答案 6 :(得分:-1)
HTML代码 平均
和CSS
.green-block {
background-color: #02A556;
margin: 0 .25em 0 .25em !important;
width: 1em;
height: 0.5em;
margin:10px!important;
list-style:none;
}
.pull-right {
float: right;
}
.rtl {
direction:rtl;
}
.centerwrapper {
position: absolute;
top: 50%;
left: 0px;
width: 100%;
overflow: visible;
}
.clear{
clear:both;
}
使用它。并以你想要的大小给出边距