如何在字幕文本溢出时制作字幕文本?

时间:2017-02-01 18:48:28

标签: html css marquee

我有一个随机生成的文本到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; 但我不确定如何使用它。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:6)

确定元素是否溢出的最简单方法是将其scroll高度/宽度与其offset高度/宽度进行比较。如果scroll值中的任何一个值大于offset对,则元素的内容会溢出。

function isElementOverflowing(element) {
    var overflowX = element.offsetWidth < element.scrollWidth,
        overflowY = element.offsetHeight < element.scrollHeight;

    return (overflowX || overflowY);
}

从这里开始,这是一个简单的问题,即检查此函数的返回值并添加选框效果true。要实现这一点,您可以将div的内容包装在<marquee>中,或使用带前缀的marquee CSS规则或通过CSS动画模拟它来实现相同的视觉效果。

注意:虽然<marquee>标记在大多数浏览器中仍然按预期运行,但它被视为已弃用,因此不具备针对性。

祝你好运!

答案 1 :(得分:0)

当溢出隐藏时,我认为接受的答案不起作用。

最好在其中添加另一个div并检查其宽度 Check with jquery if div has overflowing elements