To let the text to be faded out, we can use { z-index: number } to bring :before and :after to a upper layer.
And I guess we might need to use { pointer-events: none } to let :before and :after not to block the top and bottom list elements.