首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REM作为大众响应css站点

REM作为大众响应css站点
EN

Stack Overflow用户
提问于 2014-11-25 10:41:48
回答 1查看 275关注 0票数 0

我正在做这样的事情:http://codepen.io/axlpl/pen/vEOyqL,但是当你调整浏览器的大小时,当你的右站点在左下角而不是一行时,有人能帮我解决这个问题吗?在Sass函数中,它的函数得到了,第一个arg "$size“得到了它的项目大小,这里我得到了1200 we,第二个arg它的"$target”它的元素大小--例如在1200px中我们得到了400 we的元素包装;

代码语言:javascript
复制
<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

代码语言:javascript
复制
@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

代码语言:javascript
复制
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();
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-25 10:50:04

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

作为解决办法,您可以简单地定义内部div的宽度,如下所示

代码语言:javascript
复制
.left--green, right {
  width: 50%;
}

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27124463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档