这是我的HTML
<div id="restaurantInformation">
<ul>
<li>
<label>Logo</label>
<div class="oneInfo">
<div class="fileupload-new thumbnail" >
<img src="../img/logo_test.jpg" alt="Profile Avatar" style="width: 180px; height: 180px;"/>
</div>
</div>
</li>
<li>
<label>username</label>
<div class="oneInfo">
</div>
</li>
</ul>
</div>
这是css
#restaurantInformation{
position: relative;
background-color: red;
}
#restaurantInformation ul li{
list-style: none;
margin-bottom: 10px;
}
#restaurantInformation ul li label{
width: 20%;
display: block;
float: left;
}
#restaurantInformation ul li .oneInfo{
width: 60%;
float: right;
background-color: #066ECD;
}
我尝试将标签和div 放在同一行,但结果如下:
我错过了什么?
我已尝试float
left
和right
并将display
更改为block
和inline-block
,但结果将保留为图片。
答案 0 :(得分:1)
您正在看到浮动元素从常规内容流中获取的效果。
您可以通过更改CSS来防止彼此干扰,如下所示:
#restaurantInformation ul li{
list-style: none;
margin-bottom: 10px;
overflow: auto; /* trigger a new block formatting context */
}
添加overflow: auto
将创建一个新的块格式化上下文,这意味着li
中的浮动元素将受li
块边缘的限制。
请参阅演示:http://jsfiddle.net/audetwebdesign/xd7aU/
或者,您可以按照之前的建议清除浮动。
答案 1 :(得分:0)
您可以将display:table
属性用于label
并添加vertical-align: middle
以将标签内容置于框中间。