如何使用Bootstrap Vue在b-card头部将图片右对齐?
解决Bootstrap Vue b-card头部图片右对齐且不换行的问题
问题根源在于b-card的header区域默认是块级布局,<h4>和<b-img>都属于块元素,即便给图片加了right类(浮动属性),也会因块元素的换行特性导致布局错位,图片部分被挤到header区域下方。
解决方案:用Bootstrap Flex类实现同行对齐
给header模板的内容包裹一层容器,添加Bootstrap弹性布局相关类,让标题和图片在同一行水平分布且垂直居中:
<b-card header-tag="header"> <template #header> <div class="d-flex justify-content-between align-items-center"> <h4>b-img</h4> <b-img src="https://picsum.photos/125/125/?image=58" alt="Right image"></b-img> </div> </template> </b-card>
关键类作用说明:
d-flex:将容器设置为弹性布局,内部元素变为flex项,支持同行排列justify-content-between:让flex项在容器内两端对齐,标题自动靠左,图片自动靠右align-items-center:让flex项在垂直方向上居中对齐,避免因标题和图片高度差异导致的错位
修改后,标题和图片会在header区域的同一行正常显示,不会出现图片被挤到下方的情况。
内容的提问来源于stack exchange,提问作者Sunny
相关产品推荐
相关产品推荐

