如何仅在溢出时制作字幕文字?
How to make marquee text only when it's overflowing?
我有一段随机生成的文本 div。并且此文本具有不同的宽度,具体取决于当前生成的内容。我希望此文本 仅在太大时才显示。 html:
<div id="random_word"> <!--here appears something--> </div>
css:
#random_word {
color: white;
position: absolute;
width: 50%;
left: 0%;
text-align: center;
font-size: 8vw;
margin-top: 22%;
font-variant: small-caps
text-shadow: 0 0 20px #000;
text-align: center;
z-index: 2;
overflow: hidden;
white-space: nowrap;
line-height: 100%;
}
我已经在互联网上找到了这个 css 属性:overflow-x:-webkit-marquee;
但我不确定如何使用它。有人可以帮忙吗?
确定元素是否溢出的最简单方法是将其 scroll
height/width 与其 offset
height/width 进行比较。如果任何 scroll
值大于它们的 offset
对,您的元素的内容就会溢出。
function isElementOverflowing(element) {
var overflowX = element.offsetWidth < element.scrollWidth,
overflowY = element.offsetHeight < element.scrollHeight;
return (overflowX || overflowY);
}
从这里开始,这是一个简单的问题,即检查此函数的 return 值并在 true
时添加选取框效果。为此,您可以将 div 的内容包装在 <marquee>
中,或者使用带前缀的 marquee
CSS 规则或通过 [= 模拟它来实现相同的视觉效果=42=] 动画.
注意:虽然 <marquee>
标签在大多数浏览器中仍能按预期工作,但它被认为已弃用,因此不会过时。
- 这里是a quick fiddle on wrapping in a marquee tag, play around with text length to see how it works. (alternatively, you can set the marquee's behavior to alternate from side to side: here's how)
- 这里是a tutorial on CSS marquee
- 这里是a thread on visually simulating a marquee with animations
祝你好运!
我认为在隐藏溢出时接受的答案不起作用。
最好在里面再添加一个div并检查它们的宽度
Check with jquery if div has overflowing elements
我有一段随机生成的文本 div。并且此文本具有不同的宽度,具体取决于当前生成的内容。我希望此文本 仅在太大时才显示。 html:
<div id="random_word"> <!--here appears something--> </div>
css:
#random_word {
color: white;
position: absolute;
width: 50%;
left: 0%;
text-align: center;
font-size: 8vw;
margin-top: 22%;
font-variant: small-caps
text-shadow: 0 0 20px #000;
text-align: center;
z-index: 2;
overflow: hidden;
white-space: nowrap;
line-height: 100%;
}
我已经在互联网上找到了这个 css 属性:overflow-x:-webkit-marquee;
但我不确定如何使用它。有人可以帮忙吗?
确定元素是否溢出的最简单方法是将其 scroll
height/width 与其 offset
height/width 进行比较。如果任何 scroll
值大于它们的 offset
对,您的元素的内容就会溢出。
function isElementOverflowing(element) {
var overflowX = element.offsetWidth < element.scrollWidth,
overflowY = element.offsetHeight < element.scrollHeight;
return (overflowX || overflowY);
}
从这里开始,这是一个简单的问题,即检查此函数的 return 值并在 true
时添加选取框效果。为此,您可以将 div 的内容包装在 <marquee>
中,或者使用带前缀的 marquee
CSS 规则或通过 [= 模拟它来实现相同的视觉效果=42=] 动画.
注意:虽然 <marquee>
标签在大多数浏览器中仍能按预期工作,但它被认为已弃用,因此不会过时。
- 这里是a quick fiddle on wrapping in a marquee tag, play around with text length to see how it works. (alternatively, you can set the marquee's behavior to alternate from side to side: here's how)
- 这里是a tutorial on CSS marquee
- 这里是a thread on visually simulating a marquee with animations
祝你好运!
我认为在隐藏溢出时接受的答案不起作用。
最好在里面再添加一个div并检查它们的宽度 Check with jquery if div has overflowing elements