我有三个小div,都出现在一个父div中。第二个(中间)div是可变大小,因为它将显示略有不同长度的文本(月份名称)。
如何使中心div与父div的中心对齐,以便第一个和第三个div在剩余空间中正确对齐?
到目前为止CSS已经到了(但它还没有用):
div.calendartitle { //The parent
display: block;
width: 117px;
height: 15px;
border-style: solid;
border-color: black;
font-size: small;
border-width: 1px;
text-align: center;
}
div.calendartitleelement { //The three sub-divs.
display: block;
float: left;
margin-left: auto;
margin-right: auto;
width: 38px;
}
HTML在JS中生成:
var html = "<div class='calendartitle'>";
html += "<div class='calendartitleelement calendertitleclickable' onclick='buildCalendar(" + previousWeekStartingDay + "," + previousMonth + ");'><<</div>";
html += "<div class='calendartitleelement'>" + months[month] + "</div>";
html += "<div class='calendartitleelement calendertitleclickable' onclick='buildCalendar(" + nextWeekStartingDay + "," + nextMonth + ");'>>></div></div>";
$("#calendardisplay").prepend(html);
答案 0 :(得分:1)
如果你给浮点数div然后保证金:自动不工作。所以,auto&amp;浮动不是同时工作。
答案 1 :(得分:0)
你不应该使用浮动左边的居中属性,例如margin auto。做这个。
div.calendartitleelement { //The three sub-divs.
display: block;
margin:0px auto;
min-width: 38px;
}
答案 2 :(得分:0)
首先将它们放入包装div中。
<div class="wrapper">
<ul class="menu clearfix">
<li class="item">test</li>
<li class="item">test</li>
<li class="item">test</li>
</ul>
</div>
<style>
.wrapper {
text-align: center;
}
.wrapper .menu {
display: inline-block;
*display: inline; /* ie6/7 hack for display inline, haslayout property */
}
.wrapper .menu li {
float: left;
}
.clearfix:after {
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}
.clearfix {display:inline-block;}
/* Hide from IE Mac \*/
.clearfix {display:block;}
/* End hide from IE Mac */
</style>