我有两个div(divA和divB)。我使用display:inline块将它们并排放置。每个div都有一个宽度百分比。问题是我的布局是响应的,我尝试过使用float,但它破坏了我的布局。在较小的屏幕上,两个div不是内联的,DivB在DivA下面移动。

.divA {
background-color:#CCC;
height:40px;
width:40px;
display:inline-block;
vertical-align:top;
margin-right:15px;
}

.divB {
background-color:#0FF;
height:auto;
width:85%;
display:inline-block;
vertical-align:top;
}



<div class="divA"></div>
<div class="divB"></div>

如何使divB的宽度自动调整到屏幕的宽度,并与divA保持一致?我所做的一切都不管用。
谢谢你的帮助。
***编辑
这就是解决方案:
.container {
height:100%;
width:auto;
padding-top: 15px;
padding-bottom: 50px;
padding-left: 15px;
padding-right: 15px;
}

.divA {
background-color:#CCC;
height:40px; width:40px;
display:inline-block;
vertical-align:top;
margin-right:15px;
}

.divB {
background-color:#0FF;
height:100%;
width: calc(100% - 60px);
display:inline-block;
vertical-align:top;
}

如果您使用的是响应式设计,则此方法是完美的,因为您不必浮动div。使用这种方法,div a(40px×40px正方形)将保持在左侧,而divB(矩形div)将保持在右侧。divB的宽度将根据屏幕的宽度增加或减少,并且div将保持在divA的右侧,无论屏幕变得多么小。
只要调整divB的宽度,就可以更改divA的尺寸:
width: calc(100% - 60px);

最佳答案

试试这个
plnkr

.divA {
  background-color:#CCC;
  height:40px;
  width:40px;
  display:inline-block;
  vertical-align:top;
  margin-right:15px;
  float: left;
}

.divB {
  background-color:#0FF;
  height:40px;
  width: calc(100% - 55px);
  display:inline-block;
  vertical-align:top;
  float:left;
}

我使用calc计算divB的宽度(divA的100%宽度-40px宽度-15px右边距)。然后向左浮动以移除空间(内联块元素之间)

关于html - 如何防止内联块元素堆叠?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35544940/

10-12 17:08