[英]Arrange SPAN and DIV with float left CSS
我试图将我的跨度安排到一个左浮点的div上,但是当我在CSS中将浮点数放到左边时,似乎该跨度就不在div内了。
我正在尝试用图片解释:
这是我尝试编写的代码:
的HTML
<div class="block1">
<div class="head-block-1">
Best Selling Tickets
</div>
<div class="content-block-1">
<div>
<span class="data-block-1">
<img src="/nutickets2/images/circle.png" height="55px">
</span>
<span class="data-block-1">
<span>Adult - General</span><span><br>TEST TEST</span>
</span>
<span class="data-block-1">
<span>50 sold since Jan 17</span><span><br>20% more sold than last period</span>
</span>
</div>
</div>
</div>
的CSS
.block1 {
width: 96%;
height: 96%;
box-shadow: 2px 2px 2px #d1d1d1;
margin-bottom: 25px;
margin-left: 10px;
}
.head-block-1 {
width: 100%;
background-color: #f6f6f6;
padding: 15px;
border: 1px solid #d1d1d1;
}
.content-block-1 {
width: 100%;
border: 1px solid #d1d1d1;
padding: 15px;
}
.data-block-1 {
width: 33%;
float: left;
}
添加overflow:auto;
到包含的div。
父元素永远不会扩展以包含浮动子元素。 因此,要使它们做到这一点,您需要告诉父级,容器中溢出的元素应自动扩展以包含它们。
还有其他方法可以做到这一点,但这是最简单的。 搜索“清理浮标”
使用浮点数可使父元素折叠其高度。 为了保持其高度,我们需要清理浮子。 因此,最好的方法是在浮动元素的底部添加clearfix元素。
尝试这个
的HTML
<div class="block1">
<div class="head-block-1">
Best Selling Tickets
</div>
<div class="content-block-1">
<div>
<span class="data-block-1 img-block">
<img src="/nutickets2/images/circle.png" height="55px">
</span>
<span class="data-block-1">
<span>Adult - General</span><span><br>TEST TEST</span>
</span>
<span class="data-block-1">
<span>50 sold since Jan 17</span>
<span><br>20% more sold than last period</span>
</span>
</div>
<div class="clearfix"></div>
</div>
</div>
的CSS
.block1 {
width: 96%;
height: 96%;
box-shadow: 2px 2px 2px #d1d1d1;
margin-bottom: 25px;
margin-left: 10px;
}
.head-block-1 {
width: 100%;
background-color: #f6f6f6;
padding: 15px;
border: 1px solid #d1d1d1;
}
.content-block-1 {
width: 100%;
border: 1px solid #d1d1d1;
padding: 15px;
}
.clearfix
{
display:table;
clear:both;
}
.data-block-1 {
width: 33%;
float: left;
}
希望这可以帮助...
或者,考虑使用Flexbox而不是float。 Flexbox简化了布局,可以避免浮动。
.block1 { width: 96%; box-shadow: 2px 2px 2px #d1d1d1; margin-bottom: 25px; margin-left: 10px; } .content-block-1 { display: flex; justify-content: space-around; border: 1px solid #d1d1d1; padding: 15px; } .head-block-1 { background-color: #f6f6f6; border: 1px solid #d1d1d1; padding: 15px; } img { border-radius: 50%; }
<div class="block1"> <div class="head-block-1"> Best Selling Tickets </div> <div class="content-block-1"> <span> <img src="http://placehold.it/55/bda603"> </span> <span>Adult - General<br>TEST TEST </span> <span>50 sold since Jan 17<br>20% more sold than last period </span> </div> </div>
您针对“数据块1”的类为33%,每个“跨度”相等。 因此,如果要使第二个“跨度”更靠近左侧,则需要更改左侧“跨度”的宽度。 我已将“ span”更改为“ divs”,因为当需要内联元素时使用“ span”,而在需要块元素时使用“ div”。
https://jsfiddle.net/scorpio777/rd9sqwuo/10/
<style>
.block1 {
width: 96%;
box-shadow: 2px 2px 2px #d1d1d1;
/* margin-bottom: 25px;*/
margin-left: 10px;
}
.head-block-1 {
width: auto;
background-color: #f6f6f6;
padding: 15px;
border: 1px solid #d1d1d1;
}
.content-block-1 {
width: auto;
border: 1px solid #d1d1d1;
padding: 15px;
min-height:55px;
}
.data-block-left {
width: 10%;
float: left;
display:inline-block;
}
.data-block-middle {
width: 45%;
float: left;
text-align: left;
display:inline-block;
}
.data-block-right {
width: 45%;
float: right;
text-align:right;
display:inline-block;
}
span {display:block;}
</style>
<div class="block1">
<div class="head-block-1">
Best Selling Tickets
</div>
<div class="content-block-1">
<div class="data-block-left">
<img src="/nutickets2/images/circle.png">
</div>
<div class="data-block-middle">
<span>
Adult - General<br>
TEST TEST</span>
</div>
<div class="data-block-right">
<span>
50 sold since Jan 17 <br>
20% more sold than last period
</span>
</div>
</div>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.