使用 html 和 css 在圆圈上写文本 [关闭]

Posted

技术标签:

【中文标题】使用 html 和 css 在圆圈上写文本 [关闭]【英文标题】:Write text over a circle using html and css [closed] 【发布时间】:2013-05-08 17:36:25 【问题描述】:

我想在一个圆圈上写一些文字(我的意思是,文字不会是水平的,但每个字母都会有不同的方向)。 可以使用html和css吗? 谢谢你!

【问题讨论】:

例子?你试过什么?不是制造东西而是修理东西 你可以使用 lettering.js .ref:css-tricks.com/set-text-on-a-circle 做一些谷歌搜索,然后在 SO 上发帖 :) 见tympanus.net/Development/Arctext 我想我可以做到,但是在photoshop中制作图像并将其添加为img标签会不会更简单,这样它也可以跨浏览器兼容 【参考方案1】:

您可以,但您最终将不得不做一些重要的数学运算来实现您的目标。您将希望使用以下 CSS 作为起点。

.rotate 

/* Safari */
-webkit-transform: rotate(-90deg);

 /* Firefox */
 -moz-transform: rotate(-90deg);

  /* IE */
 -ms-transform: rotate(-90deg);

 /* Opera */
-o-transform: rotate(-90deg);

/* Internet Explorer */
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);


来自 css-tricks.com

【讨论】:

【参考方案2】:

没有任何超级简单的标准化方法可以在圆形(或任何类型的曲线)上设置网页类型。但这是可以完成的!我们将在这里探索一种方法。但请注意,我们将使用一些 CSS3 和 javascript,而不是对不支持某些必需技术的旧浏览器进行两次抨击。如果您对实际项目对此感兴趣,那么最好使用带有适当 alt 文本或适当特征检测的图像来处理这种事情,这可以在可以处理它的浏览器中为这种奇特技术翻转图像。 感谢 css-tricks.com

DEMO

DOWNLOAD FILES

DOCUMENTATION

HTML

<h1>
  <span class="char1">E</span>
  <span class="char2">s</span>
  <span class="char3">t</span>
  <span class="char4">a</span>
  <span class="char5">b</span>
  <!-- you get the idea -->
</h1>

CSS

h1 span 
  font: 26px Monaco, MonoSpace;
  height: 200px;
  position: absolute;
  width: 20px;
  left: 0;
  top: 0;
  transform-origin: bottom center;


.char1  transform: rotate(6deg); 
.char2  transform: rotate(12deg); 
.char3  transform: rotate(18deg); 
/* and so on */

HERE

提供了一个超级演示

【讨论】:

以上是关于使用 html 和 css 在圆圈上写文本 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

ProgressBar.js 中圆圈内的文本不会在我的 CSS Grid 单元格内正确居中

用复选框切换 svg 圆圈颜色

Tailwind css中带有文本的圆圈

仅在将鼠标悬停在圆圈上时才沿文本路径为 SVG 文本设置动画

用于 Web 开发和设计的有用 Vim 插件(php、html、css、javascript)? [关闭]

从概念上讲如何在ios中的图像上写[关闭]