自动将文本从元素复制到 :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。编辑了代码段。
我想在我的页眉上添加缩放文本效果,而不创建额外的文本元素。尝试这样做,我正在使用 ::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。编辑了代码段。