边框在不应该应用于兄弟姐妹时
Border is applied to siblings when it shouldn't be
我遇到了看似非常基本的 css 问题,但不应该成为问题。我有三个 div:
(直接从firebug输出。每个div包含很多内容和嵌套形式部分(rails)所以下面是一个缩写)
<div class="dynamic-container person">
<div class="symegrid"></div>
<div class="officer tf-attribute"></div>
<div class="director tf-attribute"></div>
</div>
class tf-attribute
的 Div 应该有一个寄宿生:
div.tf-attribute{
border: medium solid #a5ac20;
border-radius: 10px;
padding: 20px;
}
奇怪的是边框被应用到 class symegrid
的 div。当我使用 firebug 检查 symegrid
div 的计算属性时,没有列出边框。如果我去掉 tf-attribute
的边框,symegrid
周围的边框就会消失。
我怀疑是否有人能够就此给我一个明确的答案,但我 运行 没有想法。有没有人见过这种行为?任何 ideas/thoughts 将不胜感激。
作为对我收到的评论的回应:
有人非常公平地建议我 post 在 fiddle 或类似的东西中重现问题。 我目前正在尝试在 fiddle 中重现此内容,但目前还不能。如果我能够这样做,我会 post 它(虽然我怀疑复制它可能会给我解决问题所需的信息)
你错过了关闭div tag
查看 fiddle:“https://jsfiddle.net/s48o7kr1/”
代码变为:
<div class="dynamic-container person">
<div class="symegrid"></div>
<div class="officer tf-attribute"></div>
<div class="director tf-attribute"></div>
</div>
将您的 html 更改为
<div class="dynamic-container person">
<div class="symegrid"></div>
<div class="officer tf-attribute"></div>
<div class="director tf-attribute"></div>
</div>
因此,出于某种原因,div.officer.tf-attribute
碰巧调整了自身的大小以包含 div.symegrid
的确切边界,而将自己的内容留在下方。因此 div.symegrid
似乎只有一个边框,并且因为 div.officer.tf-attribute
的内容夹在两个带边框的 div 之间,所以它本身似乎有一个边框。 (仍然无法在 fiddle 中做到这一点,但无论如何)
无论如何,我只需要添加
div.tf-attribute{
overflow: hidden;
}
一切都变得更好了。 :-P 感谢所有愿意花时间研究这些废话的人。
我遇到了看似非常基本的 css 问题,但不应该成为问题。我有三个 div: (直接从firebug输出。每个div包含很多内容和嵌套形式部分(rails)所以下面是一个缩写)
<div class="dynamic-container person">
<div class="symegrid"></div>
<div class="officer tf-attribute"></div>
<div class="director tf-attribute"></div>
</div>
class tf-attribute
的 Div 应该有一个寄宿生:
div.tf-attribute{
border: medium solid #a5ac20;
border-radius: 10px;
padding: 20px;
}
奇怪的是边框被应用到 class symegrid
的 div。当我使用 firebug 检查 symegrid
div 的计算属性时,没有列出边框。如果我去掉 tf-attribute
的边框,symegrid
周围的边框就会消失。
我怀疑是否有人能够就此给我一个明确的答案,但我 运行 没有想法。有没有人见过这种行为?任何 ideas/thoughts 将不胜感激。
作为对我收到的评论的回应:
有人非常公平地建议我 post 在 fiddle 或类似的东西中重现问题。 我目前正在尝试在 fiddle 中重现此内容,但目前还不能。如果我能够这样做,我会 post 它(虽然我怀疑复制它可能会给我解决问题所需的信息)
你错过了关闭div tag
查看 fiddle:“https://jsfiddle.net/s48o7kr1/”
代码变为:
<div class="dynamic-container person">
<div class="symegrid"></div>
<div class="officer tf-attribute"></div>
<div class="director tf-attribute"></div>
</div>
将您的 html 更改为
<div class="dynamic-container person">
<div class="symegrid"></div>
<div class="officer tf-attribute"></div>
<div class="director tf-attribute"></div>
</div>
因此,出于某种原因,div.officer.tf-attribute
碰巧调整了自身的大小以包含 div.symegrid
的确切边界,而将自己的内容留在下方。因此 div.symegrid
似乎只有一个边框,并且因为 div.officer.tf-attribute
的内容夹在两个带边框的 div 之间,所以它本身似乎有一个边框。 (仍然无法在 fiddle 中做到这一点,但无论如何)
无论如何,我只需要添加
div.tf-attribute{
overflow: hidden;
}
一切都变得更好了。 :-P 感谢所有愿意花时间研究这些废话的人。