css文字自适应宽度动态出现省略号...

news2024/9/29 11:23:35

前言

在列表排行榜中通常会出现的一个需求:从左到右依次是名次、头像、昵称、徽标、分数。徽标可能会有多个或者没有徽标,徽标长度是动态的,昵称如果过长要随着有无徽标进行动态截断出现省略号。如下图布局所示(花里胡哨的底色是为了看的更清楚,咱忍忍。。。)

一、实现效果

  • 多个徽标

        

  • 一个徽标

         

  • 没有徽标

        

 影响中间文字部分动态截断实现方法:

  • 设置昵称和徽标这个整体div的宽度;
  • 方法1️⃣:昵称部分div设置为 flex-shrink: 1 自动收缩宽度;
  • 方法2️⃣:昵称部分div设置为 flex: 1;min-width: 0;

二、结构拆分

        

  1. 使用flex左右布局,分数之前为左边,分数固定最大长度为右边;
  2. 左边的内容继续使用flex布局排列,固定名次、头像宽度;
  3. 昵称和徽标的模块使用flex布局,给定一个大概宽度,昵称设置截断省略;

三、全部代码

1.整体结构

代码如⬇️:

  <!-- 整行 -->
  <div class="item-wrapper">
    <div class="item-left">
      <div class="item-left-num">1</div>
      <image class="item-left-avatar" src="xxx" />
      <div class="item-left-text">
        <div class="item-left-name">lemon是我的名字lemon是我的名字lemon是我的</div>
        <image class="item-left-icon item-left-level" src="xxx" />
        <image class="item-left-icon item-left-fan" src="xxx" />
      </div>
    </div>
    <div class="item-right">666</div>
  </div>

2.css样式

代码如下⬇️:

