【发布时间】:2015-07-28 09:43:36
【问题描述】:
我有不同数量的物品,它们可能适合也可能不适合在容器内的单个“行”中。如果它们不适合,则应创建另一个“行”。
所有项目将包含一个单词(或最多 2 个),因此不超过 1 行数据。每个项目应该有一个 1px 的下边框,每行也应该有一个 1px 的下边框,所以结果应该是这样的:
|-----------------------------------
| |
| Foo bar Foo bar Foo bar |
|--=======-------------------------|
| |
| |
| Foo bar Foo bar Foo bar |
|----------------------------------|
(鼠标悬停在第一个项目上)。
项目的底部边框应该出现在行底部的行的顶部(隐藏的行边框与项目的宽度一样多)。
我有this codepen,但是
- 我不知道如何为每个“行”的底部边框设置样式
- 每次我将鼠标放在其中一项上时,这些项都会移动。
我应该用什么来实现我想要的?
注意:如果这样更容易的话,我可以使用 CSS3。
.container {
border: 1px solid grey;
width: 300px;
}
.item {
float: left;
/*border: 1px solid green;*/
border: 1px solid transparent;
padding: 2px 7px 2px 7px;
}
.item:hover {
border-bottom: 1px solid red;
}
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
<div class="item">Foo bar</div>
<div class="item">Foo bar</div>
<div class="item">Foo bar</div>
<div class="item">Foo bar</div>
<div class="item">Foo bar</div>
<div class="item">Foo bar</div>
<div class="item">Foo bar</div>
<div class="item">Foo bar</div>
<div class="item">Foo bar</div>
<div class="item">Foo bar</div>
</div>
【问题讨论】:
-
所有元素总是只有一行文本吗?如果是,您可能不需要更改标记。
-
@Harry,是的,所有项目都将包含一个单词(或最多 2 个),因此不超过 1 行。
-
@Pete 我也把代码放在这里了,但是渲染器有问题。它没有正确渲染容器的边界线。
-
@alexandernst 只需要这里的代码,因为这是一个参考站点,旨在帮助人们。如果链接断开,那么如果代码不在问题范围内,这将不会有帮助
-
@alexandernst:容器的边框没有出现,因为 CodePen 中包含的引导 CSS 文件未包含在此处(我认为这是一个 clearfix 问题)。我已经在问题中添加了这一点以及 cmets 中提供的说明。
标签: html css linear-gradients