自动将文本从元素复制到 :before content 属性

Automatically copy text from element to :before content attribute

我想在我的页眉上添加缩放文本效果,而不创建额外的文本元素。尝试这样做,我正在使用 ::before 伪元素。但是,要创建此效果,伪元素必须与实际元素具有相同的 content。由于这不能在 HTML 中完成并且在 CSS 中需要做很多工作(因为它位于多次..),我正在寻找一种适用于所有元素的通用方法效果。

我正在考虑使用 .attr() 函数以 jQuery 方式复制文本并将其附加到伪元素,但据我所知这是不可能的.

$(function() {
  $('h1').each(function() {
    var Text = "$(`this`).text()";
    $('this::before').attr('content', Text);
  });
});

有其他选择吗?


CSS对于效果,目前比较简单

:before {
  transform: scale(1.5)
  opacity: .2
  content: "text here"
}

您无法使用 javascript 访问伪元素,但是,您可以使用 CSS 访问元素。 检查代码段。

h1::before{
  content: attr(data-before);
}
<h1 data-before="Before Content">
Some Content
</h1>

我猜你甚至不需要 javascript。编辑了代码段。