【问题标题】:CSS, HTML LayoutCSS,HTML 布局
【发布时间】:2016-06-14 05:34:12
【问题描述】:

我一直试图让我的页面在下面附加以下布局,但没有成功。我想把箱子堆放在第二列。谁能指出我正确的方向?谢谢。

【问题讨论】:

标签: html css layout


【解决方案1】:

创建 2 个 div,一个用于左侧,一个用于右侧,然后在右侧 div(与左侧 div 大小相同)内将 3 个 div 作为单独的 div。在你的 HTML 中有这样的东西:

<div id="left>
....some stuff....
</div>
<div id="rightContainer">
    <div id="top">
    ....some stuff....
    </div>
    <div id="middle">
    ....some stuff....
    </div>
    <div id="bottom">
    ....some stuff....
    </div>
</div>

您的 CSS 将是:

#left {
width: 200px;
float:left;
height:600px;
}
#rightContainer {
width: 200px;
float:left;
height:600px;
}
#top, #middle, #bottom {
height:200px;
width:100%;
float:left;
}

应该是关于你需要什么(或者差不多!)。

到目前为止发布您的代码,我相信我们可以做得更多:)

【讨论】:

  • 感谢您的回答!我是这个论坛的新手,所以没有意识到我必须发布我的代码。下次我一定会这样做。两个答案都有效。我缺少的是包含 3 个 div 的整个容器。
【解决方案2】:

我创建了两个 js fiddles 供您查看。两者都使用%而不是固定数字,第一个在右侧的水平容器之间具有均匀的间距(尽管它们与左侧不共享相同的底部),而第二个使底部容器位于右侧有一个绝对位置,在水平容器之间产生不均匀的空间: html:

<div id="left">

</div>
<div id="right">
  <div id="row1"></div>
  <div id="row2"></div>
  <div id="row3"></div>
</div>

css:

#left {
  display: inline-block;
  border: 2px solid black;
  height: 596px;
  width: 30%;
}

#right {
  position: relative;
  display: inline-block;
  height: 600px;
  width: 60%;
  margin-left: 8%;
  vertical-align: top;
}

#row1,
#row2,
#row3 {
  border: 2px solid black;
}

#row1,
#row2 {
  height: 30%;
  margin-bottom: 5%;
}

#row3 {
  height: 20%;
}

same spacing but different bottoms jsfiddle

html:

<div id="left">

</div>
<div id="right">
  <div id="row1"></div>
  <div id="row2"></div>
  <div id="row3"></div>
</div>

css:

#left {
  display: inline-block;
  border: 2px solid black;
  height: 596px;
  width: 30%;
}

#right {
  position: relative;
  display: inline-block;
  height: 600px;
  width: 60%;
  margin-left: 8%;
  vertical-align: top;
}

#row1,
#row2,
#row3 {
  border: 2px solid black;
}

#row1,
#row2 {
  height: 35%;
  margin-bottom: 5%;
}

#row3 {
  height: 20%;
  position: absolute;
  bottom: 0;
  width: 100%;
}

same bottom but different spacing jsfiddle

这与您正在寻找的内容接近吗?

【讨论】:

  • 感谢您的回答!我是这个论坛的新手,所以没有意识到我必须发布我的代码。下次我一定会这样做。两个答案都有效。我缺少的是包含 3 个 div 的整个容器。使用 position:absolute 有什么好处;位置:相对于使用左浮动?
  • float:left; 影响一个元素相对于一个容器中的其他元素的显示方式。 position:absolute; 实际上只是使该元素的位置不受其他元素的影响。通常两者都可以用来实现一个目的。查看您的情况并决定使用哪个。例如。如果您想让某些东西左对齐并让其他元素环绕它(例如,带有文字环绕的图片),float:left; 是有道理的。但是,如果您希望某些内容看起来好像位于其他内容之上(例如,图像之上的文本),position:absolute; 更合适。
  • 感谢您的解释!
猜你喜欢
  • 2018-03-22
  • 2014-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-28
  • 2012-04-16
相关资源
最近更新 更多