【问题标题】:Can I add HTML markup via CSS classes? [duplicate]我可以通过 CSS 类添加 HTML 标记吗? [复制]
【发布时间】:2015-03-11 18:23:14
【问题描述】:

我的问题 here 关于在特定文本段上显示“悬停提示”(以及其他有用的提示)时得到了很好的回答。

但后来我想:与其在无数地方写“Title="Bla bla bla bla”,不如将其委托给 CSS 类,如下所示:

.billybob
{
    color: lime;
    Title="this is the title for Billy Bob";
}

我有一个尝试过 here 的示例,但在 Mudville 中没有乐趣。

有可能吗,还是我坚持将标题显式添加到 HTML 中引用类的每个地方?

【问题讨论】:

  • 从技术上讲,您可以使用伪元素选择器 ::before 和 ::after 和 conentproperty 编写内容,但您不会影响现有属性,只需在伪元素中编写文本(或图像) -您正在定义的元素。不过要小心使用它,CSS 不是内容的地方,就像 HTML 不是样式的地方...处理多语言网站时,您很快就会发现为什么这是一个坏主意。
  • 您可以使用伪元素,但我不确定我是否完全理解您的问题。
  • 我建议看一下this answer,然后使用content 属性通过伪元素来实现这一点...例如 - jsfiddle.net/hs3dok9z
  • 正如其他人所说,您可以使用伪元素“内容”。真正的问题是你应该....

标签: html css


【解决方案1】:

你能得到的最接近的是使用伪元素。

.billybob:before {
    content: 'This is a title for Billy Bob';
}

【讨论】:

  • 补充您的答案..您可以通过伪元素实现like this。 (基于this answer)
  • 应该注意的是,这不是标题所问的“HTML 标记”——它是文本。此外,如果您完全关心可访问性,则应该小心使用它来插入重要内容。
【解决方案2】:

抱歉,您不能。 CSS 是一种表示语言。既不能用也不能用来添加内容(except for :before and :after pseudo element).

你可以用 Jquery 来实现它

$('.billybob').attr('title','this is the title for Billy Bob')

【讨论】:

  • 我会将此标记为答案,因为我最喜欢这个解决方案,但因为我(错误地,我认为)专门询问如何在 CSS 中做到这一点,我不会(只是给出上升)。
  • @B.ClayShannon 没问题。 :)
猜你喜欢
  • 1970-01-01
  • 2017-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-22
  • 1970-01-01
相关资源
最近更新 更多