Text highlighting in html5
我正在尝试用uni代码编写一个telugu文本,这样我就可以根据声音转换成多种颜色来突出显示文本。为此,我使用HTML5和JS
1 2 | ప పా |
通过使用
1 | $("#paa").animate({ color:"blue" }, 500); |
我可以改变信的整个颜色,但是现在我想强调一下那封信的某些部分。请建议怎么做。????
有一些CSS技巧可以伪造背景剪辑:文本;或者类似的SVG。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | span { position:relative; color:green; } span:before { position:absolute; top:0; left:0; overflow:hidden; content:attr(data-text); color:blue; height:0.7em; overflow:hidden; animation: txtclr 4s infinite; } p { background:yellow; color:rgba(128, 0, 128 , 0.5); font-size:2em; font-weight:bold; background:linear-gradient(to bottom,lightgray 50%,yellow 50%); display:table;/* demo purpose to shrink to text size*/ box-shadow:inset -3em 0 rgba(100,100,100,0.5); } @keyframes txtclr { 0% { height:50%; } 25%,75%{ height:0; width:0; } 50%{ height:100%; } } |
1 2 3 | <p> <span data-text="my text">my text</span> and some other text </p> |
运行代码段,看到绿色文本从上到下用蓝色填充。
没有添加前缀,以后的浏览器不需要它:)
它是可行的,但对于所有语言来说并不容易。在下面的例子中,我在某些字母上涂上了重音符号。http://jsfiddle.net/07hh3z2n/5/
提示是使用CSS获取一个没有宽度的
1 2 3 4 5 6 | .phantom { display: inline-block; color: red; width: 0; overflow: visible; } |
如果要突出显示的字母部分是一个现有的Unicode字符,这将很好地工作。否则,您可以尝试使用(或创建)一种特殊的字体,其中包含要突出显示的部分字母。
你的意思是这样的吗?在本例中,只使用CSS来传递文本,不需要使用javascript;-),但是您可以随时切换具有所需效果的类等。
它所做的是使用transition属性,该属性允许它在类似hover、click active等事件发生后在不同的CSS状态之间进行动画。
要突出显示字母的一部分,需要添加该HTML元素两次。我所做的一切都是彩色和素色的。这也适用于单个字母。您需要将它们设置为绝对位置,并在相对包装分区中包装它们。这样,它们将绝对定位到相对包装分区的左上角位置(在我的示例中)。这样,如果您使用
然后将一个设置为宽度0,或者设置为要覆盖另一个字母一半的任何宽度。
在我的例子中,Y的一半是红色的,另一半(半ish)不是红色的。
如果你想覆盖上半部分,你可以玩高度。
http://jsfiddle.net/l9l8l966/1/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #container { font-size:40px; position:relative; background-color:#CCC; width:450px; height:40px; } #coloured { position:absolute; z-index:2; top:0px; left:0px; display:block; width:0%; -webkit-transition: width 1s ease-in-out; -moz-transition: width 1s ease-in-out; -o-transition: width 1s ease-in-out; transition: width 1s ease-in-out; color:red; overflow:hidden; } #container:hover #coloured { width:100%; } #plain { position:absolute; z-index:1; width:100%; display:block; top:0px; left:0px; color:black; } |
1 2 3 4 | abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz |
如果您想在代码中即时突出显示,我将使用javascript框架结构highlight.js。它很轻,很容易使用。下面是一个处理jquery和knockout示例的工具: