css文字和span在一行对不齐

news/2025/1/3 9:37:47/

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/news/1434607.html

相关文章

设计模式——2_A 访问者(Visitor)

文章目录 定义图纸一个例子&#xff1a;如何给好奇宝宝提供他想知道的内容菜单、菜品和配方Menu(菜单) & Cuisine(菜品)Material(物料、食材) 产地、有机蔬菜和卡路里Cuisine & Material 访问者VisitorCuisine & Material 碎碎念访问者和双分派访问者和代理写在最后…

VBA之正则表达式(45)-- 提取SQL语句中的函数

实例需求&#xff1a;数据工程师或者DBA日常工作中大量使用SQL语句&#xff0c;有些语句&#xff08;或者存储过程&#xff09;行数非常多&#xff0c;现在需要提取其中的所有使用了函数的相关部分&#xff0c;对于如下语句&#xff0c;需要提取Mid([编号],2,4) AS [产品]和dat…

【上海大学计算机组成原理实验报告】四、指令系统实验

一、实验目的 了解指令结构、PC寄存器的功能和指令系统的基本工作原理。 学习设计指令的方法。 二、实验原理 根据实验指导书的相关内容&#xff0c;对于部分使用频率很高&#xff0c;且只用几条微指令即可完成的简单操作&#xff0c;可以把这部分简单操作的微指令序列固定下…

扩散卷积模型 笔记

1 Title Diffusion Convolutional Neural Networks&#xff08;James Atwood and Don Towsley&#xff09;【NeurIPS 2016】 2 Conclusion This paper presents diffusion-convolutional neural networks (DCNNs), a new model for graph-structured data. Through the introd…

13个Java基础面试题

Hi&#xff0c;大家好&#xff0c;我是王二蛋。 金三银四求职季&#xff0c;特地为大家整理出13个 Java 基础面试题&#xff0c;希望能为正在准备或即将参与面试的小伙伴们提供些许帮助。 后续还会整理关于线程、IO、JUC等Java相关面试题&#xff0c;敬请各位持续关注。 这1…

python常见语法

变量赋值&#xff1a; my_var 10 基本数据类型&#xff1a; 整数&#xff08;int&#xff09;、浮点数&#xff08;float&#xff09;、字符串&#xff08;str&#xff09;、布尔值&#xff08;bool&#xff09;、列表&#xff08;list&#xff09;、元组&#xff08;tuple&…

myql 获取二维数组字符串的最后一个值

继续《mysql 存储过程和函数》的实战&#xff1a; 要分离字符串&#xff1a;[["1","1007","1007012"],["5","5005"],["6","6002","6002005"],["7","7003"],["8&quo…

零基础入门学习Python第一阶10图形用户界面和游戏开发

图形用户界面和游戏开发 基于tkinter模块的GUI GUI是图形用户界面的缩写&#xff0c;图形化的用户界面对使用过计算机的人来说应该都不陌生&#xff0c;在此也无需进行赘述。Python默认的GUI开发模块是tkinter&#xff08;在Python 3以前的版本中名为Tkinter&#xff09;&…