发布时间:2023-04-26 文章分类:WEB开发, 电脑百科 投稿人:李佳 字号: 默认 | | 超大 打印

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、单行超出显示省略号
  • 二、多行超出显示省略号

一、单行超出显示省略号

描述:如果文字超出父元素指定宽度,文字会自动换行,而连续不间断数字和英文字母(没有其他字符)不会自动换行;
详细步骤:

直接看代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>单行省略号</title>
  <style>
    .app {
      width: 400px;
      height: 28px;
      line-height: 28px;
      margin: 50px 0 0 50px;
      border: 1px solid red;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
  </style>
</head>
<body>
  <div class="app">
    <span class="content">你问我为何时常沉默,有的人无话可说,有的话无人可说.你问我为何时常沉默,有的人无话可说,有的话无人可说.</span>
  </div>
</body>
</html>

效果图:
CSS实现单行、多行文本溢出显示省略号(…)
关键点:

//超出一行省略号
white-space: nowrap; //禁止换行
overflow: hidden;
text-overflow: ellipsis; //...

二、多行超出显示省略号

a.对于内核是webkit的浏览器(Google/Safari),可以直接用CSS样式;

直接看代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>多行省略号</title>
  <style>
    .content {
      display: -webkit-box;
      width: 400px;
      line-height: 1.5;
      margin: 50px 0 0 50px;
      border: 1px solid red;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }
  </style>
</head>
<body>
  <div class="app">
    <span class="content">你问我为何时常沉默,有的人无话可说,有的话无人可说.你问我为何时常沉默,有的人无话可说,有的话无人可说.
    </span>
  </div>
</body>
</html>

效果图:
CSS实现单行、多行文本溢出显示省略号(…)

关键点:

//超出两行省略号
display: -webkit-box;
overflow: hidden;
-webkit-box-orient: vertical;
line-clamp: 2;
-webkit-line-clamp: 2; //显示几行

b.兼容各种浏览器的方法
(1)利用伪类(IE6/IE7不支持)
直接看代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>多行省略号</title>
  <style>
    .content {
      display: inline-block;
      width: 400px;
      height: 56px;
      line-height: 28px;
      margin: 50px 0 0 50px;
      border: 1px solid red
      overflow: hidden;
    }
    .ellipsis::after{
    	content: "...";
    	display: inline;
	}
  </style>
</head>
<body>
  <div class="app">
    <span class="content">你问我为何时常沉默,有的人无话可说,有的话无人可说.你问我为何时常沉默,有的人无话可说,有的话无人可说.
    </span>
    <span class="ellipsis"></span>
  </div>
</body>
</html>

效果图:
CSS实现单行、多行文本溢出显示省略号(…)

关键点:

//超出两行省略号
    .ellipsis::after{
    	content: "...";
    	display: inline;
	}

(2)利用定位和padding-right
直接看代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>desktop demo</title>
  <style>
    .content {
      width: 400px;
      height: 56px;
      line-height: 28px;
      margin: 50px 0 0 50px;
      border: 1px solid red;
      overflow: hidden;
      padding-right: 12px; /* 留出省略号位置 */
      position: relative;
    }
    .ellipsis{
    	position: absolute;
    	right:10px;
    	bottom: 0;
	}
  </style>
</head>
<body>
  <div class="content">你问我为何时常沉默,有的人无话可说,有的话无人可说.你问我为何时常沉默,有的人无话可说,有的话无人可说.
	<span class="ellipsis">...</span>
  </div>
</body>
</html>

效果图:
CSS实现单行、多行文本溢出显示省略号(…)
关键点:

//超出两行省略号
    .content {
		...
      overflow: hidden;
      padding-right: 12px; /* 留出省略号位置 */
      position: relative;
    }
    .ellipsis{
    	position: absolute;
    	right:10px;
    	bottom: 0;
	}