html - 具有奇偶内容的 Flexbox 居中 div
问题描述
我正在尝试利用 flexbox 创建一个垂直对齐的图像,其内容在奇数和偶数的上方和下方。
不确定下面的示例发生了什么,但它不适用于 stackoverflow。
https://codepen.io/anon/pen/jgmMRy
Box 2 Box 3
text here single line
small text
......... ......... ......... .........
. . . . . . . .
. X . . X . . X . . X .
. . . . . . . .
......... ......... ......... .........
Box 1 Box 3
text here more long
for this text here
box... something
like this
and this..
文字可能会有所不同,但我似乎无法弄清楚为什么这不起作用。我尝试了一些方法,但一直失败,图像需要垂直对齐,但内容一直在顶部浮动。
section {
display: flex;
flex-direction: column;
justify-content: center;
}
.item {
display: flex;
flex-direction: column;
position: relative;
flex-basis: 0;
flex-grow: 1;
max-width: 100%;
& > div {
flex: 0 1 auto;
align-self: auto;
}
&:nth-of-type(even) {
.copy {
order: 0;
}
}
&:nth-of-type(odd) {
.copy {
order: 1;
}
}
}
<section>
<div class="row">
<div class="item">
<div class="copy">
<h2>heading</h2>
<p>loremAnte ultricies tincidunt primis elit dapibus ipsum at rutrum euismod class, litora orci integer mi dictum et curabitur duis tortor, cum potenti ultrices platea est commodo ornare magna rhoncus.</p>
</div>
<div class="imageMain">
<img src="https://via.placeholder.com/222x222" />
</div>
</div>
<div class="item">
<div class="copy">
<h2>heading</h2>
<p>loremAnte ultricies tincidunt primis elit dapibus ipsum at rutrum euismod class, litora orci integer mi dictum et curabitur duis tortor, cum potenti ultrices platea est commodo ornare magna rhoncus.</p>
</div>
<div class="imageMain">
<img src="https://via.placeholder.com/222x222" />
</div>
</div>
<div class="item">
<div class="copy">
<h2>heading</h2>
<p>loremAnte ultricies tincidunt primis elit dapibus ipsum at rutrum euismod class, litora orci integer mi dictum et curabitur duis tortor, cum potenti ultrices platea est commodo ornare magna rhoncus.</p>
</div>
<div class="imageMain">
<img src="https://via.placeholder.com/222x222" />
</div>
</div>
</div>
</section>
解决方案
也许不是最好的代码,但我有这个给你:
https://codepen.io/benjaminbarbe10/pen/RXVorw
<section>
<div class="row1">
<div class="item">
loremAnte ultricies tincidunt primis elit dapibus ipsum at rutrum euismod class, litora orci integer mi dictum et curabitur duis tortor, cum potenti ultrices platea est commodo ornare magna rhoncus.
</div>
</div>
<div class="row">
<div class="item">
<img src="https://via.placeholder.com/222x222" />
</div>
<div class="item">
<img src="https://via.placeholder.com/222x222" />
</div>
<div class="item">
<img src="https://via.placeholder.com/222x222" />
</div>
</div>
<div class="row3">
<div class="item">
loremAnte ultricies tincidunt primis elit dapibus ipsum at rutrum euismod class, litora orci integer mi dictum et curabitur duis tortor, cum potenti ultrices platea est commodo ornare magna rhoncus.
</div>
<div class="item">
loremAnte ultricies tincidunt primis elit dapibus ipsum at rutrum euismod class, litora orci integer mi dictum et curabitur duis tortor, cum potenti ultrices platea est commodo ornare magna rhoncus.
</div>
</div>
</section>
.row{
display:flex;
}
.row1{
display:flex;
justify-content: center;
}
.item{
width: 33%;
text-align: center;
padding : 30px;
}
.row3{
display:flex;
justify-content: space-between;
}
希望会有所帮助
推荐阅读
- angular - wow.js 与 Angular 产生警告
- java - Tomcat 服务器 HTML 页面井字游戏中的 ArrayIndexOutOfBoundsException
- javascript - javascripty中基于大小写字母的字符串匹配
- cors - nodemcu esp8266中的CORS问题
- c# - 如何将此 Task.WhenAll() 实现转换为 Parallel.ForEach()?
- ios - Whatsapp ChatStorage.sqlite 文件已损坏
- python - 创建中断 (ISR) 以创建平滑的机械臂运动
- python - 如何在 Python 中获取 CFFI 函数的 `const` 修饰符?
- node.js - 使用 VSCode 在 Docker 容器中调试 Typescript 文件
- ionic-framework - PWA 服务工作者缓存/更新预期行为