html5中的文本高亮显示
Text highlighting in html5
我正在尝试使用uni代码编写泰卢固语文本,这样我就可以根据声音变为多种颜色来突出显示文本。为此,我使用了html5和js
<div class="pa">ప</div>
<div class="paa">పా</div>
通过使用
$("#paa").animate({ color: "blue" }, 500);
我可以改变这封信的整个颜色,但是现在我想强调一下这封信的某些部分。请建议如何完成。???
有一些css技巧可以伪造背景剪辑:text;或者类似的SVG。
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%;
}
}
<p><span data-text="my text">my text</span> and some other text </p>
运行代码片段,看到绿色文本从上到下用蓝色填充。
没有添加前缀,以后的浏览器不需要它:)
这是可行的,但对所有语言来说都不容易。在下面的例子中,我在某些字母上涂上了重音符号。http://jsfiddle.net/07hh3z2n/5/
提示是使用CSS来获得一个没有宽度的inline-block
。
.phantom {
display: inline-block;
color: red;
width: 0;
overflow: visible;
}
如果要突出显示的字母部分是现有的unicode字符,这将很好。否则,您可以尝试使用(或创建)一种特殊的字体,突出显示字母的各个部分。
你的意思是这样的吗?只使用css在上面流动文本,在本例中不需要javascript;-)但你总是可以切换出想要效果的类。
它所做的是使用transition属性,允许它在悬停、单击活动等事件后在不同css状态之间设置动画。
要突出显示信件的某个部分,您需要添加两次该HTML元素。我用彩色和素色做的事。这也适用于单个字母。您需要将它们设置为一个绝对位置,并将它们包装在一个相对的div中。通过这样做,它们将自己绝对地定位在相对包装器div的左上角位置(在我的示例中)。这样,如果您使用<span>
作为的包装器,就可以保持文本流
然后你将一个设置为宽度0,或者设置为你想要的任何宽度,以覆盖另一个字母的一半
在我的例子中,只有一半的Y是红色的,另一半(一半ish)不是红色的
如果你想覆盖上半部分,你可以选择高度。
http://jsfiddle.net/L9L8L966/1/
#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;
}
<div id="container">
<div id="coloured">
abcdefghijklmnopqrstuvwxyz
</div>
<div id="plain">
abcdefghijklmnopqrstuvwxyz
</div>
</div>
如果你想在代码中动态突出显示,我会使用一个javascript框架highlight.js。它非常简单易用。以下是jquery和knockout示例:$('.searchme').highlight('high');
样本
- 从桌面读取python文件时高亮显示代码
- 高亮显示时编辑文本大小和颜色
- 高亮显示与数组字符串一起使用时文本插件中断
- FF视图源|脚本高亮显示为红色
- 父页面的角度路由器导航高亮显示
- OpenLayers在悬停时高亮显示功能,并在单击时选择
- 当DIV中的文本高亮显示时,如何获得DIV中Span的值?(Javascript)
- 延迟高亮显示文本区域中的文本
- Mootools:如何在点击时保持元素高亮显示并停止所有事件
- 高亮显示单击菜单链接
- Firefox-当不在输入控件上时隐藏焦点高亮显示
- 高亮显示包含<br>以及重新格式化网格
- 使用下拉选择菜单高亮显示一行表格单元格
- 如何限制javascript高亮显示函数的使用次数
- 在GXT中激活上下文菜单时,如何保持选中的文本高亮显示?(EXT GWT 2.x)
- html5中的文本高亮显示
- Markdown语法高亮显示未按预期工作
- D3js连续一个接一个地高亮显示条
- Javascript:搜索和高亮显示包括HTML标记
- 单击并用CTRL+C复制值时高亮显示html表格单元格