目录
- 问题
- flex布局示例
- 解决办法
- 方式一
- 方式二
- 参考
问题
css中使用flex布局中子元素高度height没有达到100%
flex布局示例
希望实现两个盒子左右分布,内容垂直居中对齐
<style>.box {display: flex;align-items: center;border: 1px solid #eeeeee;}.box-left {background-color: pink;}.box-right {background-color: skyblue;}
</style><div class="box"><div class="box-left">《绝句》唐杜甫</div><div class="box-right"><div class="box-right__item">两个黄鹂鸣翠柳,一行白鹭上青天。</div><div class="box-right__item">窗含西岭千秋雪,门泊东吴万里船。</div></div>
</div>
可以看到,左边的盒子高度并没有撑满
解决办法
方式一
将父元素的样式align-items: center
去除,单独设置子元素的对齐样式
.box {display: flex;/* align-items: center; */border: 1px solid #eeeeee;}.box-left {background-color: pink;/* 增加如下样式 */display: flex;align-items: center;}.box-right {background-color: skyblue;}
方式二
使用 align-self: stretch;
将子元素撑满
.box {display: flex;align-items: center;border: 1px solid #eeeeee;}.box-left {background-color: pink;/* 子元素撑满 */align-self: stretch;display: flex;align-items: center;}.box-right {background-color: skyblue;}
处理结果
参考
- flex弹性布局 子元素高度不撑满父元素高度问题
- flex 子元素撑满父元素高度