我觉得 CSS 比 C++ 更难更令人困惑,因此我几乎没有问题。
考虑以下 html 正文
<div id="mydiv1">12345~~~~~~~~/</div><div id="mydiv2">+_______67890</div>
和 CSS
#mydiv1 {
float: left;
background-color: red;
margin-right: -30px;
}
#mydiv2 {
float: left;
background-color: blue;
}
看起来像这样(在我最新的 Chrome 中)
这对我来说很有意义,因为第二个 div 是浮动的,并且它浮动在第一个 div 上。
另一方面,如果我mydiv2
仅从内容移动中删除浮动属性,但背景框保持在同一个位置。
1)你能解释一下为什么吗?
现在我将删除边距和浮动,并为两个 div 添加宽度以制作 CSS
#mydiv1 {
background-color: red;
width: 220px;
}
#mydiv2 {
background-color: blue;
width: 240px;
}
它会看起来像这样
但是如果我添加float: left
它#mydiv1
突然看起来像这样
2) 为什么第二个 div 变成两倍高?我通过将z-index
第一个 div 设置为 -1 来检查它。
PS。我在 CodeAcademy 上完成了教程,并在 smasmingmagazine.com 上阅读了与浮动/保证金相关的文章。可悲的是,它并没有让一切都变得一清二楚。如果你们可以建议可以向我解释这些问题的在线资源或书籍,我将不胜感激。