css挤掉,flex布局元素被挤掉的解决办法

背景

使用flex写列表时遇到的前面块的布局被挤掉,遇到各种大坑小坑,有人说使用overflow: hidden等解决找了一堆,最终解决办法还是研究一下flex的文档才发现这个属性!

示意图

06025da76f24?utm_campaign=maleskine...&utm_content=note&utm_medium=writer_share&utm_source=weibo

解决前

06025da76f24?utm_campaign=maleskine...&utm_content=note&utm_medium=writer_share&utm_source=weibo

解决后

知识点

flex-shrink

flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。

.item {

flex: none | [ ? || ]

}

该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。

建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。

解决办法

:key="inx"

class="item">

:class="{'male': itm.sex===0,'female': itm.sex===1}">

{{itm.name}}

export default {

name: 'flex',

data () {

return {

lst: [

{ name: '杨过', sex: 0 },

{ name: '小龙女', sex: 1 },

{ name: '大雪山大轮寺大轮明王吐蕃国师鸠摩智', sex: 0 },

{ name: '黄蓉', sex: 1 },

{ name: '郭襄', sex: 1 },

{ name: '杨康', sex: 0 }

]

}

}

}

.flex {

width: 200px;

margin: 100px auto;

border: 1px solid #cccccc;

padding: 10px;

.item {

display: flex;

justify-items: start;

align-items: center;

overflow: hidden;

.icon {

display: inline-block;

width: 16px;

height: 16px;

background-repeat: no-repeat;

flex-shrink: 0;

}

.male {

background: url("../assets/images/icon-male.png");

}

.female {

background: url("../assets/images/icon-female.png");

}

span {

padding-left: 5px;

white-space: nowrap;

flex: 1;

}

}

}

总结

解决不了问题时应该静下心来仔细阅读相关文档语法规则,而不是盲目的网上找解决方案!

饮水思源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值