html - 使用 flex-start 和 flex-end 将图标固定到 flexbox 容器的角落
问题描述
我有一个视频容器。当视频没有播放时,我想要三个可用的东西:
- 远程用户的图标或缩写(左上角)
- 视频播放图标(中间)
- 扩展/收缩(右下角)
我尝试使用align-self: flex-start
and将图标推到角落align-self: flex-end
,但他们不会去角落。同时我希望视频图标在框中居中。
到目前为止,我有这个:
我的 SCSS:
.video-container {
width: 270px;
height: 202px;
border: 1px solid #cececc;
background-color: $grey-light;
padding: 15px;
margin: 20px;
display: flex;
align-items: center;
justify-content: center;
.top-left {
align-self: flex-start;
}
.bottom-right {
align-self: flex-end;
}
}
HTML:
<div class='video-container' id='remote-media' data-target='video.remoteContainer'>
<span class='top-left'>
<%= concept(Avatar::Cell,@meeting.invitee_id,current_user: current_user ) %>
</span>
<i class="fa fa-video fa-3x"></i>
<span class='video-expand bottom-right'>
<i class="far fa-expand-arrows-alt fa-2x" data-target='video.expand' data-action='click->video#expand'></i>
<i class="far fa-compress-alt fa-2x display-none" data-target='video.contract' data-action='click->video#contract'></i>
</span>
</div>
解决方案
我所做的是
- 将
flex-direction
你的属性设置#video-container
为column
justify-content:space-between;
向您的#video-container
3.used属性添加属性align-self
以将子元素对齐到不同的位置
它工作正常。
#video-container{
width:200px;
height:200px;
border:1px solid #000;
display:flex;
flex-direction:column;
justify-content:space-between;
}
#video-container>span{
border:1px solid #000;
width:50px;
height:50px;
}
.center{
align-self:center;
}
.bottom-right{
float:right;
align-self:flex-end;
}
<div id="video-container">
<span class="top-left"></span>
<span class="center"></span>
<span class="bottom-right"></span>
</div>
推荐阅读
- javascript - 我想用 math.random 获得 0.00 - 20.00 之间的数字,但似乎无法让它工作
- arrays - RTTY 翻译,多行
- javascript - 如何控制http post的时间
- amazon-web-services - AWS 中的 Kubernetes 入口
- java - java异常 - 为什么它会捕获?
- php - 使用来自 mySQL 的数据填充 HTML DIV
- python - subprocess.Popen 调用带参数的程序
- node.js - 我希望我的机器人删除包含关键字或包含类似字符的消息
- ruby-on-rails - 从 Rails 发送 CSRF 令牌到 React SPA
- python - python获取网站的html代码无需等待获取所有代码