IE8/9 使用text-overflow: ellipsis 做块元素超长内容变省略号的问题

yizhihongxing

当某个块元素的内容过长时,为了保证页面的美观度,有时需要将超出部分省略显示为省略号(...)。而在IE8/9浏览器中,使用 text-overflow: ellipsis 作为实现超出内容显示省略号的方式会出现问题,以下是解决方案的攻略。

步骤

1. 设置块元素的样式

首先,需要给块元素设置 text-overflow: ellipsis,以实现内容超出限制部分被省略。

div{
  width: 200px; /* 限制宽度 */
  text-overflow: ellipsis; /* 超出省略 */
  overflow: hidden; /* 隐藏溢出部分 */
  white-space: nowrap; /* 禁止换行 */
}

2. 创建元素(::before或::after)以覆盖溢出的部分

IE8/9浏览器并不支持直接使用 text-overflow: ellipsis 来实现超出内容显示省略号,需要借助其他的 DOM 元素来覆盖超出部分的文本来实现。

一般我们可以通过 ::before::after 伪元素来实现省略号的效果。具体如下:

div:after{
  content: "..."; /* 显示省略号 */
  position: absolute; /* 元素定位 */
  right: 0; /* 在右边 */
  bottom: 0; /* 在下边 */
  padding: 0 5px; /* 加上padding留下空间 */
}

3. 最终样式

将以上两步合并,组成最终的CSS样式如下:

div {
  width: 200px; /* 限制宽度 */
  text-overflow: ellipsis; /* 超出省略 */
  overflow: hidden; /* 隐藏溢出部分 */
  white-space: nowrap; /* 禁止换行 */
  position: relative; /* 增加定位的相对父元素 */
}

div:after {
  content: "..."; /* 显示省略号 */
  position: absolute; /* 元素定位 */
  right: 0; /* 在右边 */
  bottom: 0; /* 在下边 */
  padding: 0 5px; /* 加上padding留下空间 */
}

示例

示例1

HTML代码:

<div>
  这是一段很长很长很长很长很长很长的文本内容,将被处理为省略号。
</div>

CSS代码:

div {
  width: 200px; /* 限制宽度 */
  text-overflow: ellipsis; /* 超出省略 */
  overflow: hidden; /* 隐藏溢出部分 */
  white-space: nowrap; /* 禁止换行 */
  position: relative; /* 增加定位的相对父元素 */
}

div:after {
  content: "..."; /* 显示省略号 */
  position: absolute; /* 元素定位 */
  right: 0; /* 在右边 */
  bottom: 0; /* 在下边 */
  padding: 0 5px; /* 加上padding留下空间 */
}

结果:

这是一段很长很长很长很长很长很长的文本内容,将被处理为省略号。...

示例2

HTML代码:

<div class="box">
  <h2>这是标题</h2>
  <p>这是一段很长很长很长很长的文本内容,将被处理为省略号。</p>
</div>

CSS代码:

.box {
  width: 200px; /* 限制宽度 */
}

.box p {
  text-overflow: ellipsis; /* 超出省略 */
  overflow: hidden; /* 隐藏溢出部分 */
  white-space: nowrap; /* 禁止换行 */
  position: relative; /* 增加定位的相对父元素 */
}

.box p:after {
  content: "..."; /* 显示省略号 */
  position: absolute; /* 元素定位 */
  right: 0; /* 在右边 */
  bottom: 0; /* 在下边 */
  padding: 0 5px; /* 加上padding留下空间 */
}

结果:

这是标题

这是一段很长很长很长很长的文本内容,将被处理为省略号。...

以上是解决IE8/9浏览器中使用 text-overflow: ellipsis 实现超出内容省略的完整攻略,通过 ::before::after 伪元素来实现。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IE8/9 使用text-overflow: ellipsis 做块元素超长内容变省略号的问题 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • jQuery实现字体颜色渐变效果的方法

    关于“jQuery实现字体颜色渐变效果的方法”的完整攻略,我可以这么说: 一、前言 在网页设计中,颜色渐变(Color Gradient)是一种流行的设计元素,可以使网页更加动态和吸引人。而使用jQuery来实现颜色渐变效果,则可以更加灵活和易用。 二、jQuery实现字体颜色渐变效果的方法 实现字体颜色渐变效果的方法,主要可以通过jQuery的animat…

    css 2023年6月11日
    00
  • 基于jquery的不规则矩形的排列实现代码

    下面是关于“基于jquery的不规则矩形的排列实现代码”的完整攻略: 1. 前期准备 在开始编写代码之前,我们需要先确定代码所需的资源和环境。具体步骤如下: 确定用于排版的元素样式和尺寸,例如宽度、高度、背景颜色等等。 引入jQuery库,确保代码能够正常执行。 在页面中添加用于显示排版的容器,例如一个<div>标签。 2. 实现思路 在前期准备…

    css 2023年6月10日
    00
  • CSS 实现侧滑显示留言面板的网页组件功能

    要实现侧滑显示留言面板的网页组件功能,需要考虑以下几个步骤: 1. 界面设计 首先需要设计留言面板的界面,一般情况下需要在主界面的一侧添加一个按钮或者图标来触发侧滑显示留言面板。 代码示例1: <div class="wrapper"> <div class="main"> <button…

    css 2023年6月10日
    00
  • 网页切图的CSS和布局经验与要点

    网页切图的CSS和布局经验与要点 在进行网页切图时,CSS和布局经验是非常重要的一部分。下面将详细讲解几个要点: 1. 掌握盒子模型 盒子模型指的是一个HTML元素的大小和位置,由元素的内容(content)、内边距(padding)、边框(border)和外边距(margin)组成,它们按顺序从内到外围绕着元素。掌握盒子模型可以更好地控制整个页面的布局。 …

    css 2023年6月10日
    00
  • jquery实现网页定位导航

    下面是关于“jQuery实现网页定位导航”的完整攻略,我将按照以下步骤进行讲解: 准备工作 实现初步导航 实现动态效果 示例说明 注意事项 1. 准备工作 在使用 jQuery 实现网页定位导航之前,需要先引入 jQuery 库。可以通过以下方式引入: <script src="https://ajax.googleapis.com/ajax…

    css 2023年6月10日
    00
  • div宽度设置width:100%后再设置padding或margin超出父元素的解决办法

    若想使用 padding 和 margin 来调整及美化 div 内容的布局和样式,但是又不想让 div 的宽度超出父元素,就需要采取一些方法避免这个问题。以下是两个解决方法的示例。 方法一:使用calc() 使用 calc() 允许您执行基本的算术运算来设置 div 的宽度。例如: div { box-sizing: border-box; /* 将边框和…

    css 2023年6月9日
    00
  • 原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面

    下面我就来详细讲解一下“原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面”的完整攻略。 准备工作 1. 引入布局样式 在实现登录页面前,我们需要先布局整个页面。可以使用flex布局来实现,在此之前需要先引入布局样式。 body { display: flex; justify-content: center; align-items: center; he…

    css 2023年6月10日
    00
  • Vue.2.0.5过渡效果使用技巧

    Vue.2.0.5过渡效果使用技巧 Vue.2.0.5为了增强用户界面体验,提供了过渡效果的使用。本文将为大家详细讲解Vue.2.0.5过渡效果的使用方法。 安装Vue.2.0.5 在开始使用Vue.2.0.5的过渡效果前,需要先安装Vue.2.0.5,这里就不细讲如何安装,可以参考Vue.2.0.5官网https://vuejs.org/的教程。 Vue.…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部