Tôi đã đấu tranh với điều này trong một thời gian. Giải pháp của Dycey là chính xác trong đó chỉ định src
nhiều lần xuất ra cùng một điều trong tệp css của bạn. Tuy nhiên, điều này dường như phá vỡ trong OSX Firefox 23 (có lẽ các phiên bản khác nữa, nhưng tôi không có thời gian để kiểm tra).
Giải pháp qua trình duyệt @font-face
từ Font Squirrel trông như thế này:
@font-face {
font-family: 'fontname';
src: url('fontname.eot');
src: url('fontname.eot?#iefix') format('embedded-opentype'),
url('fontname.woff') format('woff'),
url('fontname.ttf') format('truetype'),
url('fontname.svg#fontname') format('svg');
font-weight: normal;
font-style: normal;
}
Để tạo ra src
bất động sản với các giá trị bằng dấu phẩy, bạn cần phải viết tất cả các giá trị trên cùng một dòng, vì line- không được hỗ trợ trong Sass. Để sản xuất tuyên bố trên, bạn sẽ viết Sass sau:
@font-face
font-family: 'fontname'
src: url('fontname.eot')
src: url('fontname.eot?#iefix') format('embedded-opentype'), url('fontname.woff') format('woff'), url('fontname.ttf') format('truetype'), url('fontname.svg#fontname') format('svg')
font-weight: normal
font-style: normal
tôi nghĩ rằng nó có vẻ ngớ ngẩn để viết ra những con đường một loạt các lần, và tôi không thích dòng quá dài trong mã của tôi, vì vậy tôi làm việc xung quanh nó bằng cách viết mixin này:
=font-face($family, $path, $svg, $weight: normal, $style: normal)
@font-face
font-family: $family
src: url('#{$path}.eot')
src: url('#{$path}.eot?#iefix') format('embedded-opentype'), url('#{$path}.woff') format('woff'), url('#{$path}.ttf') format('truetype'), url('#{$path}.svg##{$svg}') format('svg')
font-weight: $weight
font-style: $style
Cách sử dụng: Ví dụ, tôi có thể sử dụng mixin trước để thiết lập lên font Frutiger ánh sáng như thế này:
+font-face('frutigerlight', '../fonts/frutilig-webfont', 'frutigerlight')
Trong teresting! Người dùng mạng nội bộ của tôi không sử dụng FF nên không nhận thấy vấn đề. Sẽ xem xét nó – Dycey
Tôi gặp phải vấn đề mà giải pháp được chấp nhận không hoạt động trong IE9 và 10, nhưng đề xuất của bạn để đặt tất cả 'src's trên một dòng đã sửa nó. Cảm ơn! –
Cảm ơn rất nhiều vì mixin hoạt động tốt. – ericjbasti