我正在做这样的事情:http://codepen.io/axlpl/pen/vEOyqL,但是当你调整浏览器的大小时,当你的右站点在左下角而不是一行时,有人能帮我解决这个问题吗?在Sass函数中,它的函数得到了,第一个arg "$size“得到了它的项目大小,这里我得到了1200 we,第二个arg它的"$target”它的元素大小--例如在1200px中我们得到了400 we的元素包装;
<div class="wrapper">
<div class="left--green"></div>
<div class="right">
<div class="block--red"></div>
<div class="block--black"></div>
<div class="block--blue"></div>
<div class="block--yellow"></div>
</div>
</div>SASS
@function vw($size, $target) {
$vw: $size / 100;
@return ($target / $vw) * 1rem;
}
.wrapper {
width: vw(1200, 400);
height: vw(1200, 200);
float: left;
}
.left,
.right {
width: vw(1200, 200);
height: vw(1200, 200);
float: left;
display: block;
&--green {
@extend .right;
background: green;
}
}
.block {
height: vw(1200, 100);
width: vw(1200, 100);
float: left;
&--red {
@extend .block;
background: red;
}
&--blue {
@extend .block;
background: blue;
}
&--yellow {
@extend .block;
background: yellow;
}
&--black {
@extend .block;
background: black;
}
}JS
function viewport() {
var e = window, a = 'inner';
if (!('innerWidth' in window )) {
a = 'client';
e = document.documentElement || document.body;
}
return { width : e[ a+'Width' ] , height : e[ a+'Height' ] };
}
function updateVw(){
var vw = (viewport().width/100);
if(vw % 2) {
console.log('tak');
} else {
console.log('nie');
}
jQuery('html').css({
'font-size' : vw + 'px'
});
}
updateVw();
jQuery(window).resize(function(){
updateVw();
});发布于 2014-11-25 10:50:04
这可能是一个四舍五入的问题。内部div元素的宽度为16.666667%,对于某些断点,它们超过父元素的宽度(即33.333333%);当发生这种情况时,正如您所观察到的,第二个div在第一个断点下移动。
作为解决办法,您可以简单地定义内部div的宽度,如下所示
.left--green, right {
width: 50%;
}示例:http://codepen.io/anon/pen/emNgmb
https://stackoverflow.com/questions/27124463
复制相似问题