32

我有一个包含此代码的文件(CSS/FontStyle.css):

.courier {
font-family: courier;
}

我的 .aspx 文件有这个代码:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Tut1.aspx.cs" Inherits="Rtw.Tut1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="StatusLabel" runat="server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">

    <link rel="stylesheet" href="CSS/FontStyle.css"/>

    <h2>Unsigned Vs Signed Integers</h2>
//lots of text is below here..

然而,字体仍然及时新罗马。我可以使用同一文件夹中的其他 .css 文件查找,不知道为什么这个不起作用?

提前致谢。

4

5 回答 5

55

尝试改变

.courier {
font-family: courier;
}

* {
    font-family: courier;
  }

原因与@koala_dev 提到的相同。“.courier”使其仅适用于“courier”类的元素,并且从您显示的代码中,您的任何内容都没有标有该类名称,因此未应用字体。

然而*,选择器会将 CSS font-family 规则应用于所有元素的文本。

请注意,CSS 使用特定优先级,如果您有任何其他适用于相同元素的 CSS 选择器,但具有比 更具体的标识符*,那么这些 CSS 规则中指定的任何字体系列都将覆盖*选择器指定的一般规则.

更新(这在 CSS 中被认为是一个坏主意,但可能会有所帮助)

如果您找不到其他可能有冲突的 CSS 规则,则可以使用该!important规则覆盖其他规则(除非那些其他规则也在使用它):

* { font-family: courier !important }

警告

但是,使用!important被认为是不好的做法,但在您似乎丢失了冲突的 CSS 规则并且您只需要一些有效的东西的情况下,它可能很有用。

这样做!important会干扰 CSS 通常的“级联”优先级规则。例如,h2在下面的考试中,元素将具有 font-family courier,即使通常的结果是 arial(因为更具体的选择器)。更具体的选择器h2被不太具体的选择器覆盖,*因为该*规则!important应用了谓词。

* { font-family: courier !important }
h2 { font-family: arial }

有关更多信息,请阅读此内容,并继续阅读以下链接:

... 使用 !important 为您的 CSS 值添加脚本可能会被高度滥用,并且会使 CSS 变得混乱且难以维护。不幸的典型用例是这样的:

  1. 为什么我的 FRAGGLE ROCKING CSS 不起作用?!?!
  2. (使用 !important 规则)
  3. 好的,现在它正在工作

然后下一个人出现并试图做出新的改变。他试图更改一些现有的 CSS 规则,但现在他的更改并没有表现出应有的效果。他将问题追溯到 !important 规则,然后有一个选择。他可以尝试移除这些并尝试让事情回到正轨,或者添加更多他自己的东西来对抗它们并完成他的改变。由于他可能不确切知道为什么首先添加了这些 !important 规则,因此他可能会选择第二个选项,以免破坏他不知道的站点上的其他地方。于是恶性循环开始了。

继续阅读:http: //css-tricks.com/when-using-important-is-the-right-choice/

于 2013-08-08T05:32:15.410 回答
7

courier如果要将字体设置为页面使用的默认字体,则CSS 规则适用于类名

body {
    font-family: "courier";
}
于 2013-08-08T05:31:23.140 回答
5

Courier 是 Macintosh/Unix,而 Courier New 是 Microsoft 的版本。我会尝试设置两者,以防万一(大多数人认为是好的做法);你应该更换:

.courier {
    font-family: courier;
}

body {
    font-family: "Courier New", "Courier", monospace;
}

请记住,如果您的 CSS 无法正常工作,DOM 检查器(例如 Chrome Inspect 或 Firefox Firebug)将帮助您排除故障——尤其是当您需要确定是否有内容被覆盖时。

只是我的 2 美分,希望对您有所帮助。

于 2013-08-08T05:45:27.630 回答
2

A)您是否在任何地方申请快递类。如果不是,也不想这样做,那么使用 body 作为选择点,它也会影响它的所有子元素。

B)可能有其他类可能有其他css规则。因此,!important像我一样将确保浏览器听这个 css 规则。

body {
    font-family: courier !important;
}
于 2013-08-08T05:36:59.823 回答
-1

你忘记申请课程了。

.courier {
font-family: "courier";
}

HTML:

<h2 class='courier'>Unsigned Vs Signed Integers</h2>

也许这有帮助。

.courier {
    font-family: "courier" !important;  //Incase if any css conflict occurs
    }

根据您的评论,试试这个

* { font-family: "courier" !important; }. There may be css conflict 

*代表所有 HTML 元素。

! important就像绝对一样,永远不会改变。

还要检查是否有任何类似的 CSS,如果您发现与此删除 !important 类似的任何内容。

于 2013-08-08T05:33:07.557 回答