【发布时间】:2015-12-14 09:03:41
【问题描述】:
我有两个可变宽度的元素,我正在尝试按以下方式定位:
- 如果它们在屏幕上或在它们的公共容器中彼此相邻,我希望它们与它的相对侧对齐(即第二个对齐到右侧)。
- 如果他们不这样做,我希望他们一个在另一个之上,但都向左对齐。
一些简单的事情:
<div class="container">
<div style="display: inline-block;">
I'm a variable width left element
</div>
<div style="display: inline-block; float:right;">
I'm right-floating if there's space
</div>
</div>
处理第一种情况,但显然当容器足够小以使第二个 div 呈现在第一个下方时,它仍然是右浮动的,这不是我想要的。
这甚至可以用纯 CSS 实现吗?由于未知/可变宽度,我无法使用媒体查询。
【问题讨论】:
-
CSS 有很多漏洞(用纯 CSS 无法表达的理想布局)。如果您将第一个框向左浮动,可能是可能的(也可以使用
display:block),但我发现通常需要一点 Javascript。