该<blink>标记从来都不是官方标准,现在已被所有浏览器完全放弃。
有没有使文本闪烁的符合标准的方法?
该<blink>标记从来都不是官方标准,现在已被所有浏览器完全放弃。
有没有使文本闪烁的符合标准的方法?
<blink>最初被认为是个玩笑。看到这里:montulli.org。
Answers:
不,那里没有。Wikipedia上有一篇不错的文章,并提供了使用JavaScript和CSS的替代方法:http : //en.wikipedia.org/wiki/Blink_element
.blink_text {
animation:1s blinker linear infinite;
-webkit-animation:1s blinker linear infinite;
-moz-animation:1s blinker linear infinite;
color: red;
}
@-moz-keyframes blinker {
0% { opacity: 1.0; }
50% { opacity: 0.0; }
100% { opacity: 1.0; }
}
@-webkit-keyframes blinker {
0% { opacity: 1.0; }
50% { opacity: 0.0; }
100% { opacity: 1.0; }
}
@keyframes blinker {
0% { opacity: 1.0; }
50% { opacity: 0.0; }
100% { opacity: 1.0; }
}
<span class="blink_text">India's Largest portal</span>
请尝试这个,我保证它会工作
<script type="text/javascript">
function blink() {
var blinks = document.getElementsByTagName('blink');
for (var i = blinks.length - 1; i >= 0; i--) {
var s = blinks[i];
s.style.visibility = (s.style.visibility === 'visible') ? 'hidden' : 'visible';
}
window.setTimeout(blink, 1000);
}
if (document.addEventListener) document.addEventListener("DOMContentLoaded", blink, false);
else if (window.addEventListener) window.addEventListener("load", blink, false);
else if (window.attachEvent) window.attachEvent("onload", blink);
else window.onload = blink;
然后将其放在下面:
<blink><center> Your text here </blink></div>
blinks每次都使用来查询标签getElementsByTagName。实际上,您只可以查询一次,因为它将自行自动更新(简而言之:一次在循环外声明该变量),2)function> timeout> function> timeout> ..它的含义非常深,setInterval应该简单好。(使用反向for循环的优点)是我对这个邪恶代码的支持;)
该blink元素已被浏览器放弃:Firefox最高支持版本22,Opera最高支持版本12。
HTML5 CR是提到的第一个规范草案blink,将其声明为“过时”,但使用规则描述了“预期的渲染” (在“渲染”部分中)。
blink { text-decoration: blink; }
并建议使用CSS替换该元素。实际上,有几种替代的blink在CSS和JavaScript中进行仿真的方式,但是提到的规则是最简单的:blink为text-decoration定义的值是专门为blink元素提供CSS对应的。但是,对此blink元素的支持似乎受到限制。
如果您确实想使内容以跨浏览器的方式闪烁,则可以使用例如简单的JavaScript代码,以定时方式将内容更改为不可见,变回可见等。为了获得更好的结果,您可以使用CSS动画,但对浏览器的支持要有限得多。
<blink>并text-decoration: blink在昨天发布的Firefox 23中被删除(从技术上讲,后者可以识别但被忽略了)。因此,即使HTML5表示要将声明应用于<blink>元素,也有可能实际上不会在最新的浏览器中生效。
blink标记的存在。这个例子的确是一个动画GIF;)
不推荐使用blick标记,并且效果有点陈旧:)当前的浏览器不再支持该标记。无论如何,如果需要闪烁效果,则应使用javascript或CSS解决方案。
CSS解决方案
blink {
animation: blinker 0.6s linear infinite;
color: #1c87c9;
}
@keyframes blinker {
50% { opacity: 0; }
}
.blink-one {
animation: blinker-one 1s linear infinite;
}
@keyframes blinker-one {
0% { opacity: 0; }
}
.blink-two {
animation: blinker-two 1.4s linear infinite;
}
@keyframes blinker-two {
100% { opacity: 0; }
}
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<h3>
<blink>Blinking text</blink>
</h3>
<span class="blink-one">CSS blinking effect for opacity starting with 0%</span>
<p class="blink-two">CSS blinking effect for opacity starting with 100%</p>
</body>
</html>
来源:HTML闪烁标签
如果您希望重新启用眨眼标记以进行自己的浏览,则可以安装我编写的这个简单的Chrome扩展程序:https : //github.com/etlovett/Blink-Tag-Enabler-Chrome-Extension。它仅使用setInterval隐藏并显示每个页面上的所有<blink>标记。
一个小的javascript片段来模仿眨眼,甚至不需要CSS
<span id="lastDateBlinker">
Last Date for Participation : 30th July 2014
</span>
<script type="text/javascript">
function blinkLastDateSpan() {
if ($("#lastDateBlinker").css("visibility").toUpperCase() == "HIDDEN") {
$("#lastDateBlinker").css("visibility", "visible");
setTimeout(blinkLastDateSpan, 200);
} else {
$("#lastDateBlinker").css("visibility", "hidden");
setTimeout(blinkLastDateSpan, 200);
}
}
blinkLastDateSpan();
</script>
下面的解决方案很有趣,因为它可以同时应用于多个元素,并且当页面上不再存在该元素时也不会触发错误。秘密在于,它被称为传递参数的函数,在该函数中您必须返回要受到闪烁影响的元素。然后,每次闪烁都会调用此功能。下面的HTML文件:
<!doctype>
<html>
<head>
<style>
.blink {color: red}
</style>
</head>
<body>
<h1>Blink test</h1>
<p>
Brazil elected President <span class="blink">Bolsonaro</span> because he
was the only candidate who did not promise <span class="blink">free things</span>
to the population. Previous politicians created an image that would
bring many benefits, but in the end, the state has been getting more and
more <span class="blink">burdened</span>. Brazil voted for the
realistic idea that <span class="blink">there is no free lunch</span>.
</p>
</body>
<script>
var blink =
{
interval_in_miliseconds:
400,
on:
true,
function_wich_returns_the_elements:
[],
activate:
function(function_wich_returns_the_elements)
{
this.function_wich_returns_the_elements = function_wich_returns_the_elements;
setInterval(blink.change, blink.interval_in_miliseconds);
},
change:
function()
{
blink.on = !blink.on;
var i, elements = [];
for (i in blink.function_wich_returns_the_elements)
{
elements = elements.concat(blink.function_wich_returns_the_elements[i]());
}
for (i in elements)
{
if (elements[i])
{
elements[i].style.opacity = blink.on ? 1 : .2;
}
}
}
};
blink.activate
(
[
function()
{
var
i,
node_collection = document.getElementsByClassName('blink'),
elements = [];
for (i = 0; i < node_collection.length; i++)
{
elements.push(node_collection[i]);
}
return elements;
}
]
);
</script>
</html>
可以用这个
@keyframes blinkingText
{
0%{ opacity: 1; }
40%{ opacity: 0; }
60%{ opacity: 0; }
100%{ opacity: 1; }
}
.blinking
{
animation:blinkingText 2s reverse infinite;
}
这是一些代码,可以代替眨眼标签
<p id="blink">This text will blink!</p>
<script>
var blacktime = 1000;
var whitetime = 1000;
//These can be as long as you desire in milliseconds
setTimeout(whiteFunc,blacktime);
function whiteFunc(){
document.getElementById("blink").style.color = "white";
setTimeout(blackFunc,whitetime);
}
function blackFunc(){
document.getElementById("blink").style.color = "black";
setTimeout(whiteFunc,blacktime);
}
</script>
这是一个满足您需求的Web组件:blink-element。
您只需将内容包装在中<blink-element>。
<blink-element>
<!-- Blinking content goes here -->
</blink-element>