Нет, нет способа получить псевдо, как вы хотите.
Единственный способ, которым я нашел, чтобы получить этот вид эффекта, это с background-image, который покрывает базовое фоновое изображение.Установите на этом слегка наклонный переход от белого к прозрачному.При перемещении слева направо, оно покроет / раскроет базовое изображение
.container {
width: 100px;
}
.text {
position: relative;
font-size: 30px;
line-height: 1.2em;
background-image: linear-gradient(to left top, transparent 49%, white 51%);
background-size: 5000% 1.2em;
background-position: left center;
transition: background-position 2s;
}
.text:hover {
background-position: right center;
}
.text:after {
content: '';
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background: linear-gradient(to right, red, yellow);
z-index: -1;
background-size: 100% 1.2em;
line-height: 1.2em;
}
<div class="container">
<p class="text">This is some multi-line text...</p>
</div>