文字溢出部分自动滚动显示

我们在一定区域里面写文字的时候经常会出现文字溢出的现象,一般情况下会使用
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;

实现溢出隐藏,即用省略号代替溢出的部分,这样比较美观而且溢出部分的详情也可以点进相应的详情页面去查找,但是如果这段文字本来就在详情页面里面了还能用省略号代替么?显然是不可以的,这时我们可以让文字溢出部分自动滚动显示。如图:


代码如下:

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>test</title>
    <style type="text/css">
        *{ margin:0; padding:0;}
        body{font:12px/1 '微软雅黑';background: #fff;}
        .wrap{ width:140px; padding:10px;}
        .info{ padding-top:10px; overflow:hidden;}
        .inner{ width:1000px;height:172px; height:17px; line-height:17px; overflow:hidden;}
        .inner p{ display:inline-block;}
    </style>
</head>
<body>
<div class="wrap">
    <div class="img"><img src="http://dummyimage.com/140x90/" alt=""/></div>
    <div id="info" class="info">
        <div class="inner">
            <p class="txt">文字如果超出了自动向左滚动</p>
        </div>
    </div>
</div>
<script>
    function scroll(){
        var info = document.getElementById('info');
        var div = info.getElementsByTagName('div')[0];
        var p = document.getElementsByTagName('p')[0];
        var p_w = p.offsetWidth;
        var div_w = info.offsetWidth;
        if(div_w > p_w){ return false; }
        div.innerHTML += div.innerHTML;

        setInterval(function(){
            if(p_w <= info.scrollLeft){
                info.scrollLeft -= p_w;
            } else {
                info.scrollLeft++;
            }
        }, 30);
    }
    scroll();
</script>
</body>
</html>


评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值