CSS字体边框?

Lar*_*ann 466 css fonts

有了所有新的CSS3边框内容(-webkit,...),现在可以为你的字体添加边框吗?(就像蓝色Twitter徽标周围的白色边框一样).如果没有,是否有任何不太难看的黑客可以在CSS/XHTML中实现这一点,还是我还需要启动Photoshop?

Nar*_*lho 949

正确的答案是:

h1 {
    color: yellow;
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
}
Run Code Online (Sandbox Code Playgroud)
<h1>Hello World</h1>
Run Code Online (Sandbox Code Playgroud)

这将从四个边设置四个相同类型的阴影.

  • 如果你只需要一个1px边框就很棒.但是当使用2px或更多时它会变得很难看. (79认同)
  • 这对我有用,我只添加了1px"模糊":文字阴影:-1px 0 1px黑色,0 1px 1px黑色,1px 0 1px黑色,0 -1px 1px黑色 (3认同)
  • 注意:Andriod浏览器存在错误(http://code.google.com/p/android/issues/detail?id=7531),如果将"模糊"设置为0px,则不会出现轮廓所有. (2认同)

小智 145

UPDATE

这是一个生成笔画的SCSS mixin:http://codepen.io/pixelass/pen/gbGZYL

/// Stroke font-character
/// @param  {Integer} $stroke - Stroke width
/// @param  {Color}   $color  - Stroke color
/// @return {List}            - text-shadow list
@function stroke($stroke, $color) {
  $shadow: ();
  $from: $stroke*-1;
  @for $i from $from through $stroke {
   @for $j from $from through $stroke {
      $shadow: append($shadow, $i*1px $j*1px 0 $color, comma);
    }
  }
  @return $shadow;
}
/// Stroke font-character
/// @param  {Integer} $stroke - Stroke width
/// @param  {Color}   $color  - Stroke color
/// @return {Style}           - text-shadow
@mixin stroke($stroke, $color) {
  text-shadow: stroke($stroke, $color);
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

是老问题..接受(和好)答案..

但是......如果有人需要这个并且不喜欢打字代码......

这是一个2px的黑色边框,支持CrossBrowser(不是IE)我需要这个@fontface字体所以它需要比之前看到的答案更清晰......我按照像素的方式确保每一边都有(几乎)没有间隙模糊的"(手绘或类似)字体.可以添加子像素(0.5像素),但我不需要它.

只有边框的长代码??? ...是!!!

text-shadow: 1px 1px 0 #000,
    -1px 1px 0 #000,
    1px -1px 0 #000,
    -1px -1px 0 #000,
    0px 1px 0 #000,
    0px -1px 0 #000,
    -1px 0px 0 #000,
    1px 0px 0 #000,
    2px 2px 0 #000,
    -2px 2px 0 #000,
    2px -2px 0 #000,
    -2px -2px 0 #000,
    0px 2px 0 #000,
    0px -2px 0 #000,
    -2px 0px 0 #000,
    2px 0px 0 #000,
    1px 2px 0 #000,
    -1px 2px 0 #000,
    1px -2px 0 #000,
    -1px -2px 0 #000,
    2px 1px 0 #000,
    -2px 1px 0 #000,
    2px -1px 0 #000,
    -2px -1px 0 #000;
Run Code Online (Sandbox Code Playgroud)

  • 原始的codepen“消失”了,所以我用这篇文章中的原始代码创建了一个新的,并且还对这里提到的其他解决方案进行了比较https://codepen.io/Grienauer/pen/GRRdRJr (4认同)

Dav*_*mas 51

您可以使用css (或/ )和非常低的模糊来模拟文本笔划:text-shadow-webkit-text-shadow-moz-text-shadow

#element
{
  text-shadow: 0 0 2px #000; /* horizontal-offset vertical-offset 'blur' colour */
  -moz-text-shadow: 0 0 2px #000;
  -webkit-text-shadow: 0 0 2px #000;
}
Run Code Online (Sandbox Code Playgroud)

虽然这比-webkit-text-stroke财产更广泛,但我怀疑它可供大多数用户使用,但这可能不是问题(优雅降级,以及所有这些).

  • 应该注意的是,可以完全省略第三个参数以便完全没有模糊. (2认同)

Col*_*oan 21

要详细说明一些已经提到过-webkit-text-stroke的答案,这里是让它工作的代码:

div {
  -webkit-text-fill-color: black;
  -webkit-text-stroke-color: red;
  -webkit-text-stroke-width: 2.00px; 
}
Run Code Online (Sandbox Code Playgroud)

在深入的文章有关使用文本行程这里以及支持文字笔画浏览器的列表是在这里.


and*_*sve 17

似乎有一个'文字描边'属性,但(至少对我来说)它只适用于Safari.

http://webkit.org/blog/85/introducing-text-stroke/


rAt*_*hus 11

这是我正在使用的:

.text_with_1px_border
{
    text-shadow: 
        -1px -1px 0px #000,
         0px -1px 0px #000,
         1px -1px 0px #000,
        -1px  0px 0px #000,
         1px  0px 0px #000,
        -1px  1px 0px #000,
         0px  1px 0px #000,
         1px  1px 0px #000;
}

.text_with_2px_border
{
    text-shadow: 
        /* first layer at 1px */
        -1px -1px 0px #000,
         0px -1px 0px #000,
         1px -1px 0px #000,
        -1px  0px 0px #000,
         1px  0px 0px #000,
        -1px  1px 0px #000,
         0px  1px 0px #000,
         1px  1px 0px #000,
        /* second layer at 2px */
        -2px -2px 0px #000,
        -1px -2px 0px #000,
         0px -2px 0px #000,
         1px -2px 0px #000,
         2px -2px 0px #000,
         2px -1px 0px #000,
         2px  0px 0px #000,
         2px  1px 0px #000,
         2px  2px 0px #000,
         1px  2px 0px #000,
         0px  2px 0px #000,
        -1px  2px 0px #000,
        -2px  2px 0px #000,
        -2px  1px 0px #000,
        -2px  0px 0px #000,
        -2px -1px 0px #000;
}
Run Code Online (Sandbox Code Playgroud)


小智 9

抱歉,我迟到了,但是说到text-shadow,我想您也会喜欢这个示例(当我需要在文本上提供良好的阴影时,我经常使用它):

text-shadow:
    -2px   -2px lightblue,
    -2px -1.5px lightblue,
    -2px   -1px lightblue,
    -2px -0.5px lightblue,
    -2px    0px lightblue,
    -2px  0.5px lightblue,
    -2px    1px lightblue,
    -2px  1.5px lightblue,
    -2px    2px lightblue,
    -1.5px  2px lightblue,
    -1px    2px lightblue,
    -0.5px  2px lightblue,
    0px     2px lightblue,
    0.5px   2px lightblue,
    1px     2px lightblue,
    1.5px   2px lightblue,
    2px     2px lightblue,
    2px   1.5px lightblue,
    2px     1px lightblue,
    2px   0.5px lightblue,
    2px     0px lightblue,
    2px  -0.5px lightblue,
    2px    -1px lightblue,
    2px  -1.5px lightblue,
    2px    -2px lightblue,
    1.5px  -2px lightblue,
    1px    -2px lightblue,
    0.5px  -2px lightblue,
    0px    -2px lightblue,
    -0.5px -2px lightblue,
    -1px   -2px lightblue,
    -1.5px -2px lightblue;
Run Code Online (Sandbox Code Playgroud)