【发布时间】:2019-12-23 08:37:51
【问题描述】:
我有一个容器 div,其属性为 overflow: hidden,max-height 为 100px。此容器元素包含任意数量的内联元素,包括图像和风格化文本。
目前,如果存在超过 100 像素的内容,则剩余的内容将被剪裁。这是我想要的一般行为,除了我一直遇到部分文本行被剪裁(即,字母的下半部分会被剪掉)或图像的一半会被剪掉的问题。
我通过手动设置 column-width 属性找到了文本问题的解决方法,但我找不到任何方法来阻止图像被裁剪。如果任何单独的文本行或图像无法在容器 div 内完整呈现,我希望隐藏整个图像/文本行。
总结:我有一个 div 元素,它包装了一堆内联元素(主要是文本和图像)并隐藏了任何溢出,我不想显示它会显示的任何文本或图像行裁剪/剪辑某些部分。我找到了文本问题的解决方法,但不是图像问题。如何实现我想要的功能?
编辑:根据评论者的要求,我发布了我的代码,尽管很简单:
HTML:
<div id="test">
<p>
This is a test. This is a test.This is a test.This is a test.This is a test.This is a test.This is a test.This is a test.This is a test.
</p>
<img src="https://hackernoon.com/hn-images/0*xMaFF2hSXpf_kIfG.jpg" alt="Girl in a jacket" width="500" height="600">
</div>
内联元素将只是包装在适当标签中的文本和图像(它们的实际值是动态的,会根据情况而变化。我在这里提供的内容只是一个示例。
CSS:
#test {
max-height: 200px;
max-width:200px;
overflow: hidden;
}
这是此示例的JS fiddle。如您所见,图像被裁剪。
这里是another JS Fiddle Example,文本本身在该行的中途被剪裁。
在第一个示例中,我希望完全不显示图像。
第二个,我希望最后一行根本不显示。
不能完整显示的元素不应该显示。我在获取图像所需的这种行为时遇到了特别的麻烦,因此我们将特别感谢您提供的任何帮助。
【问题讨论】:
-
请将您的代码连同问题一起发布
-
@ChetanNaik 我按照您的要求发布了代码。该代码非常简单,并且在问题描述中非常明确地说明了这就是我最初没有发布它的原因。这个问题更像是一个一般性的设计问题,而不是我的实现特定的问题,这就是为什么我最初认为没有必要包括在内。
-
您能否提供一个容器
div内的文本和图像元素的示例?否则我们只能猜测你试图达到什么目的以及为什么它不能正常工作。 -
@user2779450,请通过示例代码或屏幕截图详细说明您想要实现的目标。
-
@Anji 在 JS Fiddle 中添加了一些示例代码和两个不同的示例以供使用
标签: html css overflow crop hidden