使用CSS强制HTML文本框使用等宽字体

73

我该如何让文本区域使用等宽字体?

4个回答

112

如果我理解正确的话,它应该已经继承了默认的用户代理样式,但是如果您想要明确指定,只需指定一个字体系列(从Stackoverflow样式表中提取的样式)

textarea {
  font-family:Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;
}

首先指定更具体的(等宽字体特有的)字体系列,如果用户代理没有可用的字体系列,则保持尝试其他字体系列,直到最后,此时它将默认使用该元素的默认用户代理字体系列(如果已指定)。


13
你可能想在末尾添加一个 monospace,以获取默认的回退等宽字体,如果没有指定的其他字体存在的话。 - Brian Campbell
啊,我错过了那个;我的眼睛欺骗了我,我以为它在那里。 - meder omuraliev
啊。我使用了font-family: "monospace"; 我敢打赌是引号搞的鬼。 - Lawrence Dol
嘿,别忘了我的最爱 Menlo。 - ItsCosmo
4
将你的 CSS 中边框部分删除,它不是问题的一部分,会使不自信的跟随者感到困惑。 - nilsun

27

4
对于关于不一致浏览器默认设置的警告,给予一个赞;幸运的是,这个应用程序只针对程序员(在我们公司内部),可以期望他们根据自己的需要设置浏览器字体。 - Lawrence Dol
1
为了避免浏览器做出莫名其妙的事情,您可以使用 font-family: monospace,monospace; - Lawrence Dol
损坏的链接:http://archivist.incutio.com/viewlist/css-discuss/103606 - alx - recommends codidact

15

只需使用等宽字体即可。例如,对于类似以下的内容:

<textarea id="mytextarea"></textarea>

样式表应该是:

#mytextarea {
    font-family: monospace;
}

如果您想使用特定的等宽字体,可以这样做,但不要忘记在最后添加通用的“monospace”,以防用户未安装您喜欢的字体:

#mytextarea {
    font-family: 'DejaVu Sans Mono', monospace;
}

5
textarea
{
font-family: monospace;
}

您可能需要添加一个重要的条件,否则它将无法工作。
textarea
{
font-family: monospace !important;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接