Tôi có một số đồ họa SVG, tôi muốn sửa đổi màu sắc của thông qua các biểu định kiểu bên ngoài - không trực tiếp trong mỗi tệp SVG. Tôi không đặt đồ họa vào dòng, nhưng lưu trữ chúng trong thư mục hình ảnh của tôi và trỏ đến chúng.
Tôi đã triển khai chúng theo cách này để cho phép các chú giải công cụ hoạt động và tôi cũng gói mỗi chú giải trong một <a>
thẻ để cho phép liên kết.
<a href='http://youtube.com/...' target='_blank'><img class='socIcon' src='images/socYouTube.svg' title='View my videos on YouTube' alt='YouTube' /></a>
Và đây là mã của đồ họa SVG:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="stylesheets/main.css" type="text/css"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 56.69 56.69">
<g>
<path d="M28.44......./>
</g>
</svg>
Tôi đặt phần sau vào tệp CSS bên ngoài của mình (main.css):
.socIcon g {fill:red;}
Tuy nhiên, nó không ảnh hưởng đến hình ảnh. Tôi cũng đã thử đường dẫn .socIcon g {} và đường dẫn .socIcon {}.
Có điều gì đó không đúng, có lẽ việc triển khai của tôi không cho phép sửa đổi CSS bên ngoài hoặc tôi đã bỏ lỡ một bước? Tôi thực sự đánh giá cao sự giúp đỡ của bạn! Tôi chỉ cần khả năng sửa đổi màu sắc của đồ họa SVG thông qua biểu định kiểu bên ngoài, nhưng tôi không thể mất chú giải công cụ và khả năng liên kết. (Tuy nhiên, tôi có thể sống mà không có chú giải công cụ.) Cảm ơn!
svg { fill:red; }
hoặc đặt tên lớp cho đường dẫn của bạn. Ví dụ: <path class="socIcon" d="M28.44 ..... />
điều này sẽ thực hiện thủ thuật.