是否有可能打出标题
<title><s>My Title</s></title>
这样,标题栏会显示 My Title ?
或者有没有办法用css解决这个问题?
答案 0 :(得分:19)
HTML标题元素定义文档的标题, 显示在浏览器的标题栏或页面的选项卡上。 它只能包含文本,并且不会解释任何包含的标记。
所以不,不能那样做。
<强>更新强>
其他答案建议使用unicode字符的各种组合来完成攻击,即使这可能并且可以产生一个不错的结果,我相信它带来了一个很大的缺点。
我不是任何方式的SEO专家,但据我所知,根据谷歌Search Engine Optimization Starters Guide,<title>
在搜索引擎优化方面非常重要。他们的指南建议你应该避免:
我的解释是,在你的标题中使用晦涩的字符会直接违反这一点,所以基于此,我强烈建议你避免使用它。
答案 1 :(得分:13)
通过使用内置了攻击的字符,可以。但这是唯一的方法。使用HTML标记或CSS不会产生您想要的结果。
使用此示例:http://blog.imthy.com/2008/06/strikethrough-strikethrough-text.html
答案 2 :(得分:3)
不,我所知道的浏览器不会直接在标题栏中支持HTML呈现,只会显示<title>
标记内的明文。你可能希望做的最多的是使用一些不起眼的字符,其中该行是每个字符的一部分 - 这是非常具体的,我不在乎调查。
答案 3 :(得分:1)
如果在标题栏中显示title
元素内容,则无法更改它的呈现。这不依赖于规范,而是依赖于实现:浏览器使用自己的例程来显示标题,HTML标记或CSS设置不会影响这一点。
没有什么可以阻止我们为title
元素设置样式,例如
title { text-decoration:line-through; }
但默认情况下没有可见效果,因为该元素不是显示的文档内容的一部分。添加
head, title { display: block; }
使其可见,您可以在(在现代浏览器中)将内容视为页面上的过度使用。但这不会影响标题栏(并且不是特别有用)。
在元素内容中使用特殊字符,您可以创建重击,如其他答案所示。然而,这将产生相当大的混乱风险,因为浏览器用于显示标题栏的例程通常使用有限的字符库,显示不受支持的字符,例如作为小盒子。
答案 4 :(得分:1)
您可以使用Unicode combining characters添加它们。它在很大程度上取决于操作系统/浏览器在标题栏中使用的字体,但它看起来如何。
function strike(text) {
var output = '';
for (var i = 0; i < text.length; i++) {
output += '\u0336' + text[i];
}
return output;
}
function strikeTitle() {
document.title = strike(document.title);
}
编辑:我个人最喜欢\ u0337。
答案 5 :(得分:0)
我担心这是不可能的。 'title'标签不允许在其内容中进行任何格式化。
答案 6 :(得分:0)
这是不可能的,您无法使用CSS控制浏览器窗口标题的<title>
标记。
答案 7 :(得分:0)
浏览器允许通过两个选项
自定义文档标题任何带标签或css的自定义都将被忽略,标题上只会显示文字和fav图标。
因此,如果你想玩标题,你仍然可以使用javascript,你可以创建可能适合你的动画。