CSS - 如何使单词结束模糊?

use*_*621 4 html css blur css3

当你用信息在盒子上移动光标时,我真的很喜欢twitter模糊长名称的结尾.

我想尝试做一些类似的东西,但有一点区别 - 我有一个DIV(让我们说宽度:100px;)当内部文本长于100px时 - 那将是相应文本模糊的结尾......

谁能给我一些例子/来源/建议,怎么做?

谢谢

例

Dav*_*mas 10

使用以下HTML:

<div>
    <span>@someUserName</span>
</div>?
Run Code Online (Sandbox Code Playgroud)

和CSS:

span {
    display: inline-block;
    position: relative;
}

span::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 3em;
    content: '';
    background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(255,255,255,1))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* IE10+ */
    background: linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 */
}?
Run Code Online (Sandbox Code Playgroud)

JS小提琴演示.

当然,您也可以在生成的内容中使用百分比宽度:JS Fiddle概念证明.


编辑以回应下面的评论,报告IE 8(可能更低)不适用于上述解决方案:

虽然在IE8中没有为我工作......

我已将HTML更新为以下内容:

<div>
    <span>@someUserName
        <!--[if ie]>
            <span class="ieFadeout"></span>
        <![endif]-->
    </span>
</div>?
Run Code Online (Sandbox Code Playgroud)

并更新了CSS:

div > span {
    display: inline-block;
    position: relative;
}

div > span::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 3em;
    content: '';
    background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(255,255,255,1))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* IE10+ */
    background: linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 */
}

span > .ieFadeout {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 3em;
    background-color: transparent;
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 */

}?
Run Code Online (Sandbox Code Playgroud)

JS Fiddle演示,在Win XP/IE 8和Chrome 18(和以前一样)工作.

参考文献: