Một tùy chọn khác có thể là sử dụng SVG. Bạn có thể tạo văn bản nhiều màu trong SVG bằng cách sử dụng gradient. Nếu hai điểm dừng liền kề nằm ở cùng một vị trí thì bạn sẽ nhận được sự chuyển tiếp rõ nét giữa các màu. Nếu hai điểm dừng liền kề nằm ở các vị trí khác nhau thì bạn sẽ nhận được sự chuyển tiếp suôn sẻ giữa các màu. Bạn có thể có nhiều điểm dừng màu tùy thích. Ví dụ ...
<svg width="200" height="80" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="bicolored">
<stop offset="33%" stop-color="red"/>
<stop offset="33%" stop-color="blue"/>
</linearGradient>
<linearGradient id="tricolored">
<stop offset="33%" stop-color="red"/>
<stop offset="33%" stop-color="green"/>
<stop offset="66%" stop-color="green"/>
<stop offset="66%" stop-color="blue"/>
</linearGradient>
<linearGradient id="smooth">
<stop offset="33%" stop-color="red"/>
<stop offset="66%" stop-color="blue"/>
</linearGradient>
</defs>
<text x="0" y="20" fill="url(#bicolored)">Some bicolored Text</text>
<text x="0" y="40" fill="url(#tricolored)">Some tricolored Text</text>
<text x="0" y="60" fill="url(#smooth)">Some smooth gradient Text</text>
</svg>
Lưu ý rằng trong SVG, dừng màu ở vị trí tương đối (ví dụ: 0 đến 1, 0% đến 100%). Điều này có thể làm cho nó hơi khó khăn nếu bạn đang cố gắng đặt màu dừng tại các vị trí pixel cụ thể.
Lưu ý rằng trong SVG, bạn phải định vị thủ công phần tử văn bản trong phần tử svg.
Nguồn
2015-12-15 15:39:32
Nếu bạn muốn có màu sắc của một số văn bản với màu sắc khác nhau trong đầu thì bạn có thể tìm kiếm ': before' – nikhil
Có một lý do cụ thể tại sao bạn không chỉ sử dụng' < span class = "red"> văn bản màu đỏ văn bản màu xanh '? Như vậy sẽ dễ dàng hơn – Marv
@Marv vâng, nhìn kỹ, một nửa số "b" trong mẫu có một màu, nửa còn lại có màu khác nhau. –