14

可以打标题吗

<title><s>My Title</s></title>

像这样,这样标题栏就会显示My Title?或者有没有办法用css解决这个问题?

4

8 回答 8

19

来自MDN 上的<title>元素

HTML 标题元素定义文档的标题,显示在浏览器的标题栏或页面的选项卡上。它只能包含文本,并且不会解释任何包含的标签。

所以不,不能那样做。

更新:

其他答案建议使用 unicode 字符的各种组合来完成删除,尽管这可能是可能的并且可以产生不错的结果,但我相信它有一个很大的缺点。

我不是 SEO 方面的专家,但据我所知,根据 Google的搜索引擎优化入门指南,在搜索引擎优化<title>方面非常重要。他们的指南建议您应该避免

  • 选择与页面内容无关的标题
  • 使用默认或模糊的标题,如“无标题”或“新页面 1”

我的解释是,在你的标题中使用晦涩的字符将直接违反这一点,因此我强烈建议你避免使用它。

于 2012-10-30T15:44:42.850 回答
13

可以通过使用内置罢工的角色来实现。但这是唯一的方法。使用 HTML 标记或 CSS 不会产生您想要的结果。

使用此示例:http: //blog.imthy.com/2008/06/strikethrough-strikethrough-text.html

于 2012-10-30T15:49:32.133 回答
3

不,我知道没有浏览器支持直接在标题栏中呈现 HTML,只会<title>显示标签内的纯文本。您最希望做的是使用一些晦涩的字符,其中行是每个字符的一部分 - 一些非常具体的东西,我不想调查。

于 2012-10-30T15:44:32.473 回答
1

title如果标题栏中显示元素内容,则无法更改其呈现方式。这不取决于规范,而是取决于实现:浏览器使用自己的例程来显示标题,而 HTML 标记或 CSS 设置不会影响这一点。

没有什么能阻止我们对title元素进行样式设置,例如

title { text-decoration:line-through; }

但这默认情况下没有可见效果,因为该元素不是显示的文档内容的一部分。添加

head, title { display: block; }

使其可见,并且您可以(在现代浏览器中)在页面上看到内容过度。但这不会影响标题栏(也不是特别有用)。

在元素内容中使用特殊字符,您可以创建覆盖,如其他答案所示。然而,这将产生相当大的混乱风险,因为浏览器用于显示标题栏的例程通常使用有限的字符库,将不受支持的字符显示为小框。

于 2012-10-30T18:13:26.027 回答
1

您可以使用Unicode 组合字符来添加它们。它在很大程度上取决于操作系统/浏览器在标题栏中使用的字体,但它的外观如何。

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 。

于 2012-10-30T18:56:28.430 回答
0

浏览器允许通过两个选项自定义文档的标题

  1. 最喜欢的图标 2. 标题

任何带有标签或 css 的自定义都将被忽略,标题上只会显示文本和收藏图标。

因此,如果您想玩转标题,您仍然可以使用 javascript,您可以创建可能适合您的动画。

于 2012-10-30T15:59:44.537 回答
0

恐怕这是不可能的。“标题”标签不允许在其内容中使用任何格式。

于 2012-10-30T15:45:20.833 回答
0

这是不可能的,你不能<title>用 CSS 控制浏览器窗口标题的标签。

于 2012-10-30T15:49:27.493 回答