交换div @media屏幕

时间:2015-01-12 06:34:27

标签: html css

这里左边的DIV是可拉伸的,右边的DIV是固定的。代码按预期工作。唯一的问题是当屏幕尺寸低于480px时,右侧DIV上升而左侧div下降。但我希望恰恰相反。

请参阅此处http://jsfiddle.net/ask2asim/wcjo4zLs/

HTML:

<div class="right"></div> 
<div class="left"></div>

CSS:

.left {
    overflow: hidden;
    min-height: 50px;
    border: 2px dashed #f0f
}

.right {
    float: right;
    width: 250px;
    min-height: 50px;
    margin-left: 10px;
    border: 2px dashed #00f
}


@media screen and (max-width: 480px) {

    .left {
    width: 100%;
}

.right {
    width: 100%;
}

}

3 个答案:

答案 0 :(得分:2)

只需在您的标记中交换类,因为有兄弟姐妹不会产生任何不同,它会以您想要的方式工作。由于General sibling selector无法以这种方式应用,因此您现在无法做到这一点。

  

〜组合器分离两个选择器并匹配第二个选择器   元素只有在第一个元素之前,并且两者共享一个共同元素   父节点。

&#13;
&#13;
*{box-sizing: border-box}
.left, .right{display: inline-block; min-height: 50px}
.left {
    overflow: hidden;
    width: calc(100% - 220px); /*This is the parent width - (.right width + 10x2 marginRight bellow)*/
    border: 2px dashed #f0f;
    margin-right: 10px
}

.right {
    width: 200px;
    border: 2px dashed #00f
}
@media screen and (max-width: 480px) {
    
    .left, .right {width: 100%}

}
&#13;
<div class="left"></div>
<div class="right"></div> 
&#13;
&#13;
&#13;

替代方案是list元素和direction: ltr/rtl

答案 1 :(得分:0)

尝试添加float:left

.left {
    overflow: hidden;
    min-height: 50px;
    border: 2px dashed #f0f;
    float:left
}

答案 2 :(得分:0)

在媒体查询中尝试此规则:

@media screen and (max-width: 480px) { 

    .left {
        width: 100%; float: left;
    }

    .right {      
        float: left;
        margin-left: 0;  width: 100%;        
    }

}