C# 有没有一种方法可以在没有画布的浏览器中使用javascript绘制简单的形状?

C# 有没有一种方法可以在没有画布的浏览器中使用javascript绘制简单的形状?,c#,javascript,html,canvas,browser,C#,Javascript,Html,Canvas,Browser,我正在开发一个C#聊天客户端,在发送消息时需要有一个发送图标。由于我的程序的性质,图标不能是图像。所有消息都显示在不断修改的web浏览器控件中。有没有办法画一个圆圈,可以稍微改变颜色或大小,而不依赖html5/canvas或类似flash/java的东西。我不能保证这些框架中的任何一个都会存在于客户端计算机上 是的,你可以。只需使用元素并设置其样式。具有相等圆角的正方形变为圆形 看看这个: 是的,你可以。只需使用元素并设置其样式。具有相等圆角的正方形变为圆形 看看这个: Unicode包含一个圆

我正在开发一个C#聊天客户端,在发送消息时需要有一个发送图标。由于我的程序的性质,图标不能是图像。所有消息都显示在不断修改的web浏览器控件中。有没有办法画一个圆圈,可以稍微改变颜色或大小,而不依赖html5/canvas或类似flash/java的东西。我不能保证这些框架中的任何一个都会存在于客户端计算机上

是的,你可以。只需使用
元素并设置其样式。具有相等圆角的正方形变为圆形

看看这个:


是的,你可以。只需使用
元素并设置其样式。具有相等圆角的正方形变为圆形

看看这个:

Unicode包含一个圆(●), 因此,它的行为类似于文本元素。您可以相应地调整它的大小和颜色。这也适用于较旧的浏览器

Unicode包含一个圆(●), 因此,它的行为类似于文本元素。您可以相应地调整它的大小和颜色。这也适用于较旧的浏览器


多米尼克的方法会奏效,另一种方法是使用类似SVG的东西

   **<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <circle cx="100" cy="50" r="40" stroke="black"
  stroke-width="2" fill="red"/>
  </svg> **
**
**

两者都很好,如果你认为Dominic的方法可行,SVG更容易制作动画,另一种方法是使用类似SVG的东西

   **<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <circle cx="100" cy="50" r="40" stroke="black"
  stroke-width="2" fill="red"/>
  </svg> **
**
**

这两种方法都很好,如果你喜欢用纯css绘制简单表单,那么SVG更容易制作动画,使用一些智能技巧:请参见,纯css绘制简单表单,使用一些智能技巧:请参见,正如其他人提到的,可以用CSS3绘制圆。通过在类中定义圆,可以很容易地改变f使用javascript创建圆,如下所示:

<style type="text/css">
.circle {width:4px; height:4px; border-radius:4px; border:2px solid green; background:green;}
.red {border: 2px solid red; background-color:red;}
</style>

<div id="target" class="circle" onclick="document.getElementById('target').className += ' red';"></div>

.circle{宽度:4px;高度:4px;边框半径:4px;边框:2px纯绿色;背景:绿色;}
.red{边框:2px纯红色;背景色:红色;}
请注意,目前为止提供的解决方案在IE中都不受支持。要在IE中支持CSS循环,您需要使用类似pie的库:

正如其他人提到的,可以使用CSS3绘制圆。通过在类中定义圆,可以很容易地使用javascript更改圆的性质,如下所示:

<style type="text/css">
.circle {width:4px; height:4px; border-radius:4px; border:2px solid green; background:green;}
.red {border: 2px solid red; background-color:red;}
</style>

<div id="target" class="circle" onclick="document.getElementById('target').className += ' red';"></div>

.circle{宽度:4px;高度:4px;边框半径:4px;边框:2px纯绿色;背景:绿色;}
.red{边框:2px纯红色;背景色:红色;}
请注意,目前为止提供的解决方案在IE中都不受支持。要在IE中支持CSS循环,您需要使用类似pie的库: