【问题标题】:How to align item to the very bottom within flexible box layout column?如何将项目与灵活框布局列中的最底部对齐?
【发布时间】:2012-11-08 03:26:04
【问题描述】:

到目前为止,我将三列放在一个垂直框中(还不能发布图片,所以这里有一个链接): http://imgur.com/4Y34c

<div id="vbox">
<div id="blck1"></div>
<div id="blck2"></div>
<div id="blck3"><div id="yellow"></div><div id="blue"></div></div>
</div>

css

 #vbox{
 display: box;
 box-orient: vertical;
 }
 #vbox > div {
 box-flex: 1;
 }

问题是我不知道如何让蓝色框对齐到第三列的底部。我尝试了所有对齐属性,我一定做错了。 有什么想法???

【问题讨论】:

    标签: html css flexbox


    【解决方案1】:

    首先,您应该使用新的 CSS Flexible Box Module 语法(现在称为“Flex”而不是“Box”)。在此处查看规范:http://www.w3.org/TR/css3-flexbox/

    这是您尝试完成的示例(在 Chrome/Safari 中):http://jsfiddle.net/PU2AV/

    在你的第三个&lt;div&gt; 我已经设置:

    -webkit-justify-content: space-between;
    

    这会在两个元素之间创建空间(如果添加更多元素,它将平均分配所有元素之间的空间)。

    或者,您可以在#yellow 和#blue 之间添加第三个&lt;div&gt; 并给出:

    -webkit-flex: 1 1 auto;
    

    这将导致它在#yellow 和#blue(具有静态高度)之间“弯曲”,将#blue 一直向下推。如果您将其保留为透明背景,它将具有相同的效果。有时您可能会发现将灵活空间作为实际元素很有用。

    【讨论】:

    • 我刚刚意识到这在 Safari 中看起来不像预期的那样......它完全支持了吗?
    • 嗯,看起来 Safari 没有使用最新的 WebKit 版本,或者决定暂时忽略较新的 flex 属性。我在这里制作了一个使用box 的版本:jsfiddle.net/PU2AV/1。这在 Safari 中可以正常工作,Chrome 也仍然支持该语法。 HTML5/CSS3 中没有任何内容被认为是“完全支持”的,因为它们都还没有被标准化……只有工作草案。这一切都可能随时改变。
    • 呃..刚刚意识到在 Firefox 中都没有工作! Firefox 太落后了……有什么可能的解决方法吗?
    • 在这些示例中,仅使用了 -webkit- 属性。即便如此,其他浏览器都不尊重 box-align:justify,因此您必须在黄色和蓝色块之间使用填充元素。这是一个适用于大多数浏览器的版本:jsfiddle.net/PU2AV/3 请记住,这一切都是用旧规范完成的,并且正在被新的灵活盒模型所取代。
    猜你喜欢
    • 1970-01-01
    • 2022-08-20
    • 2018-02-18
    • 1970-01-01
    • 2017-02-16
    • 2016-05-28
    • 2018-05-26
    • 2013-01-29
    • 2018-02-02
    相关资源
    最近更新 更多