CSS3 flex配合float实现文字针对图标自适应溢出隐藏

Flex布局下文本与图标自适应显示
本文介绍如何使用Flex布局实现文本与图标在卡片式设计中自适应显示的效果,确保文本在图标宽度随机变化时能正确溢出隐藏。
需求:第一行文字相对后面的图标自适应溢出隐藏(图标宽度随机)

卡片采用flex布局宽度不固定(自适应父元素宽度变化),左侧复选框固定宽度,右边自适应占满剩余宽度,右边第一行有文本和图标并存的情况,标题文本宽度不固定,后面的图标的宽度也不固定。
在这里插入图片描述

实现代码
<div class="card">
    <div class="checkbox">
        <el-checkbox v-model="checked"></el-checkbox>
    </div>
    <dl class="info">
        <dt>
            <i class="icon-plus fr"></i>
            <span>北京市北京市北京市北京市北京市北京市北京市北京市北京市(默认位置)</span>
        </dt>
        <dd>中心点:116.404, 39.915</dd>
        <dd>缩放层级:8</dd>
    </dl>
</div>

<style lang="scss">
.card {
    display: flex;
    padding: 10px;
    border-radius: 2px;
    background-color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);

    .checkbox {
        width: 20px;
    }
    .info {
        flex: 1;
        width: 0;
        margin: 0;
        line-height: 1.5;

        dt {
            width: 100%;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
            color: #333;
            .fr {
            	float: right;
			}
        }
        dd {
            margin: 0;
            color: #999;
        }
    }
}
</style>
实现要点:

1.溢出隐藏的样式需要设置在目标文字元素的父元素上
2.设置了flex:1自适应占满剩余宽度的元素需要设置width:0
3.目标文字元素的父元素要设置width: 100%
4.图标元素必须放在目标文字元素前面
5.图标需要添加右浮动

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值