我正在尝试学习如何在没有Bootstrap的帮助下实际使用CSS。
我有以下内容:(可以在此处查看:http://plnkr.co/edit/FTCft1YOfQ4xy7FKWEHE?p=preview)
如果我使用Bootstrap,我可以通过将我的html放在一个名为
我希望名称在左侧垂直对齐,价格在右侧垂直对齐。我缺少什么?
类似于:
请不要提及表格,就像我说的那样,我可以使用Bootstrap并将上面的HTML包装在
更新1:
好的,我没有想到会有超过一两个解决方案,但实际上有很多。有人能解释一下每个解决方案的优缺点吗?我真的很茫然。
解决方案#1:
添加一个新的
我有以下内容:(可以在此处查看: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
而不是我的div.block
来实现完全相同的效果。谢谢。更新1:
好的,我没有想到会有超过一两个解决方案,但实际上有很多。有人能解释一下每个解决方案的优缺点吗?我真的很茫然。
解决方案#1:
添加一个新的
元素:new div element:
<div class="block">
<span class="pull-left">George</span>
<span class="pull-right">$23.20</span>
<div style='clear:both'></div>
</div>
解决方案 #2:
按照 thgaskel 的建议,在 block
类中添加 clear:both; overflow:auto;
。
解决方案 #3:
这个解决方案似乎会在块之间创建边距。
将 block
类的 display:block
更改为 display:inline-block
,具体方法请参考此处。
解决方案 #4:
将 float:left
添加到 block
类中,具体方法请参考此处。
解决方案 #5:
在尝试中发现了这个解决方案。创建一个新的选择器:
.block:after {
content: ":" /* <--- at a complete loss why this works */
}
解决方案 #6:
从这个页面���了解到了这个方案。
.block:after {
content:"";
display: table;
clear: both;
}
我感到有些不知所措,不确定该选择哪个。谢谢。
btn-block
具有display:block
属性? - JP Richardson