【问题标题】:how to put two divs positioned horizontally if there is not enough space in parent div如果父 div 中没有足够的空间,如何将两个 div 水平放置
【发布时间】:2014-10-23 13:23:53
【问题描述】:

我有一个可以垂直扩展和收缩的父 div。里面有两个儿童div。我想根据父 div 的高度来定位孩子:

  • vertically: 如果父 div 的高度允许两个子元素垂直放置。

    • 父母 ---------------------------------- ----------------------------------
      |-child1 ------------|
      |------------------------------------|
      |-child2 ---------------------------------|
      |--------------------------------------------|
      |
      |
      |------------------------------------------------- ----------------------------------------------------
  • horizo​​ntally:如果父 div 的高度没有足够的空间让孩子垂直设置。

    • 父母 ---------------------------------- ----------------------------------
      |-child1 --------------||-child2 ----------------------------- ----|
      |------------------------||------------------------ --------------------|
      |------------------------------------------------- ----------------------------------------------------

我尝试设置父级的相对位置和子级的绝对位置,其中一个顶部 = 0,另一个底部 = 0,但是当父 div 缩小时它们会重叠。

HTML 代码:

<div id="screen_header">
 <div id="sh_header">Header text</div>
 <div id="sh_subheader">Explanation text</div>
</div>

CSS 代码:

#screen_header{
 position: relative;
}
#sh_header{
 font-size: 24px;
 padding: 10px;
 position: absolute;
 top: 0px;
}
#sh_subheader{
 padding-left: 10px;
 position: absolute;
 bottom: 0px;
}

有什么想法吗?

谢谢,

【问题讨论】:

  • 你试过浮动吗???即。给两个 div float:left
  • 如果你也能发一个fiddle,我们帮你解决问题会容易得多..
  • 是的,请将html和css粘贴到jsfiddle.net
  • 这是你想要的吗???jsfiddle.net/yyL6aq8c
  • 使用 float: left 我总是让孩子水平对齐。但我希望只有当父级的高度不允许它们垂直对齐时才会发生这种情况。

标签: html css position


【解决方案1】:

如果您使子 div 的宽度相对于父 div 的宽度,它们应该与父 div 一起缩小。例如HTML:

<div id="parent">
<div id="child1"></div>
<div id="child2"></div>
</div>

CSS:

#parent {
    width: 100%;
    height: 100%;
}

#child1{
    float: left;
    width: 50%;
    height: 50%;
}

#child2{
    float: right;
    width: 50%;
    height: 50%;
}

这只是概念代码,需要根据您的需要进行修改。

【讨论】:

  • 事实是父级是垂直扩展和收缩,而不是水平。
  • 尝试以像素为单位设置固定高度,以百分比设置宽度,这应该会停止。
  • 你需要JS计算两个item和parent的高度,然后采取相应的行动。
猜你喜欢
  • 1970-01-01
  • 2010-09-24
  • 1970-01-01
  • 2018-10-04
  • 2016-08-26
  • 1970-01-01
  • 2017-08-14
  • 2013-05-07
  • 1970-01-01
相关资源
最近更新 更多