有趣的css - 第一个字符串自动生成文字图标

1200_670 5.png

在设计 app 界面的时候,要展示一部分最新的资讯入口,然后出了一张下面的 UI 稿。

UI稿截图如下:

image.png

列表设计比较简单,就是列表前面的圆形图标这块,我个人觉得还是有点意思的。

一般的话,大概率都是用js限制字符串长度,然后截图第一个字符串显示到圆里。

但是有些时候,英文和中文在字符串限制时,中文是占两个字符的。

这样的话,图标可能会发生变形,字符会不居中。

我就想能不能用 css 来实现这样的图标样式。


废话到此,先来个demo。

html部分:

<ul><li><span>第一个字符串生成文字图标</span>第一个字符串生成文字图标</li><li><span>用CSS可以做什么?</span>用CSS可以做什么?</li><li><span>前端的致命诱惑</span>前端的致命诱惑</li>
</ul>

css部分:

span{width: 42px;height: 42px;line-height: 40px;color: #1E47ED;font-size: 18px;font-weight: 700;text-indent: 12px;border-radius: 50%;display: block;float: left;overflow: hidden;background-color: #eaeaea;letter-spacing: 20px;margin-right: 15px;
}

主要看 css 部分,先固定 span 标签宽高为,圆角 50%,然后设定行高,让字符垂直居中;

设定 overflow: hidden,限制字符溢出;

然后设定 letter-spacing: 200px ,让字符间距变大,不让第二个字符显示到 span 中;

然后设定 text-indent: 12px,来让第一个字符居中。

至此,这个字符图标就用 css 实现了。

渲染效果:

image.png

完整代码:

HTML

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="style.css"><title>04 第一个字符串生成文字图标</title>
</head>
<body><div class="app"><ul><li><span>第一个字符串生成文字图标</span>第一个字符串生成文字图标</li><li><span>用CSS可以做什么?</span>用CSS可以做什么?</li><li><span>前端的致命诱惑</span>前端的致命诱惑</li></ul></div>
</body>
</html>

CSS

*{margin: 0;padding: 0;list-style: none;transition: .5s;
}
html,body{background-color: #f5f5f5;color: #fff;font-size: 14px;
}
.app{width: 100%;height: 100vh;position: relative;display: flex;justify-content: center;align-items: center;
}
.app ul {max-width: 300px;
}
.app ul li{width: 100%;color: #152239;font-size: 16px;line-height: 42px;margin: 15px 0;float: left;
}
.app ul li span{width: 42px;height: 42px;line-height: 40px;color: #1E47ED;font-size: 18px;font-weight: 700;text-indent: 12px;border-radius: 50%;display: block;float: left;overflow: hidden;background-color: #eaeaea;letter-spacing: 20px;margin-right: 15px;
}

以上就是所有代码,以及简单的思路,希望对你有一些帮助或者启发。


[1] 阅读原文

我是 Just,这里是[ 设计师工作日常 ],求点赞求关注!!!

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

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

相关文章

【Web前端实操16】雪碧图(CSS精灵图)

雪碧图 CSS Sprite也叫CSS精灵图、CSS雪碧图&#xff0c;是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去 雪碧图一般会给一个完整的图片&#xff0c;主要利用background-position 属性设置背景图像的起始位置。 优点 减少图片的字…

认识并使用OkHttp3

认识并使用OkHttp3 一、前言&#xff1a;发送Http请求并处理响应1、背景2、传统技术&#xff1a;使用java.net.HttpURLConnection3、学习OkHttp3&#xff08;可以实现真正的流式处理&#xff09; 二、OkHttp31、OkHttp3是什么&#xff1f;2、如何使用OkHttp3呢&#xff1f;2.1 …

单调队列优化DP模型整理

135. 最大子序和&#xff08;活动 - AcWing&#xff09; 找一个长度不超过m的连续子序列&#xff0c;但是并未指定这个子序列的长度&#xff0c;所以长度就有很多种选择&#xff0c;要获取任意一段长度的序列的区间和&#xff0c;那么显然要用到前缀和。然后我们来考虑&#xf…

基于Spring Boot的饮食分享平台设计与实现

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

【Javaweb程序设计】【C00161】基于SSM电子产品交易管理系统(论文+PPT)

基于SSM电子产品交易管理系统&#xff08;论文PPT&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于ssm的电子产品交易系统 本系统分为前台用户和后台管理员2个功能模块. 前台用户模块&#xff1a;当游客打开系统的网址后&#xff0c;首先看到的就…

738. 单调递增的数字 - 力扣(LeetCode)

题目描述 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 题目示例 输入: n 332 输出: 299 解题思路 题目要求小于等于N的最…

换个思路快速上手UML和plantUML——时序图

上一章我们介绍了类图&#xff0c;我们很清楚&#xff0c;类图是从更加宏观的角度去梳理系统结构的&#xff0c;从类图中我们可以获取到类与类之间&#xff1a;继承&#xff0c;实现等关系信息&#xff0c;是宏观逻辑。下面我们继续换一个思路&#xff1a;作为一名软件工程结构…

