代码之家  ›  专栏  ›  技术社区  ›  wohe1

将除一个类之外的所有字体设置为特定字体

  •  1
  • wohe1  · 技术社区  · 7 年前

    我想用字体系列 Quicksand 在我的整个网站上,除了分配给班级的元素 .font-arvo ,这些应该在字体系列中 Arvo . 我正尝试通过以下CSS来实现这一点:

    *:not(.font-arvo) {
        font-family: 'Quicksand', sans-serif;
    }
    
    .font-arvo {
        font-family: "Arvo", "google", serif;
    }
    

    但是,这将设置所有元素,包括具有类的元素 字体ARVO ,为了 流沙 . 如果我只执行以下操作,则使用类 字体ARVO 如预期的那样,字体系列是正确的,但其他字体则不是:

    .font-arvo {
        font-family: "Arvo", "google", serif;
    }
    

    注1: 我确实在 <head> 部分。

    注2: 我正在使用引导程序4。

    有人知道解决办法吗?谢谢!

    3 回复  |  直到 7 年前
        1
  •  4
  •   Dryden Long    7 年前

    您应该能够将基本字体应用到 body 元素,然后用 font-arvo 类如下:

    body {
        font-family: 'Quicksand', sans-serif;
    }
    
    .font-arvo {
        font-family: 'Arvo', serif;
    }
    <link href="https://fonts.googleapis.com/css?family=Arvo|Quicksand" rel="stylesheet">
    
    <body>
    <h2>Here is the default font</h2>
    <h2 class="font-arvo">And here is the second</h2>
    </body>
        2
  •  3
  •   Marvin    7 年前

    使用 CSS Specifity

    MDN将其定义为

    哪些css属性值与元素最相关, 因此,将应用

    使用*选择器作为所有其他元素的默认值

    MDN将其定义为

    *选择器选择所有元素。 *选择器还可以选择另一个元素内的所有元素

    例如,在您的案例中,写

    .font-arvo {
     font-family: "Arvo";
    }
    
    * {
     font-family: 'Quicksand', sans-serif;
    }
    
        3
  •  0
  •   Bogdan Vakuliuk    7 年前

    是否尝试将所需的字体系列添加到 html, body {} 班级?