.item-wrapper {
  width: 100%;
  height: 62pit;
  flex: 0 0 auto;
  overflow: hidden;
  background-color: gray;
  padding: 0 16pit;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.item-left {
  overflow: hidden;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  background-color: rgb(139, 201, 237);
}

.item-left-num {
  flex: 0 0 auto;
  font-family: AlibabaSans102Ver2-Bold;
  font-size: 20pit;
  color: #333;
  // color: #ff193c;
  font-weight: 700;
  line-height: 62pit;
  letter-spacing: 0;
  width: 26pit;
  text-align: center;
  background-color: rgb(225, 131, 197);
}

.item-left-avatar {
  flex: 0 0 auto;
  width: 38pit;
  height: 38pit;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border-radius: 36px;
  margin-left: 8pit;
}

.item-left-text {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 55vw;
  background-color: #333;
}

.item-left-name {
  font-family: PingFangSC-Medium;
  font-weight: 500;
  font-size: 14pit;
  line-height: 62pit;
  color: #333;
  letter-spacing: 0;
  margin-left: 8pit;
  // 方式1️⃣
  // flex: 1;
  // min-width: 0;
  // 方式2️⃣
  flex-shrink: 1; // 自动收缩宽度

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  background-color: aqua;
}

.item-left-icon {
  height: 16pit;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin-left: 4pit;
}

.item-left-level {
  flex: 0 0 auto;
  width: 32pit;
}

.item-left-fan {
  flex: 0 0 auto;
  width: 52pit;
}

.item-right {
  flex: 0 0 auto;
  font-family: PingFangSC-Medium;
  font-weight: 400;
  line-height: 62pit;
  font-size: 12pit;
  color: #666;
  letter-spacing: 0;
  text-align: right;
  width: 52pit;

  margin-left: 16pit;
  background-color: rgb(240, 171, 229);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1913765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入了解Rokid UXR2.0 SDK内置的Unity AR Glass开发组件

本文将了解到Rokid AR开发组件 一、RKCameraRig组件1.脚本属性说明2.如何使用 二、PointableUI组件1.脚本属性说明2.如何使用 三、PointableUICurve组件1.脚本属性说明2.如何使用 四、RKInput组件1.脚本属性说明2.如何使用 五、RKHand组件1.脚本属性说明2.如何使用3.如何禁用手…

大数据笔记--kafka工具AKHQ

目录 一、项目背景 二、项目目标 三、项目部署 1、前提条件 2、流程 2.1、准备工作 2.2、安装AKHQ 2.3、配置AKHQ 2.4、启动AKHQ 四、验证 一、项目背景 日常运维工作中&#xff0c;越来越多的团队成员&#xff0c;包括开发人员、数据分析师和业务运营团队&#xff0…

【1.4】动态规划-解目标和

一、题目 给你一个整数数组nums和一个整数target 。 向数组中的每个整数前添加或 - &#xff0c;然后串联起所有整数&#xff0c;可以构造一个表达式&#xff1a; 例 如 &#xff0c; nums[2,1] &#xff0c; 可 以 在 2 之 前 添 加 &#xff0c; 在 1 之 前 添 加 - &…

[leetcode] car-pooling 拼车

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:bool carPooling(vector<vector<int>>& trips, int capacity) {int to_max 0;for (const auto& trip: trips) {to_max max(to_max, trip[2]);}vector<int> diff(to_max 1);for…

智慧城市大数据运营中心 IOC:Web GIS 地图应用助力智能决策

利用图扑 HT for Web GIS 技术&#xff0c;智慧城市大数据运营中心 (IOC) 实现动态可视化展示&#xff0c;整合多源数据&#xff0c;提高城市管理和资源分配效率&#xff0c;支持智能决策与实时监控。

自定义波形图View,LayoutInflater动态加载控件保存为本地图片

效果图&#xff1a; 页面布局&#xff1a; <?xml version"1.0" encoding"utf-8"?><LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:la…

Web3学习路线图,从入门到精通

前面我们聊了Web3的知识图谱&#xff0c;内容是相当的翔实&#xff0c;要从哪里入手可以快速的入门Web3&#xff0c;本篇就带你看看Web3的学习路线图&#xff0c;一步一步深入学习Web3。 这张图展示了Web3学习路线图&#xff0c;涵盖了区块链基础知识、开发方向、应用开发等内…

Canvas:掌握图像变换合成与裁剪状态像素操作

想象一下&#xff0c;用几行代码就能创造出如此逼真的图像和动画&#xff0c;仿佛将艺术与科技完美融合&#xff0c;前端开发的Canvas技术正是这个数字化时代中最具魔力的一环&#xff0c;它不仅仅是网页的一部分&#xff0c;更是一个无限创意的画布&#xff0c;一个让你的想象…

【深度学习(42)】通过vscode使用anaconda的python环境

按ctrlshiftp&#xff0c;选择Python:Select Interpreter 选择anaconda下的python虚拟环境

【spark】Exception in thread “main“ ExitCodeException exitCode=-1073741701

在window上运行spark程序写到本地文件的时候报错。 val rdd sc.sparkContext.parallelize(list)val arr rdd.collect()arr.foreach(println)rdd.saveAsTextFile("test1")sc.close()错误信息: zhangsan lisi wangwu Exception in thread "main" ExitCode…

连续6年夺冠 6项细分领域第一,中电金信持续领跑中国银行业IT解决方案市场

7月9日&#xff0c;工信部赛迪顾问发布《2023年度中国银行业IT解决方案市场分析报告》&#xff08;简称《报告》&#xff09;。中电金信以7.38%的市场份额再度蝉联2023中国银行业IT解决方案市场份额第一&#xff0c;以显著优势持续领跑中国银行业IT解决方案市场。在细分领域&am…

【普中】基于51单片机的矩阵电子密码锁LCD1602液晶显示 proteus仿真+程序+设计报告+讲解视频

【普中】基于51单片机的矩阵电子密码锁LCD1602液晶显示设计 1.主要功能&#xff1a;讲解视频&#xff1a;2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单&&下载链接资料下载链接&#xff1a; 【普中】基于51单片机的矩阵电子密码锁LCD1602液晶显示设计 ( proteus仿真…

UV胶,它是否有毒?如同那些隐藏在黑暗中的危险之物?

UV胶&#xff0c;它是否有毒&#xff1f;如同那些隐藏在黑暗中的危险之物&#xff1f; 关于uv胶的毒性问题&#xff0c;或许我们可以这样深入探讨。UV胶&#xff0c;如同一位戴着神秘面纱的访客&#xff0c;在我们的生活中悄然出现&#xff0c;却带着诸多疑问。那么&#xff0…

怎样把视频字幕提取出来?分享4个零门槛的字幕提取工具

暑假正是弯道超车的好机会&#xff01;相信不少朋友都会选择宅在家自学网课。 不可否认的是&#xff0c;海量学习资源的确可以让学习变得更加便捷与自由。然而&#xff0c;如何高效地吸收和理解在线课程也就成为了一个关键问题。不敢想倘若此时能够拥有一款高效又实用的视频提…

菜花插画:成都亚恒丰创教育科技有限公司

菜花插画&#xff1a;田园诗意的视觉盛宴 在纷扰繁杂的都市生活中&#xff0c;人们往往渴望一抹清新与宁静&#xff0c;以慰藉心灵的疲惫。而菜花插画&#xff0c;恰似一股来自乡野的清风&#xff0c;以其独特的田园诗意&#xff0c;成都亚恒丰创教育科技有限公司为我们的视觉…

结构体案例1

代码 #include <iostream> using namespace std; #include <string> #include <ctime>//学生的结构体 struct Student {string sName;int score; }; //老师的结构体定义 struct Teacher {string tName;struct Student sArray[5]; };//给老师和学生赋值的函数…

HTML5使用<progress>进度条、<meter>刻度条

1、<progress>进度条 定义进度信息使用的是 progress 标签。它表示一个任务的完成进度&#xff0c;这个进度可以是不确定的&#xff0c;只是表示进度正在进行&#xff0c;但是不清楚还有多少工作量没有完成&#xff0c;也可以用0到某个最大数字&#xff08;如&#xff1…

在网上申请流量卡审核失败,可能是你的年龄有问题!

在网上申请流量卡审核失败&#xff0c;可能是你的年龄有问题&#xff01; 先上个图&#xff1a; ​ 网上的流量卡并不是随意申请的&#xff0c;而是填写申请信息后由运营商进行审核&#xff0c;审核通过后才会发卡&#xff0c;如果你提交的订单没有审核通过&#xff0c;那么大…

Unity之OpenXR+XR Interaction Toolkit实现 Gaze眼部追踪

使用 Unity OpenXR 实现Gaze眼部追踪 在虚拟现实(VR)和增强现实(AR)应用中,眼动追踪是一项强大而受欢迎的技术。它可以让开发者更好地理解用户的注意力和行为,并创造出更加沉浸和智能的体验。在本文中,我们将探讨如何使用 Unity OpenXR 实现Gaze眼部追踪功能。 Unity …

MySQL体系架构解析

1.MySQL体系架构 1.1.MySQL的分支与变种 MySQL变种有好几个,主要有三个久经考验的主流变种:Percona Server,MariaDB和 Drizzle。它们都有活跃的用户社区和一些商业支持,均由独立的服务供应商支持。同时还有几个优秀的开源关系数据库,值得我们了解一下。 1.1.1.Drizzle …