我试图在顶部创建一个包含图片的框,在底部创建两个按钮。两个按钮必须保持内联和居中(至少水平)。
这是HTML代码:
<div id="box1">
<p>Text Text Text Text Text Text Text Text</p>
<p>Text Text Text Text Text Text Text Text Text Text Text Text Text</p>
<p>Text Text Text Text Text Text Text Text Text Text Text Text Text</p>
</div>
<div id="popinfo2">
<div>
<img src="http://imageenvision.com/450/18963-sweaty-woman-skipping-or-dancing-during-cardio-exercise-at-the-gym-clipart-by-djart.jpg">
</div>
<div>
<ul>
<li><a href="#">P</a></li>
<li><a href="#">P</a></li>
</ul>
</div>
</div>
这就是CSS:
body{
background: sandybrown;
height: 300px;
width: 90%;
}
#box1{
position: relative;
background: mediumseagreen;
padding: 0; margin: 0;
width: 60%;
height: 100%;
float: left;
}
#popinfo2{
position: relative;
background: plum;
height: 100%;
width: 40%;
float: left;
}
#popinfo2 div{
position: relative;
background: lightseagreen;
padding: 0;
display: block;
margin: auto;
vertical-align: middle;
}
#popinfo2 div:first-of-type{
width: 35%;
height: 75%;
}
#popinfo2 div:nth-of-type(2){
width: 100%;
height: 25%;
}
#popinfo2 div img{
background: aliceblue;
position: relative;
padding: 0; border: 0;
display : block;
margin: auto;
vertical-align: middle;
width: 100%;
height: 100%;
}
/*#popinfo2 div div{
background: dodgerblue;
height: 50%;
width: 80%;
padding: 0; margin: auto;
}*/
#popinfo2 div ul{
position: relative;
background: yellow;
float: left;
width: 100%;
height: 100%;
margin: 0; padding: 0;
text-align: center;
}
#popinfo2 div ul li {
position: relative;
float: left;
list-style: none;
position: relative;
padding: 0.5em;
margin: auto;
}
#popinfo2 div ul li a {
float: left;
padding: 0.5em 3.5em;
text-decoration: none;
color: white;
background: brown;
width: 2em;
}
我找到的唯一方法是在li标签内插入左边距。我并不喜欢它,因为它需要关闭百分比。
答案 0 :(得分:1)
如果您希望以中心为中心,则应使用display:inline-block
代替float
<li>
:
http://codepen.io/anon/pen/rKBeE
float kill显示并将内容发送到其容器右侧或左侧的极限,它不再完全在流程中。
答案 1 :(得分:1)
以下是DEMO
首先,使用inline-block
作为li,然后text-align: center;
将起作用。
其次,明智地检查您的代码 - 您将float:left;
设置为浮动li中的<a>
标记。