首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CSS媒体查询在其他容器之间拉出2个容器

使用CSS媒体查询在其他容器之间拉出2个容器
EN

Stack Overflow用户
提问于 2012-06-16 03:09:53
回答 1查看 123关注 0票数 0

我需要使用CSS媒体查询来拉出右侧的第二个和第四个框。当浏览器加宽时,框2和4需要向右移动,框2需要在框1下保持齐平。框的顺序是必需的。

我想出的解决方案是接近的,但是当框2的文本太长时,它会将框3向下推。重要的是,框3在框1下保持平齐。

下面是一个用JsFiddle编写的示例:http://jsfiddle.net/FJswg/

代码语言:javascript
复制
<html>
  <style>
    body {
      margin:0;
      padding:0;
    }
    div {
      padding:10px;
    }
    #box1 {
      color:#fff;
      background-color:#00f;
    }
    #box2 {
      background-color:#0f0;
    }
    #box3 {
      background-color:#f00;
    }
    #box4 {
      color:#fff;
      background-color:#000;
    }
    @media screen and (min-width: 500px) {
      #box1 {
        float:left;
        clear:left;
        width:150px;
      }
      #box2 {
        margin-left:170px;
      }
      #box3 {
        float:left;
        clear:left;
        width:150px;
      }
      #box4 {
        margin-left:170px;
      }
    }
  </style>
  <body>
    <div id="box1">Box 1</div>
    <div id="box2">Box 2, Consectetur gentrify gluten-free fanny pack, bespoke enim ethical letterpress pitchfork ullamco pickled.</div>
    <div id="box3">Box 3</div>
    <div id="box4">Box 4, 8-bit mumblecore excepteur readymade single-origin coffee fingerstache mlkshk. Sint fanny pack raw denim quinoa. Ennui vero photo booth magna.</div>
  </body>
</html>

更新

如果我必须使用JavaScript,这是最干净的方法吗?http://jsfiddle.net/FJswg/8/

代码语言:javascript
复制
var size = 0;
$(window).resize(function() {
    checkWidth();
});
$(document).ready(function() {
    checkWidth();
});

function checkWidth() {
    var newWidth = $(window).width();
    var newSize = 0;
    if (newWidth >= 500) {
        newSize = 1;
    }
    if (newSize != size) {
        size = newSize;
        $moveElement = (size < 0) ? $("#box2") : $("#box3");
        $("#box1").after($moveElement);
    }
}?
EN

回答 1

Stack Overflow用户

发布于 2012-06-16 03:28:59

一种选择是使用相对+绝对定位。请在此处查看demo

代码语言:javascript
复制
@media screen and (min-width: 500px) {
      #box1 {
        float:left;
        clear:left;
        width:150px;
      }
      #box2 {
        margin-left:170px;
      }
      #box3 {
        top: 50px;            
        clear:left;
        width:150px;
        position: absolute;
      }
      #box4 {
        margin-left:170px;
      }

您可能还需要使用javascript将高度动态设置为box1 top

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

https://stackoverflow.com/questions/11056783

复制
相关文章

相似问题

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