什么是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;}
|
|