Tôi đã tìm ra điều này. Cuối cùng! Có một cách đơn giản để làm điều này. Thích như vậy:
<svg id="xbox" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 60.7"><title>xbox</title><rect width="200" height="60.68" style="fill:none"/><path d="M195.2,49.2l-11.8-16-11.5,16h-4.8L181.2,30,168.4,12.8h4.8l10.2,14,10.5-14h4.8L185.9,30,200,49.2Zm-90.7,0L90.4,30l12.8-17.2H98.4l-10.5,14-10.3-14H72.8L85.6,30l-14,19.2h4.8l11.5-16,11.8,16Z" style="fill:#0f7c10"/><path d="M131,31.3l-2.2-1.6a8.2,8.2,0,0,0,4.4-7c0-2.6-.9-9.9-12.1-9.9H106.4V28.4h-4.8l-2.9,3.5h7.7V49.2h14.7c8.3,0,13.1-4.2,13.1-10.9a8.6,8.6,0,0,0-3.2-7m-20.5-15h10.6c3.2,0,8,1,8,6.1s-2.9,6-8,6H110.5Zm10.6,29.1H110.5V31.9h10.6c4.1,0,8.9,1.3,8.9,6.4s-5.4,7.1-8.9,7.1m32.3-33.6c-10.3,0-17.3,7.7-17.3,19.2s7,18.8,17.3,18.8,17.5-7.6,17.5-18.8-7.3-19.2-17.5-19.2m0,34.2c-7.7,0-13.1-6.1-13.1-15s5.4-15.3,13.1-15.3S166.8,22,166.8,31s-5.5,15-13.4,15M8.9,8.6h0A31,31,0,0,0,0,30.4,32.5,32.5,0,0,0,6.1,48.9h.3C4.2,41.5,16,24.3,22,16.9h0C11.8,6.4,8.9,8.9,8.9,8.6m42.9,0h0a31,31,0,0,1,8.9,21.8,32.5,32.5,0,0,1-6.1,18.5h-.3c2.2-7-9.6-24.3-15.6-31.6h0C48.9,7,51.8,9.6,51.8,9.3M30.4,0A29.9,29.9,0,0,1,46.3,4.5h0c0,.3,0,.3-.3.3C40.3,3.5,31.3,8.3,30.4,8.9h0C28.1,7.7,19.8,3.2,14.7,4.8a.3.3,0,0,1-.3-.3h0A30,30,0,0,1,30.4,0m0,24.3h0c9.2,7,24.9,24.3,20.1,29.1h0a31.5,31.5,0,0,1-40.3,0h0C5.8,48.6,21.1,31.3,30.4,24.3h0" style="fill:#0f7c10"/></svg>
Vấn đề là khi bạn xuất một hình ảnh từ Illustrator (như nhiều người), artboard không được bao gồm trong SVG đã xuất. Các đường dẫn không có gì để căn cứ vào tính toán của họ.
Trong trường hợp của tôi, chiều cao tối đa cho hình ảnh của tôi là 100px
và tôi cần căn cứ các kiểu CSS cho những hình ảnh này dựa trên chiều rộng và chiều cao của chúng. Trong CSS tôi sử dụng vw
các đơn vị, hoặc đơn giản là cũ 100%
nếu SVG là để lấp đầy không gian khối. Quy mô này độc đáo. Bằng cách đó, bạn sẽ không gặp rắc rối về việc thiết lập chiều rộng và chiều cao trong CSS để đảm bảo nó hiển thị chính xác.
Tôi đã đi qua từng logo và đặt chiều cao thành 100px
và để độ rộng tự động tính toán dựa trên tỷ lệ khung hình. Sau đó, tôi lắp tấm ván vào logo để loại bỏ bất kỳ không gian chưa sử dụng.
Tôi đã chọn một hình chữ nhật và tắt điền và đột quỵ và tôi đảm bảo rằng nó có cùng kích thước với bản vẽ. Đặt đối tượng trống này ở phía sau. Bây giờ khi bạn xuất đường dẫn sẽ có một cơ sở để thực hiện các tính toán trên.
Để thực hiện điều này trong mã, có vẻ như bạn có thể bọc các đường dẫn trong một rect
và đặt chiều rộng và chiều cao của nó, sau đó bạn có thể đặt thành viewBox
như nhau (giữ tỷ lệ khung hình giống nhau). Như thể hiện trong ví dụ trên. Tôi đã không thực sự kiểm tra điều này nhưng tôi sẽ kiểm tra và cập nhật.