Aplicar una sola fuente a todo un sitio web con CSS


92

Quiero usar una única fuente llamada "Algerian" en todo mi sitio web. Entonces, necesito cambiar todas las etiquetas HTML y no quiero escribir código diferente para etiquetas diferentes como:

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

El método escrito a continuación también está muy desaconsejado:

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

3
font-family es un valor heredado, así que ¿por qué no definirlo en el cuerpo?

Es posible que desee elegir la respuesta de Jukka K. Korpela. Es anterior a la respuesta elegida actual, durante aproximadamente un mes, y de todos modos tiene casi el mismo contenido.
okm


Le sugiero que nunca use la respuesta de (Jan Hančič) porque aplica su fuente a todas las etiquetas html, incluso a la etiqueta que no le gusta cambiar. por ejemplo: si crea una etiqueta img dentro de una etiqueta td y la convierte en text-align: center y vertical-align: middle. de esta manera, su etiqueta img nunca será el centro del TD. la mejor manera: verifique su documento y simplemente aplique el formato de fuente a las etiquetas que tienen texto en ellas
Mahdi Jazini

Respuestas:


113

Ponga la font-familydeclaración en un bodyselector:

body {
  font-family: Algerian;
}

Todos los elementos de su página heredarán esta familia de fuentes en ese momento (a menos que, por supuesto, la anule más adelante).


11
Un elemento hereda font-familyde su padre solo cuando ninguna hoja de estilo establece la familia de fuentes para el elemento. Las hojas de estilo del navegador normalmente establecen familia de fuentes, al menos, para input, textarea, code, tt, y preelementos.
Jukka K. Korpela

Tienes razón. He estado trabajando con restablecimientos de CSS durante tanto tiempo que olvido este tipo de cosas :)
Jan Hančič

O mejor aún, combine las dos respuestas principales ... body, * {font-family: Algerian;}
james ace

105
*{font-family:Algerian;}

mejor solución a continuación Aplicar una sola fuente a todo un sitio web con CSS


3
Curiosamente, esto no funciona cuando se usa el restablecimiento de CSS de Eric Meyer
ianbeks

¿No aplica eso la familia de fuentes a cada elemento? Esto parece que lo aplicaría a elementos innecesarios (como <img>) y sería ineficiente. Definitivamente podría estar equivocado, pero he leído para tener cuidado al aplicar un estilo a todo.
Max Strater

Dado que la regla universal no se puede anular, no podrá utilizar una segunda fuente en su sitio.
Julian F. Weinert

Como nadie ha mencionado esto, se sabe que el selector universal es lento. más sobre eso aquí: clairecodes.com/blog/…
Terje Solem

O mejor aún, combine las dos respuestas principales ... body, * {font-family: Algerian;}
james ace

48

El selector universal *hace referencia a todos los elementos, este css lo hará por ti:

*{
  font-family:Algerian;
}

Pero, desafortunadamente, si está utilizando íconos de FontAwesome , o cualquier ícono que requiera su propia familia de fuentes, esto simplemente destruirá los íconos y no mostrarán la vista requerida.

Para evitar esto puedes usar el :notselector, una muestra de fontawesome icon es <i class="fa fa-bluetooth"></i>, así que simplemente puedes usar:

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

esto aplicará esta familia a todos los elementos del documento excepto a los elementos con el nombre de la etiqueta <i>, también puede hacerlo para las clases:

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

esto aplicará esta familia a todos los elementos del documento, excepto a los elementos con la clase "fa" que se refiere a la clase predeterminada fontawesome, también puede apuntar a más de una clase como esta:

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

Esta respuesta brinda un detalle muy necesario según el uso actual del estilo en las páginas web debido al uso de íconos de bootstrap (glifos) y fuente impresionante
Lakshman

tenga en cuenta que: (no selector) es CSS3 que no es compatible con todos los navegadores. IE 9+ debemos esperar al menos 10 años para que todas las personas de todo el mundo dejen las familias de IE -9 para siempre: D: '(
Mahdi Jazini

19

Asegúrese de que los dispositivos móviles no cambien la fuente con su fuente predeterminada usando importante junto con el selector universal *:

* { font-family: Algerian !important;}


3

Como es probable que el navegador ya haya definido una fuente diferente para los elementos de formulario, aquí hay 2 formas de usar esta fuente en todas partes:

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

body {
    font-family: Algerian !important;
}

Todavía habrá una fuente monoespaciada en elementos como pre / code, kbd, etc. pero, en caso de que use estos elementos, será mejor que use una fuente monoespaciada allí.

Nota importante: si muy pocas personas tienen esta fuente instalada en su sistema operativo, se utilizará la segunda fuente de la lista. Aquí no definió una segunda fuente, por lo que se usará la fuente serif predeterminada, y será Times, Times New Roman excepto tal vez en Linux.
Hay dos opciones: use @ font-face si su fuente no se puede usar como fuente descargable o agregue alternativas: una segunda, una tercera, etc. y finalmente una familia predeterminada (sans-serif, cursive (*), monospace o serif). Se utilizará el primero de la lista que existe en el sistema operativo del usuario.

(*) la cursiva predeterminada en Windows es Comic Sans. Excepto si quieres engañar a los usuarios de Windows, no hagas eso :) Esta fuente es terrible, excepto para los cumpleaños de tus hijos donde es bienvenida.


2

Coloque esto en el encabezado de su (s) página (s) si el "cuerpo" necesita el uso de 1 y la misma fuente:

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

Todo entre las etiquetas <body>y </body>tendrá la misma fuente.


1

Ok, estaba teniendo este problema en el que probé varias opciones diferentes.

La fuente que estoy usando es Ubuntu-LI, creé una carpeta de fuentes en mi directorio de trabajo. debajo de la carpeta fuentes

Pude aplicarlo ... eventualmente aquí está mi código de trabajo

Quería que esto se aplicara a todo mi sitio web, así que lo puse en la parte superior del documento css. sobre todas las etiquetas Div (no es que importe, solo sepa que cualquier fuente individual que asigne a la publicación de su script tendrá prioridad)

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

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

Si luego quisiera que todas mis etiquetas H1 fueran otra cosa, digamos sans sarif, haría algo como

h1{
   font-family: Sans-sarif;
}

En cuyo caso, solo mis etiquetas H1 serían la fuente sans-sarif y el resto de mi página sería la fuente Ubuntu-LI


0

en Bootstrap, el inspector web dice que los encabezados están configurados para 'heredar'

todo lo que necesitaba para configurar mi página con la nueva fuente era

div, p {font-family: Algerian}

eso está en .scss


-1
*{font-family:Algerian;}

este html funcionó para mí. Agregado a la configuración del lienzo en wordpress.

Se ve genial, ¡gracias!

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.