Html 如何使psudo元素与其元素的宽度相同

Html 如何使psudo元素与其元素的宽度相同,html,css,Html,Css,我刚开始学习CSS中的伪元素,比如::before和::after。我试图使after元素与其父元素的宽度相同。例如: <a href="#">Test</a> 我想让宽度与元素相同。有什么办法吗?我想你需要一个来包装您可以通过将a元素的位置设置为relative,将伪元素的位置设置为absolute来实现这一点 这将使伪元素“继承”其原始元素的宽度,允许您设置宽度:100% 像这样: a{ 位置:相对位置; } a:之后{ 内容:“; 高度:20px; 宽度:100

我刚开始学习CSS中的伪元素,比如
::before
::after
。我试图使after元素与其父元素的宽度相同。例如:

<a href="#">Test</a>
我想让宽度与元素相同。有什么办法吗?

我想你需要一个
来包装
您可以通过将
a
元素的位置设置为
relative
,将伪元素的位置设置为
absolute
来实现这一点

这将使伪元素“继承”其原始元素的宽度,允许您设置
宽度:100%

像这样:

a{
位置:相对位置;
}
a:之后{
内容:“;
高度:20px;
宽度:100%;
位置:绝对位置;
}

您是否尝试过宽度:100%?我希望看到更多的上下文。当我放置width:100%时,它会使元素在整个页面上移动。我希望css根据父元素的内容更改::before元素的宽度。编辑:例如,如果父对象的宽度是100px,我希望::before是100px,但是如果宽度是1000px,我希望::before是1000px,我只需要计算一下。我从不把
放在相对位置。这就是我所需要做的
a::before{
content: "";
height: 20px;
width: ?
}