【发布时间】:2020-12-05 04:30:03
【问题描述】:
我正在尝试使用 flexbox 在 Spotify 的 Web 界面中创建类似于此布局的内容:
想要的结果:
.
我的想法是我希望有两个相等的列,左右部分,其中左边是高度为 100% 的图像,右边部分将显示在两个相等的列中。问题是我无法将正确的两个文本行显示为列,即使我尝试使用 flex-direction: column 和 flex-wrap: wrap 在父项和 flex 项上。
这是我的代码:
**HTML**
<footer>
<div class="song-info">
<img src="https://via.placeholder.com/56x56" alt="Song cover">
<span class="song-name">Silent Song</span>
<span class="artist-name">Daniel Rossen</span>
</div>
<div class="song-controls">Lorem Ipsum</div>
<div class="song-volume">Lorem Ipsum</div>
</footer>
**CSS**
footer .song-info {
max-width: 15%;
display: flex;
}
footer .song-info span {
display: flex;
flex-direction: column;
height: 50%;
flex-wrap: wrap;
}
我还是明白了:
虽然我希望 .song-name 和 .song-volume 成为初始屏幕截图中的列。
【问题讨论】:
-
您当前状态的屏幕截图似乎与您对“右侧部分...显示在两个相等的列中”的描述相符。来自 Spotify 的屏幕截图将右侧部分组织为行。你有可能在这里混淆了你的定义吗?
-
将您的歌曲和艺术家跨度包装到一个新元素中或使用网格而不是 flex(我更喜欢网格,这样您就不必添加额外的元素)
-
谢谢@arieljuod,会试试的