gpt4 book ai didi

jquery - REM 作为大众响应式 CSS 站点

转载 作者:太空宇宙 更新时间:2023-11-04 12:38:00 26 4
gpt4 key购买 nike

我正在做这样的事情:http://codepen.io/axlpl/pen/vEOyqL但是当您调整浏览器大小时,有时右边的站点不在一行中,而是在左边,有人可以帮我解决这个问题吗?在 Sass 函数 vw 中,它的函数是获取百分比,第一个参数是“$size”它的元素大小,这里我得到 1200px,第二个参数是它的“$target”它的元素大小在元素大小为 1200px 的示例中,我们得到了大小为 400px 的元素包装器;

HTML

<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();
});

最佳答案

这可能是一个舍入问题。内部 div 元素的宽度为 16.666667%,对于某些断点,它们超过了父元素的宽度(33.333333%);当发生这种情况时,正如您所观察到的,第二个 div 会移到第一个 div 的下方

作为解决方法,您可以像这样简单地定义内部 div 的宽度

.left--green, right {
width: 50%;
}

示例:http://codepen.io/anon/pen/emNgmb

关于jquery - REM 作为大众响应式 CSS 站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27124463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com