【发布时间】:2015-01-19 14:46:12
【问题描述】:
我有 3 个垂直行,使用 calc() 在我的屏幕上划分 我正在使用 JS 来设置每个盒子类型的高度
width: calc(1/3 * 100%);
这是设置每个块高度的javascript,它设置高度等于宽度 如果是长盒子,它会将高度设置为宽度的一半。
$('.box1').height( $('.box1').width() );
$('.box2').height( $('.box2').width() / 2 );
$('.box4').height( $('.box4').width() );
我在行中的列之间有一个奇怪的偏移量(见截图)
您可以在这里查看页面http://cloudlabme.webhosting.be/4sr
这是垂直两行的 HTML
<div class="container">
<div class="row">
<div class="box box4 box-event" style="background-image: url(build/img/events/2.jpg)"><h1>II</h1></div>
<div class="box box2 box-medium"></div>
</div>
<div class="row">
<div class="box box2 box-light"></div>
<div class="box box1 box-dark"><h3>Hier</h3></div>
<div class="box box1 box-medium"></div>
<div class="box box2"></div>
</div>
</div>
这是我的 CSS
.container {
position: relative;
width: 100%;
max-width: $breakpoint;
margin: 0 auto;
z-index: 0;
}
.row {
float: left;
width: calc(1/3 * 100%);
background: #f2f2f2;
}
/* BOX */
.box {
&.box-light {background: #fff;}
&.box-medium {background: #666;}
&.box-dark {background: #111;}
}
.box1 {
float: left;
width:50%;
background: #ff4444;
}
.box2 {
clear: left;
width: 100%;
background: #ff6666;
}
.box4 {
clear: left;
width: 100%;
background: #ff8888;
}
谢谢!这简直是在扼杀我的大脑!
【问题讨论】:
-
我可以使用一些 CSS。不仅 HMTL
-
33.33% 正在四舍五入!
-
这可能是真的!所以这就是为什么大块比左边那个高?知道可能的解决方案是什么吗?
-
使用
Math.round($('.box1').width())看看结果是否满足int的高度值。尽管有针对此类问题的 css 技术,但它们确实存在一些缺陷,这也取决于。用css或其他东西搜索正方形