CSS百分比不正确
CSS Percent Not Working Correct
网页有一个包含4个子容器的父容器。草图:
---------------
| Child 0 |
|-------------|
| Child 1 |
|-------------|
| Child 2 |
|-------------|
| Child 3 |
---------------
CSS
.Parent {
float: right;
height: 300px;
width: 25%;
}
.Child {
height: 22%;
margin-bottom: 4%;
}
Javascript
var pParent = document.getElementById("id");
pParent.className = "Parent";
for(var k = 0; k < 4; ++k) {
var pChild = document.createElement("div");
pChild.className = "Child";
pParent.appendChild(pChild);
}
4个子容器应该完全适合父容器:
4*22%+3*4%=100%或
4*22%的300px+3*4%的300px=300px,其中
4是子容器和的数量
3是子容器之间的空格/边距的数量
但事实并非如此。根据浏览器的大小,子容器可能有多小,甚至会移动到父容器之外。有人能帮我找不到什么吗?
谢谢!
您对"4*22%+3*4%=100%"的假设是不正确的,应该是"4*220%+4*4%=104%",因为每个子项都将应用一个边距底部。试试这个,
.Parent {
float: right;
height: 300px;
width: 25%;
}
.Child {
height: 22%;
margin-bottom: 3%;
}
或者,如果你想让前三个孩子有margin-bottom: 4%
,而最后一个孩子没有,那么
.Parent {
float: right;
height: 300px;
width: 25%;
}
.Child {
height: 22%;
margin-bottom: 4%;
}
.Parent:last-child{
height: 22%;
margin-bottom: none;
}
您的问题是几个错误的组合:
- 简单的数学-底部出现4次,而不是3次。(22+4)*4=104
margin-bottom: xx%
-您希望它是父高度的百分比,但实际上父宽度是计算边距的来源,即使对于margin-bottom
也是如此
margin-bottom
是根据宽度计算的,您可能需要查看flexboxes。
相关文章:
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- Amazon S3 REST API大小不正确
- Javascript Reg Exp不正确匹配
- DIV并排,位置不正确
- 仅在IE中,javascript中的时区名称不正确
- 注意:wp_enqueue_script调用不正确.在 Wordpress 调试模式下
- 你能解释一下为什么这个javascript不正确吗
- 从int值来看,Javascript日期不正确
- jQuery-迭代不正确?(太长,无法执行)
- 字符串解析不正确
- 日历显示不正确
- 引导程序下拉列表显示不正确
- Node.js:多个然后'It’执行顺序不正确
- Highcharts热图显示不正确
- Firefox使用JQuery返回不正确的JSON
- 尝试在两次迭代中警告同一选择器的值,在第一次迭代中得到正确的值,而在第二次迭代中获得不正确的值.为什么?
- Mongoose响应解析不正确
- 相对百分比高度显示不正确
- <img>高度CSS在旋转木马中使用百分比调整大小不正确
- CSS百分比不正确