On the Internet, found a curious effect for images. But my knowledge of layout is not enough to change the direction of movement of the gradient (top-down to left-to-right) and loop it, that is, the challenge is not pointing to a picture.
figure { width: 314px; height: 271px; position: relative; overflow: hidden; display: inline-block; top: -120%; transition: top 1s cubic-bezier(0, 0, 1, 1); } figure:hover { top: 120%; } figure:before, figure:after { content: ''; display: block; position: absolute; height: 100%; } figure:before { width: 100%; top: inherit; left: 0; opacity: 0.3; background-image: linear-gradient(0deg, rgba(255, 255, 255, 0), #ffffff 40%, rgba(255, 255, 255, 0.6) 60%, rgba(255, 255, 255, 0)); transform: rotate(0deg); } figure:nth-child(1) { background-image: url("http://ichef.bbci.co.uk/news/ws/660/amz/worldservice/live/assets/images/2015/09/02/150902003640_google_624x351_google_nocredit.jpg"); } section { width: 100% text-align: center; } body{ background: #fff; } <figure></figure> I would be happy for help in this matter!