css文字和span在一行对不齐

server/2024/11/24 2:02:28/

1.需求背景

父盒子中有两个span,但是span中的文字对不齐。如下图,明显右边的文字偏高
image.png
处理后的效果(已经对齐,图中标记的是基本的div结构):
image.png

2.该问题出现的原因:

span1设置的高度比span2内中文字大小 都小的时候,会出现这种对不齐的状况。 如果span1设置的高度比span2的文字大小 大的话是不会出现这种情况的。
image.png

3.如何处理

思路1.使用display(不行)

1.使用display,我们都知道display能很好的去居中盒子或者文字。于是我们设置给父盒子设置display:flex,align-items: center;
image.png
但是文字多的时候,会撑开,不符合我们这边的需求。我们是要求两行,并且第二行文字应该接着开头,如果超过两行就显示…
image.png

思路2:使用vertical-align: middle(正确,但注意要给两个span都加上)

前面我一直给span的其中一个盒子加vertical-align: middle,但是总是对不齐,之前学习的时候就记得要用这个,后面想了很久,才记得是要给两个span子盒子都加上(这里写个博客加深下印象)。另外就是你父盒子身上加vertical-align: middle是不会让这两个span中的文字对齐的,因为这个属性不会继承,大家可以试试。
image.png

css_18">最后把超出两行显示…的css加上即可:

注意:这个是加在父盒子身上的,而且一定要一个max-height,原因是text-overflow仅适用于具有固定宽度的块级元素。不直接加height是因为当标题不多的时候就可以自适应。

  max-height: 102px;white-space: normal;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;

最后效果:
image.png

4.完整的代码(.vue文件)

<template><div class="home"><div class="demo_box"><div class="title_box"><span class="span1">必修</span><span class="span2">这是标题啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊</span></div></div></div>
</template><script>export default {name: 'HomeView',data() {return {}},created() {},methods: {},};
</script>
<style lang="less" scoped>.home {.demo_box {margin: 50px auto;width: 300px;height: 400px;border: 1px solid red;.title_box {width: 100%;padding: 20px 10px;border-bottom: 1px solid #ccc;// display: flex;// align-items: center;// vertical-align: middle;max-height: 102px;white-space: normal;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;.span1 {width: 75px;height: 20px;background: rgba(0, 128, 255, 0.1);border-radius: 18px;color: #0080FF;display: inline-block;text-align: center;line-height: 20px;font-size: 16px;margin-right: 10px;vertical-align: middle;}.span2 {font-size: 25px;vertical-align: middle;}}}}
</style>

http://www.ppmy.cn/server/20884.html

相关文章

eCognition 分类

目录 前言 一、阈值分类 1、创建自定义特征 2、查看对象特征值 3、阈值分类 3.1 新建类别(如果已有类别即跳过) 3.2、建立分类阈值规则 4、导出分类结果 5、附录:如果需要合并结果、按以下步骤 二、监督分类 1、方法1:利用classification算法(主要用于最邻近)…

IntelliJ IDEA个人可一直使用方法参考

IntelliJ IDEA使用方法 1.下载最新的 IDEA 2021.2.2 版本安装包 https://www.jetbrains.com/idea/download/ 2.先卸载老版本的 IDEA 3.安装新版本&#xff0c;进行激活—勾选 Evaluate for free, 点击 Evaluate&#xff0c; 先试用30天: 4.随便新建个Java工程&#xff0c;然后…

Swift字符串

在 Swift 中&#xff0c;Character 和 String 是用于处理文本数据的两个重要类型。 Character Character 是 Swift 中用于表示单个 Unicode 字符的类型。每个 Character 实例都代表一个可见的字符&#xff08;如字母、数字、标点符号等&#xff09;&#xff0c;或者一个不可见的…

物联网应用技术综合实训室解决方案

一、背景 随着物联网技术的快速发展和广泛应用&#xff0c;物联网产业已经成为新的经济增长点&#xff0c;对于推动产业升级、提高社会信息化水平具有重要意义。因此&#xff0c;培养具备物联网技术应用能力的高素质人才成为了迫切需求。 传统的教育模式往往注重理论教学&…

内网穿透及公网解析说明

内网穿透释义&#xff1a; 自己在本地搭建服务器时&#xff0c;本地网络有多种环境&#xff0c;如没有公网IP、没有路由映射权限、网络被NAT转发等情况。在需要外网访问内网服务器资源时&#xff0c;就需要用到内网穿透。内网穿透&#xff0c;即内网映射&#xff0c;内网IP地址…

Eclipse 安装 lombok 和配置

如 Eclipse 不配置的话&#xff0c;是没有办法编译 lombok 项目的。 下载 Jar 如果你项目使用的是 maven&#xff0c;那么 jar 应该下载下来了。 到 pom.xm 文件中找到有关 lombok 的依赖。 <dependency><groupId>org.projectlombok</groupId><artifac…

查看笔记本电池容量/健康状态

1. 打开命令行提示符 快捷键“win R”后输入“cmd” 2. 在命令提示符中输入命令 “powercfg /batteryreport" 并回车 3. 查看文件 最后就可以看到笔记本的电池使用报告了

MySQL第一次作业

解压完安装包 以管理员进入命令行 初始化并记住初始随机密码 创建服务名称 启动mysql 使用随机密码登录 修改密码 退出并重登服务器 MySQL创建数据库和表 创建数据库 创建表 1.进入数据库 创建表 向表中插入数据