html - 裁剪带阴影的多行文本

标签 html css

有阴影多行文本,但它的高度应该被裁剪以仅显示它的 3 行:

<h1><p>Lorem ipsum dolor sit amet consectetuer</p></h1>
<style>
h1 {
  width: 100px;
  line-height: 1em;
  max-height: 4em;
  overflow: hidden;
}

h1 p {
  text-shadow: 0 0 20px #000;
}
</style>

可以看出here , 文本阴影也被裁剪,期望的结果是裁剪文本而不是它的阴影。

真实文本已经被截断,但如果它被截断以涵盖最坏的情况('MMMMMMMMMMMMMMMMMM ...'),它将被截断太多。

仅靠 CSS 能解决这个问题吗?这里有哪些选项?

最佳答案

h1 上的左填充将解决这个问题

h1 {
  width: 100px;
  line-height: 1em;
  font-size: 200%;
  max-height: 4em;
  overflow: hidden;
  padding-left: 10px;
}

h1 p {
  text-shadow: 0 0 20px #000;
}
<h1><p>Lorem ipsum dolor sit amet consectetuer</p></h1>


如果需要将此元素的垂直对齐方式与之前和之后的内容相匹配,请添加负边距以补偿填充

h1 {
  width: 100px;
  line-height: 1em;
  font-size: 200%;
  max-height: 4em;
  overflow: hidden;
  padding-left: 10px;
  margin-left: -10px;
}

h1 p {
  text-shadow: 0 0 20px #000;
}
<h1><p>Lorem ipsum dolor sit amet consectetuer</p></h1>

关于html - 裁剪带阴影的多行文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46006204/

相关文章:

php - 向投资组合元素添加一个类以设置每三个元素的样式

javascript - AngularJs 上传按钮功能

javascript - 弹出窗口始终显示相同的数据

html - 在图像上放置文字

html - YouTube 嵌入视频播放器尺寸仍然太小

php - 按大小限制 div 内的内容

css - 如果选中 radio ,则标记背景

javascript - 如何使用node.js在服务器端用纯javascript读取JSON文件?

jquery - 如何创建定期更改颜色的多色文本字符串(如拉斯维加斯横幅)

jquery - 文本在CSS slider 中溢出