什么是SVG(Scalable Vector Graphics可缩放矢量图形)?SVG(Scalable Vector Graphics可缩放矢量图形)表示可缩放矢量图形。他是基于文本的图形语言,使用文本,线条,点等来进行图像绘制,这使得他轻便,显示更加迅速
我们能看到使用HTML5的SVG的简单例子么? 比方说,我们希望使用HTML5 SVG去显示以下简单的线条 
下面是HTML5代码 1 2 3 | < svg id = "svgelem" height = "[object SVGAnimatedLength]" xmlns = "http://www.w3.org/2000/svg" >
< line style = "stroke: rgb(255, 0, 0); stroke-width: 2px;" y2 = "[object SVGAnimatedLength]" x2 = "[object SVGAnimatedLength]" y1 = "[object SVGAnimatedLength]" x1 = "[object SVGAnimatedLength]" >
line >
|
HTML5中canvas是什么? Canvas是HTML中你可以绘制图形的区域
我们如何使用Canvas来画一条简单的线? - 定义Canvas区域
- 获取访问canvas上下文区域
- 绘制图形
定义Canvas区域 定义Canvas区域你需要使用下面的HTML代码,这定义了你能进行绘图的区域 1 | < canvas id = "mycanvas" width = "600" height = "500" style = "border:1px solid #000000;" >canvas >
|
获取画布区域的访问 在画布上进行绘图我们首先需要获取上下文区域的关联,下面是获取画布区域的代码。 1 2 | var c=document.getElementById("mycanvas");
var ctx=c.getContext("2d");
|
绘制图形 现在一旦你获取了访问上下文,我们就可以开始在上下文中绘制了。首先调用“move”方法并从一个点开始,使用线条方法绘制线条然后使用stroke方法结束。 1 2 3 | ctx.moveTo(10,10);
ctx.lineTo(200,100);
ctx.stroke();
|
以下是完整的代码 1 2 3 4 5 6 7 8 9 10 11 12 | < body onload = "DrawMe();" >
< canvas id = "mycanvas" width = "600" height = "500" style = "border:1px solid #000000;" >canvas >
body >
< script >
function DrawMe()
{
var c=document.getElementById("mycanvas");
var ctx=c.getContext("2d");
ctx.moveTo(10,10);
ctx.lineTo(200,100);
ctx.stroke();
}
|
你可以得到以下输出 
Canvas和SVG图形的区别是什么? Note:-如果你看了之前的两个的问题,Canvas和SVG都可以在浏览器上绘制图形。因此在这个问题中,面试官想知道你在什么时候选用哪种方式。 SVG | Canvas | 这个就好像绘制和记忆,换句话说任何使用SVG绘制的形状都能被记忆和操作,浏览器可以再次显示 | Canvas就像绘制和忘记,一旦绘制完成你不能访问像素和操作它 | SVG对于创建图形例如CAD软件是良好的,一旦东西绘制,用户就想去操作它 | Canvas在绘制和忘却的场景例如动画和游戏是良好的 | 因为为了之后的操作,需要记录坐标,所以比较缓慢 | 因为没有记住以后事情的意向,所以更快 | 我们可以用绘制对象的相关事件处理 | 我们不能使用绘制对象的相关事件处理,因为我们没有他们的参考 | 分辨率无关 | 分辨率相关 |
如何使用Canvas和HTML5中的SVG去画一个矩形? HTML5使用SVG绘制矩形的代码 1 2 3 | < svg xmlns = "http://www.w3.org/2000/svg" version = "1.1" >
< rect style = "fill: rgb(0, 0, 255); stroke-width: 1px; stroke: rgb(0, 0, 0);" height = "[object SVGAnimatedLength]" width = "[object SVGAnimatedLength]" >
rect >
|
HTML5使用Canvas绘制矩形的代码 1 2 3 4 | var c=document.getElementById("mycanvas");
var ctx=c.getContext("2d");
ctx.rect(20,20,150,100);
ctx.stroke();
|
CSS(cascading style sheets级联样式表)中的选择器是什么? 选择器在你想应用一个样式的时候,帮助你去选择元素。举例,下面是简单的被命名为”instro”的样式,他适用于HTML元素显示红色背景 1 2 3 4 5 | < style >
.intro{
background-color:red;
}
style >
|
应用上面的”intro”样式给div,我们可以使用”class”选择器,如下图所示 1 2 3 4 | < div class = "intro" >
< p >My name is Shivprasad koirala.p >
< p >I write interview questions.p >
div >
|
如何使用ID值来应用一个CSS样式? 假设,你有一个HTML段落标签,使用id是”mytext”,就和下面的片段中显示的那样 1 | < p id = "mytext" >This is HTML interview questions.p >
|
你可以使用”#”选择器和”id”的名字创建一种样式,并把CSS值应用到段落标签中,因此应用样式到”mytext”元素,我们可以使用”#mytext”,如下所示 1 2 3 4 5 6 | < style >
#mytext
{
background-color:yellow;
}
style >
|
迅速修订一些重要的选择器 设置所有段落标签背景色为黄色 1 2 3 4 | div p
{
background-color:yellow;
}
|
设置所有div内部的段落标签为黄色背景 1 2 3 4 | div p
{
background-color:yellow;
}
|
设置所有div之后的段落标签为黄色背景 1 2 3 4 | div+p
{
background-color:yellow;
}
|
设置所有含有“target”属性的变为黄色背景 1 2 3 4 5 6 7 | a[target]
{
background-color:yellow;
}
< a href = "http://www.questpond.com" >ASP.NET interview questionsa >
< a href = "http://www.questpond.com" target = "_blank" >c# interview questionsa >
< a href = "http://www.questpond.org" target = "_top" >.NET interview questions with answersa >
|
当控制得到焦点的时候设置所有的元素为黄色背景 1 2 3 4 | input:focus
{
background-color:yellow;
}
|
根据相关连接操作设置超链接样式 1 2 3 4 | a:link {color:green;}
a:visited {color:green;}
a:hover {color:red;}
a:active {color:yellow;}
|
|