html - 响应式设计中的对齐div

标签 html css responsive-design

当浏览器缩小到480px时,我试图对齐div,

我有以下 html 代码,

<body>
<div id="container">
    <div id="leftcol"> left left left left left left left left left left left left left </div>
    <div id="rightcol"> right right right right right right right right right right right right </div>
    <div id="midcol"> mid mid mid mid mid mid mid mid mid mid mid mid mid mid mid  </div>
</div>
</body>

在 CSS 中,

/* CSS Document */

 *{
margin:0;
padding:0;
  }

  #container {
width: 100%;
height: 600px;
background-color:#FFFF00;
  }

  #leftcol {
float:left;
width:20%;
height: 600px;
background-color:#FF0000;
   }


  #rightcol {
float:right;
width:20%;
height: 600px;
background-color:#0099FF;
  }

  #midcol {
height: 600px;
background-color:#339900;
  }


  @media screen and (max-width:480px) {
#container {
width: 100%;
height: auto;
background-color:#FFFF00;
  }

  #leftcol {
width:100%;
height: auto;
background-color:#FF0000;
  }


  #rightcol {
width:100%;
height: auto;
background-color:#0099FF;
  }

  #midcol {
height: auto;
background-color:#339900;
  }
 }

![enter image description here][1]

http://jsfiddle.net/sztQR/

在图像中,我有左、右和中。 我想要的是, 中间左右

这可能吗?

最佳答案

怎么样this ?它使用绝对定位而不是 float ,但您无需任何 JavaScript 即可获得所需的效果...

更改 div 的顺序...

    <div id="midcol"> mid mid mid mid mid mid mid mid mid mid mid mid mid mid mid  </div>
    <div id="leftcol"> left left left left left left left left left left left left left </div>
    <div id="rightcol"> right right right right right right right right right right right right </div>

然后从 floats 更改为 position:absolute...当您达到 480px 时,再更改回 position:static

*{
    margin:0;
    padding:0;
}

#container {
    height: 600px;
    background-color:#FFFF00;
    margin: 0 20%;
}

#leftcol {
    position:absolute;
    left:0;
    top:0;
    width:20%;
    height: 600px;
    background-color:#FF0000;
}


#rightcol {
    position:absolute;
    right:0;
    top:0;
    width:20%;
    height: 600px;
    background-color:#0099FF;
}

#midcol {
    height: 600px;
    background-color:#339900;
}


@media screen and (max-width:480px) {
    #container {
        width: 100%;
        height: auto;
        margin:0;
        background-color:#FFFF00; }
    #leftcol {
        position:static;
        width:100%;
        height: auto;
        background-color:#FF0000;}
    #rightcol {
        width:100%;
        height: auto;
        background-color:#0099FF;
        position:static; }
    #midcol {
        height: auto;
        background-color:#339900; }
}

关于html - 响应式设计中的对齐div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18472164/

相关文章:

html - getusermedia - 镜像而不是翻转

html - CSS Slider - 悬停功能而不是点击

html - @media only screen and (max-width : 479px) not working for mobile

html - 如何拥有屏幕高度背景图片

html - 具有显示 : table-cell 的 CSS 调整大小的 div

html - 在主页和子页面上有不同的页脚位置是不是一个糟糕的设计?

javascript - jquery 在 mouseenter 上制作动画

css - 重叠内容和 flex 宽度问题 CSS

javascript - 尝试在鼠标进入时随机化 div 颜色

html - Angular - 如何使用 [ngstyle] 将对象动态传递给 div 元素