В настоящее время я пытаюсь установить ширину псевдоэлемента: before, чтобы соответствовать размерам самого элемента (в данном случае тега привязки), с целью создания наложения, охватывающего весь элемент. Для демонстрации в этом примере я рассмотрю веб-страницу Google для демонстрации:
a.gb_g::before {
background-color: rgba(255, 0, 0, 0.2);
position: absolute;
content: 'hello';
display: block;
position: absolute;
}
<div class="gb_h gb_i">
<a class="gb_g" data-pid="23" href="https://mail.google.com/mail/?tab=wm&ogbl">Gmail</a>
</div>
Однако это дает следующий результат:
![Gmail and Images links from Google's web page - showing overlays with incorrect dimensions](https://i.stack.imgur.com/W9uSm.png)
У меня также есть попытался установить width: 100%
, но это привело к переполнению контейнера. Можно ли установить ширину псевдоэлемента, чтобы она точно соответствовала ширине самого элемента (в данном случае это ссылка «Gmail» / «Изображения»)? Желаемый результат заключается в том, чтобы оверлей полностью покрывал каждый из тегов привязки, не внося CSS изменений в сам элемент.
По сути, я столкнулся со сценарием, в котором у меня есть фиксированный макет веб-страницы (с существующим стилем, который я не могу контролировать), для которого я хотел бы выделить части веб-страницы (включая некоторые из ссылки). Таким образом, в идеале любые предлагаемые решения должны оказывать минимальное влияние на существующий макет страницы, поэтому я попытался выбрать решение, полностью основанное на псевдоэлементах.