I built this snippet to highlight paragraphs on hover by using a pseudo element:
.wrapper {
  /* background: #ccc; */
}
p {
  position: relative;
  padding: 0.5em 1em;
  margin: 0em;
}
p:hover::after {
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  background: orange;
  content: '';
  z-index: -1;
  border-radius: 7px;
}<div class="wrapper">
  <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.</p>
  <p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem et ea rebum.</p>
  <p>takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
</div>As long as the wrapping div hasn't a background color applied, above code is working fine. But as soon as the wrapper gets a background color, the highlighting pseudo element is hidden. Adjusting z-index doesn't help.
.wrapper {
  background: #ccc;
}
p {
  position: relative;
  padding: 0.5em 1em;
  margin: 0em;
}
p:hover::after {
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  background: orange;
  content: '';
  z-index: -1;
  border-radius: 7px;
}<div class="wrapper">
  <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.</p>
  <p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem et ea rebum.</p>
  <p>takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
</div> 
     
    