我正在尝试学习如何在没有 Bootstrap 的帮助下实际使用 CSS。
我有以下内容:(可以在这里查看:http ://plnkr.co/edit/FTCft1YOfQ4xy7FKWEHE?p=preview )
<div class="block">
<span class="pull-left">George</span>
<span class="pull-right">$23.20</span>
</div>
<div class="block">
<span class="pull-left">Carl</span>
<span class="pull-right">$4.81</span>
</div>
<div class="block">
<span class="pull-left">Steve</span>
<span class="pull-right">$0.34</span>
</div>
和CSS...
.pull-left {
float: left;
}
.pull-right {
float: right;
}
.block {
display: block; /* since, div, I don't need this right ?*/
background-color: #87CEEB;
width: 100%;
}
如果我使用的是 Bootstrap,我可以通过将我的 html 放在一个container
div 中而不是使用我的自定义类block
,添加类btn
和btn-block
.
我想让名称在左侧垂直对齐,价格在右侧垂直对齐。我错过了什么?
有点像:
George $23.20
Carl $4.81
Steve $0.34
请不要提及表格,就像我说的,我可以使用 bootstrap 并将上面的 html 包装在 中div.container
,然后使用button.btn.btn-block
代替 mydiv.block
来达到完全相同的效果。谢谢。
更新1:
好吧,我没想到会有不止一两个解决方案,但是有很多。有人可以解释每种解决方案的优缺点吗?我在这里真的很茫然。
解决方案#1:
添加一个新的 div 元素:
<div class="block">
<span class="pull-left">George</span>
<span class="pull-right">$23.20</span>
<div style='clear:both'></div>
</div>
解决方案#2:
通过thgaskel添加clear:both; overflow:auto;
到课程block
解决方案#3:
这似乎在块之间创建了边距。
更改 display:block
为班级display:inline-block
。block
解决方案#4:
添加 float:left
到block
班级。
解决方案#5:
在乱搞的时候发现了这个。创建一个新的选择器:
.block:after {
content: ":" /* <--- at a complete loss why this works */
}
解决方案#6:
通过阅读此页面发现了这一点。
.block:after {
content:"";
display: table;
clear: both;
}
我感到非常不知所措,不知道该选哪个。谢谢。