gpt4 book ai didi

html - 将元素定位在 div 的底部(不是父元素)- Twitter Bootstrap v3

转载 作者:太空宇宙 更新时间:2023-11-04 13:14:54 24 4
gpt4 key购买 nike

我正在尝试将一个元素(按钮)定位在 div 的底部,请检查我的代码以准确理解我想要实现的目标:

<body>
...
<div class="row">
<div class='col-md-3>
...
</div>
<div class='col-md-4 narrow'>
<div class='row'>
<div class='col-md-4'>
...
</div>
<div class='col-md-4'>
...
</div>
<div class='col-md-4'>
...
</div>
</div>
<div class='row'>
<div class='col-md-12'>
<a href="#">
<button>I'M THE ELEMENT!</button>
</a>
</div>
</div>
</div>
<div class='col-md-5'>
...
</div>
</div>
...
</body>

我无法设置 position:absolute,因为这破坏了我元素的视觉风格。

看我准备的这张图:

Layout

注意: 蓝色列的高度可变...因此我想将按钮放置在这些列的底部。我怎样才能做到这一点?

最佳答案

您有几个选项,但不幸的是,在 Bootstrap 框架的限制下,这两个选项都不可行。

选项 1:Flex-box

Flex-box旨在解决与此完全相同的问题,并且是 future 在 CSS 中创建布局的方式。

我已经使用 flex-box 实现了你的图像模型:

Live example.

这是我的例子中的代码:

<section class="main">
<div class="left"></div>
<div class="middle">
<div class="middle-top-container">
<div class="middle-top-column"></div>
<div class="middle-top-column"></div>
<div class="middle-top-column"></div>
</div>
<div class="middle-bottom-container">
<button>I'm the element!</button>
</div>
</div>
<div class="right"></div>
</section>

.main {
display: flex;
justify-content: space-between;
height: 600px;
}

.main .left {
flex-grow: 3;
border: 2px solid #f00;
}

.main .middle {
flex-grow: 4;
display: flex;
flex-direction: column;
justify-content: space-between;
}

.main .middle .middle-top-container {
flex-grow: 1;
display: flex;
justify-content: space-between;
}

.main .middle .middle-top-container .middle-top-column {
border: 2px solid #00f;
flex-grow: 4;
}

.main .middle .middle-bottom-container {
border: 2px solid gold;
text-align: center;
}

.main .right {
flex-grow: 5;
border: 2px solid #0f0;
}

(请注意,您需要为 flex 相关属性添加适当的 vendor prefixes 以获得最佳浏览器支持,但我的实现按原样在 Chrome 中运行。)

这对您意味着什么:对于页面的这一部分,您需要删除 Bootstrap 布局类并使用类似于我的实现(当然您可以根据需要对页面的其他部分使用 Bootstrap 布局) .

More information about flex-box with visual examples.

选项 2:定位上下文

可以使用 position: absolute; ,但同样,您将不得不在页面的这一部分使用 Bootstrap 布局类。它需要设置 position: relative;在包含元素上,包裹最外层三列布局中心的元素(对应于我实现中的 <div class="middle">...</div>)以建立定位上下文,然后使用 position: absolute; right: 0; bottom: 0; left: 0;在包含您的按钮的元素上。

请注意,根据我的观点和经验, flex 盒方法不那么脆弱,更面向 future ,并且比这个选项更可取。

关于html - 将元素定位在 div 的底部(不是父元素)- Twitter Bootstrap v3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29134922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com