给刚上小学的侄女准备新年礼物,有什么让小朋友喜欢的玩具推荐?

给刚上小学的侄女准备新年礼物&#xff0c;我觉得也是有很多选择的。因为现在的市场上款式太多了&#xff0c;选择自己心意的适合小侄女的都是可以的。但是如果非要选益智的或是智能高科技的&#xff0c;对孩子来说既能玩耍又能在玩的同时学习到知识&#xff0c;能够开拓孩子眼…

无限可能!安全狗入选“潜力十强企业”

近日&#xff0c;等级保护测评公布了“2023年网络安全优秀评选”活动评选结果。 作为国内云原生安全领导厂商&#xff0c;安全狗凭借突出的综合实力&#xff0c;荣获“潜力十强企业”称号。 厦门服云信息科技有限公司&#xff08;品牌名&#xff1a;安全狗&#xff09;创办于20…

uniapp微信小程序-前端设计模式学习(中)

三、工厂模式 通俗解释&#xff08;理解记忆&#xff09; 假设我们有一个汽车工厂。我们可以让工厂根据用户的选择生产不同型号的汽车&#xff0c;而用户无需知道具体的汽车制造过程。 工厂模式的优势在于&#xff0c;它隐藏了对象的创建细节&#xff0c;让客户端代码更简洁…

《HTML 简易速速上手小册》第10章:HTML 的维护与优化(2024 最新版)

文章目录 10.1 网页性能优化10.1.1 基础知识10.1.2 案例 1&#xff1a;优化网页图像10.1.3 案例 2&#xff1a;使用延迟加载优化性能10.1.4 案例 3&#xff1a;优化 CSS 和 JavaScript 的加载 10.2 SEO 最佳实践10.2.1 基础知识10.2.2 案例 1&#xff1a;创建一个 SEO 友好的博…

数据库管理-第139期 做大还是做小-Oracle名称哪些事(20240125)

数据库管理139期 2024-01-25 第139期 做大还是做小-Oracle名称哪些事&#xff08;20240125&#xff09;1 问题2 排查3 扩展总结 第139期 做大还是做小-Oracle名称哪些事&#xff08;20240125&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xff08;尹海文&#xff09; Oracle A…

麒麟系统—— openKylin 安装 mongodb

麒麟系统—— openKylin 安装 mongodb 一、准备工作1. 确保麒麟系统 openKylin 已经安装完毕。 二、下载解压 MongoDB二、增加环境变量三、配置MongoDB创建数据目录创建日志文件运行 四、加入到服务中 MongoDB是一款高性能、开源的NoSQL数据库&#xff0c;因其灵活的数据结构、…

python第五节:集合set(3)

集合遍历 for循环遍历集合中元素 例子1&#xff1a; set1 {a,b,cde,张三,123} for i in set1: print(i) 结果&#xff1a; a cde b 张三 123 enumerate遍历索引和元素 例子2&#xff1a; set1 {a,b,cde,张三,123} for index,value in enumerate(set1): print(index…

MyBatis 的注解实现方法

MyBatis 的注解实现方法 MyBatis 的注解实现方法引入依赖添加配置创建表创建实体类创建mapper接口InsertDeleteSelectResults和ResultMap通过配置文件解决 UpdateOptions MyBatis 的注解实现方法 引入依赖 在springBoot项目中下载了EditStarters插件的,可以直接在配置文件处右…

效率高的B树系列

文章目录 前言B树概念性质插入数据分析代码实现性能分析 B树概念特性插入数据分析应用 B*树概念B*树的分裂 总结B树系列的区别B树系列对比哈希和平衡搜索树 前言 前面我们所学习到的数据结构&#xff0c;只能用来存储少量的数据&#xff0c;因为内存大小是非常有限的&#xff…

obs-studio 源码学习 obs.h

obs.h 引用头文件介绍 c99defs.h&#xff1a;这个头文件提供了一些 C99 标准的定义和声明&#xff0c;包括一些常用的宏定义和类型定义&#xff0c;用于提高代码的可移植性和兼容性。 bmem.h&#xff1a;这个头文件提供了对内存分配和管理的功能&#xff0c;包括一些内存分配…

一个查询IP地理信息和CDN提供商的离线终端工具Nali官方使用指南

Nali 一个查询IP地理信息和CDN提供商的离线终端工具. 功能 支持多种数据库 纯真 IPv4 离线数据库ZX IPv6 离线数据库Geoip2 城市数据库 (可选)IPIP 数据库 (可选)ip2region 数据库 (可选)DB-IP 数据库 (可选)IP2Location DB3 LITE 数据库 (可选)CDN 服务提供商查询支持管道处…

.ui文件相关

目录 ui类生成过程&#xff1a; 提问&#xff1a; 等以后自己熟练了用代码写这些样式内容&#xff0c;尽量用代码写&#xff0c;原因很简单&#xff1a; 用代码写的可以直接修改代码&#xff0c;但是在设计界面修改的东西&#xff0c;电脑没有QC这玩意&#xff0c;还真不好改…