Áp dụng một phông chữ duy nhất cho toàn bộ trang web bằng CSS


92

Tôi muốn sử dụng một phông chữ duy nhất có tên "Algeria" trên toàn bộ trang web của mình. Vì vậy, tôi cần thay đổi tất cả các thẻ HTML và tôi không muốn viết mã khác cho các thẻ khác nhau như:

button{font-family:Algerian;}
div{font-family:Algerian;}

Phương pháp được viết dưới đây cũng rất không được khuyến khích:

div,button,span,strong{font-family:Algerian;}

3
font-family là một giá trị kế thừa, vậy tại sao không chỉ định nghĩa nó trên phần thân?

Bạn có thể muốn chọn câu trả lời từ Jukka K. Korpela. Nó sớm hơn câu trả lời được chọn hiện tại, khoảng một tháng và có nội dung gần như giống nhau.
okm


Tôi đề nghị bạn không bao giờ sử dụng câu trả lời của (Jan Hančič) vì nó áp dụng phông chữ của bạn cho tất cả các thẻ html ngay cả thẻ bạn không muốn thay đổi. ví dụ: nếu bạn tạo thẻ img bên trong thẻ td và đặt nó là text-align: center và vertical-align: middle. bằng cách này, thẻ img của bạn sẽ không bao giờ là trung tâm của TD. Cách tốt nhất: kiểm tra tài liệu của bạn và chỉ cần áp dụng các định dạng phông chữ để các thẻ có văn bản trong họ
Mahdi Jazini

Câu trả lời:


113

Đặt font-familykhai báo vào một bodybộ chọn:

body {
  font-family: Algerian;
}

Sau đó, tất cả các phần tử trên trang của bạn sẽ kế thừa họ phông chữ này (tất nhiên là trừ khi bạn ghi đè nó sau này).


11
Một phần tử chỉ kế thừa font-familytừ cha của nó khi không có biểu định kiểu nào đặt họ phông chữ cho phần tử. Style sheets trình duyệt thường đặt họ phông chữ ít nhất là cho input, textarea, code, tt, và precác yếu tố.
Jukka K. Korpela

Bạn đúng rồi. Tôi đã làm việc với resets CSS quá lâu tôi quên loại vật :)
Jan Hancic

Hoặc tốt hơn, hãy kết hợp hai câu trả lời hàng đầu ... body, * {font-family: Algerian;}
james ace

105
*{font-family:Algerian;}

giải pháp tốt hơn bên dưới Áp dụng một phông chữ duy nhất cho toàn bộ trang web bằng CSS


3
Điều thú vị là đủ, điều này không làm việc khi sử dụng thiết lập lại CSS Eric Meyer
ianbeks

Điều đó không áp dụng họ phông chữ cho mọi phần tử? Điều này có vẻ như nó sẽ áp dụng nó cho các phần tử không cần thiết (như <img>) và không hiệu quả. Tôi chắc chắn có thể sai, nhưng tôi đã đọc để thận trọng khi áp dụng một phong cách cho mọi thứ.
Max Strater

Vì quy tắc chung là không thể ghi đè nên bạn sẽ không thể sử dụng phông chữ thứ hai trên trang web của mình.
Julian F. Weinert

Kể từ khi noboy đã đề cập đến điều này, bộ chọn phổ quát được biết là chậm. thêm về điều đó tại đây: clairecodes.com/blog/…
Terje Solem

Hoặc tốt hơn, hãy kết hợp hai câu trả lời hàng đầu ... body, * {font-family: Algerian;}
james ace

48

Bộ chọn phổ quát *đề cập đến tất cả các phần tử, css này sẽ làm điều đó cho bạn:

*{
  font-family:Algerian;
}

Nhưng thật không may nếu bạn đang sử dụng các biểu tượng FontAwesome hoặc bất kỳ Biểu tượng nào yêu cầu họ phông chữ của riêng chúng, điều này sẽ chỉ phá hủy các biểu tượng và chúng sẽ không hiển thị chế độ xem cần thiết.

Để tránh điều này, bạn có thể sử dụng :notbộ chọn, một mẫu biểu tượng phông chữ tuyệt vời <i class="fa fa-bluetooth"></i>, vì vậy bạn chỉ cần sử dụng:

*:not(i){
  font-family:Algerian;
}

điều này sẽ áp dụng họ này cho tất cả các phần tử trong tài liệu ngoại trừ các phần tử có tên thẻ <i>, bạn cũng có thể làm điều đó cho các lớp:

*:not(.fa){
  font-family:Algerian;
}

điều này sẽ áp dụng họ này cho tất cả các phần tử trong tài liệu ngoại trừ các phần tử có lớp "fa" đề cập đến lớp mặc định fontawesome, bạn cũng có thể nhắm mục tiêu nhiều hơn một lớp như thế này:

