I finally found a responsive answer to the webkit stroke problem: span{ color: white; text-shadow: 1px 1px black, -1px -1px black; } @supports(-webkit-text-stroke: 1px black){ span{ color: transparent; -webkit-text-stroke: 1px black; text-shadow: none; } } This works as @supports has been implemented in most webkit browsers like chrome and opera...