关于canvas和css中对文字的外描边和内描边

之前写一个功能,里面用到了一些关于文字的描边,对于描边会有文字内描边和文字外边框描写,会有些迷糊,所以打算写下做个记录。

canvas中:

<body>

    <canvas id="canvas" width="700" height="800"></canvas>

    <script>

      var canvas = document.getElementById('canvas');

      var ctx = canvas.getContext('2d');

      //往文字上描边

      ctx.lineWidth = 2;

      ctx.font = "bold 100px serif";

      ctx.fillStyle = 'red';

      ctx.fillText("Hello world", 50, 200);

      ctx.font = "bold 100px serif";

      ctx.strokeStyle = 'blue';

      ctx.strokeText("Hello world", 50, 200);


      //往文字外描边

      ctx.lineWidth = 2;

      ctx.font = "bold 100px serif";

      ctx.strokeStyle = 'blue';

      ctx.strokeText("Hello world", 50, 400);

      ctx.font = "bold 100px serif";

      ctx.fillStyle = 'red';

      ctx.fillText("Hello world", 50, 400);

    </script>

  </body>

样式:

1-1

可以看出fillText实心文字先绘制,strokeText空心文字后绘制,他们坐标一致,所以直接覆盖可实心文字,形成了像文字内部描边

css文字描边

<html>

  <head>

    <title>描边</title>

    <style>

      .text{

        font-size: 100px;

        color: red;

        font-weight: bold;

      }

      .text1{

        text-shadow: blue 4px 0 0, blue 0 4px 0, blue -4px 0 0, blue 0 -4px 0;

      }

      .text2{

        -webkit-text-stroke: blue 4px;  

      }

    </style>

  </head>

  <body>

    <div>

      <p class="text text1">Hello World</p>

      <p class="text text2">Hello World</p>

    </div>

  </body>

</html>


1-2

通过text-shadow添加文字阴影可以形成对文字的外描边

text-shadow:

注释:Internet Explorer 9 以及更早版本的浏览器不支持 text-shadow 属性。

可以看下这个文章,关于text-shadow

https://www.cnblogs.com/wuchuanlong/p/5985350.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,...
    kiddings阅读 3,229评论 0 11
  • 这篇文字里我会介绍50 个便于使用的 CSS2/CSS3 代码片段给所有的WEB专业人员. 选择IDE开发环境来存...
    JamHsiao_aaa4阅读 1,345评论 0 3
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,911评论 1 45
  • 1. tab列表折叠效果 html: 能源系统事业部 岗位名称: 工作地点 岗位名...
    lilyping阅读 1,934评论 0 1
  • 输出是检验学习的最佳途径,无论学过什么?做过什么?那只能是经历,不能代表结果。 要让阶段性的成果呈现,重要的...
    成都的娃儿阅读 199评论 0 0