*:not(i):not(.fa):not(.YourClassName){
  font-family:Algerian;
}

Câu trả lời này cho một chi tiết cần thiết nhiều theo hiện trạng sử dụng phong cách trong các trang web do việc sử dụng các biểu tượng từ bootstrap (glyphicons) và phông chữ tuyệt vời
Lakshman

xin lưu ý rằng: (not selector) là CSS3 không tương thích với tất cả các trình duyệt. IE 9+ chúng ta phải đợi ít nhất 10 năm nữa để tất cả mọi người trên thế giới rời bỏ gia đình IE -9 mãi mãi: D: '(
Mahdi Jazini 30/11/16

19

Đảm bảo rằng các thiết bị di động sẽ không thay đổi phông chữ với phông chữ mặc định của chúng bằng cách sử dụng quan trọng cùng với bộ chọn chung *:

* { font-family: Algerian !important;}

18
* { font-family: Algerian; }

Bộ chọn phổ quát *đề cập đến bất kỳ phần tử nào.


3

Vì một phông chữ khác có thể đã được trình duyệt xác định cho các phần tử biểu mẫu, nên đây là 2 cách để sử dụng phông chữ này ở mọi nơi:

body, input, textarea {
    font-family: Algerian;
}

body {
    font-family: Algerian !important;
}

Sẽ vẫn có phông chữ monospace trên các phần tử như pre / code, kbd, v.v. nhưng, trong trường hợp bạn sử dụng các phần tử này, tốt hơn bạn nên sử dụng phông chữ monospace ở đó.

Lưu ý quan trọng: nếu rất ít người đã cài đặt phông chữ này trên hệ điều hành của họ, thì phông chữ thứ hai trong danh sách sẽ được sử dụng. Ở đây bạn đã xác định không có phông chữ thứ hai nên phông chữ serif mặc định sẽ được sử dụng và nó sẽ là Times, Times New Roman ngoại trừ có thể trên Linux.
Hai tùy chọn ở đó: sử dụng @ font-face nếu phông chữ của bạn được sử dụng miễn phí làm phông chữ có thể tải xuống hoặc thêm (các) dự phòng: một thứ hai, một thứ ba, v.v. và cuối cùng là một họ mặc định (sans-serif, thảo mộc (*), monospace hoặc serif). Đầu tiên trong danh sách tồn tại trên hệ điều hành của người dùng sẽ được sử dụng.

(*) chữ thảo mặc định trên Windows là Comic Sans. Trừ khi bạn muốn troll người dùng Windows, đừng làm như vậy :) Phông chữ này thật khủng khiếp, ngoại trừ những ngày sinh nhật của con bạn được chào đón.


2

Vui lòng đặt phần này vào đầu (các) Trang của bạn nếu "phần thân" cần sử dụng 1 và cùng một phông chữ:

<style type="text/css">
body {font-family:FONT-NAME ;
     }
</style>

Mọi thứ giữa các thẻ <body></body>sẽ có cùng một phông chữ


1

Ok vì vậy tôi đã gặp sự cố này trong đó tôi đã thử một số tùy chọn khác nhau.

Phông chữ tôi đang sử dụng là Ubuntu-LI, tôi đã tạo một thư mục phông chữ trong thư mục làm việc của mình. dưới phông chữ thư mục

Tôi đã có thể áp dụng nó ... cuối cùng đây là mã làm việc của tôi

Tôi muốn điều này áp dụng cho toàn bộ trang web của mình nên tôi đặt nó ở đầu tài liệu css. trên tất cả các thẻ Div (không phải là vấn đề quan trọng, chỉ cần biết rằng bất kỳ phông chữ riêng lẻ nào bạn chỉ định cho bài đăng tập lệnh của mình sẽ được ưu tiên)

@font-face{
    font-family: "Ubuntu-LI";
    src: url("/fonts/Ubuntu/(Ubuntu-LI.ttf"),
    url("../fonts/Ubuntu/Ubuntu-LI.ttf");
}

*{
    font-family:"Ubuntu-LI";
}

Nếu sau đó tôi muốn tất cả các thẻ H1 của mình là một cái gì đó khác, hãy nói sans sarif, tôi sẽ làm điều gì đó như

h1{
   font-family: Sans-sarif;
}

Từ trường hợp đó, chỉ các thẻ H1 của tôi sẽ là phông chữ sans-sarif và phần còn lại của trang của tôi sẽ là phông chữ Ubuntu-LI


0

trong Bootstrap, người kiểm tra web cho biết Tiêu đề được đặt thành 'kế thừa'

tất cả những gì tôi cần để đặt trang của mình sang phông chữ mới là

div, p {font-family: Algerian}

đó là trong .scss


-1
*{font-family:Algerian;}

html này đã làm việc cho tôi. Đã thêm vào cài đặt canvas trong wordpress.

Trông thật tuyệt - cảm ơn!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.