Html 使用SVG/Canvas/CSS3创建这些形状?
我想创建它:最好使用SVG、Canvas或CSS3 最后,我打算在区域上应用4种单独的倍增混合模式 我还想扩展这个区域以占据整个网页的高度/宽度 我在一定程度上可以做到这一点,但这对我来说并不合适。它使用:Html 使用SVG/Canvas/CSS3创建这些形状?,html,css,svg,css-shapes,Html,Css,Svg,Css Shapes,我想创建它:最好使用SVG、Canvas或CSS3 最后,我打算在区域上应用4种单独的倍增混合模式 我还想扩展这个区域以占据整个网页的高度/宽度 我在一定程度上可以做到这一点,但这对我来说并不合适。它使用: box-sizing:border-box; -mox-box-sizing:border-box; border-top:rgba(25,25,255,0.8) solid 50vh; /* Nothing below IE8 or Firefox 19 */ bo
box-sizing:border-box;
-mox-box-sizing:border-box;
border-top:rgba(25,25,255,0.8) solid 50vh; /* Nothing below IE8 or Firefox 19 */
border-bottom:rgba(25,25,255,0.8) solid 50vh; /* Nothing below IE8 or Firefox 19 */
border-left: rgba(0,0,255,0.5) solid 50vw;;
border-right: rgba(0,0,255,0.5) solid 50vw;;
-moz-background-clip: content; /* Firefox 3.6 */
-webkit-background-clip: content; /* Safari 4? Chrome 6? */
background-clip: content-box; /* Firefox 4, Safari 5, Opera 10, IE 9 */
有人可以帮助实现图形中的形状吗?您可以使用lineTo()、beginPath()、moveTo()等方法在html 5中绘制线条
下面是一个例子,请看一看
<html>
<head>
<style>
body {
margin: 0px;
padding: 0px;
}
</style>
</head>
<body>
<canvas id="CanvasDraw" width="578" height="200"></canvas>
<script>
var canvas = document.getElementById('CanvasDraw');
var context = canvas.getContext('2d');
context.beginPath();
context.moveTo(100, 150);
context.lineTo(450, 50);
context.stroke();
</script>
</body>
</html>
身体{
边际:0px;
填充:0px;
}
var canvas=document.getElementById('CanvasDraw');
var context=canvas.getContext('2d');
context.beginPath();
上下文。moveTo(100150);
lineTo(450,50);
stroke();
我希望这个例子能帮助您理解如何画线。编辑:
使用相同的技术在CSS中创建以下形状 HTML:
原始答复: 您还可以将伪元素与
transform:rotate()一起使用代码>创建行:
HTML:
如你所想,再举一个例子。这里还有一个例子
<html>
<head>
<style>
body {
margin: 0px;
padding: 0px;
}
</style>
</head>
<body>
<canvas id="CanvasDraw" width="578" height="200"></canvas>
<script>
var canvas = document.getElementById('CanvasDraw');
var context = canvas.getContext('2d');
context.beginPath();
context.rect(188, 50, 200, 100);
context.fillStyle = 'green';
context.fill();
context.lineWidth = 7;
context.strokeStyle = 'black';
context.stroke();
</script>
</body>
</html>
身体{
边际:0px;
填充:0px;
}
var canvas=document.getElementById('CanvasDraw');
var context=canvas.getContext('2d');
context.beginPath();
rect(18850200100);
context.fillStyle='green';
context.fill();
context.lineWidth=7;
context.strokeStyle='black';
stroke();
我希望它也能对您有所帮助。您可以使用canvas来完成此操作。
您需要在HTML中使用以下内容:
<canvas id="canvas"></canvas>
您希望这是100%的宽度和高度,所以您可以设置画布的宽度和高度以适合您的屏幕。大概是这样的:
var canvas = document.getElementById('canvas'),
ctx = canvas.getContext('2d');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
您将看到周围有一个白色的边距,有一个CSS技巧可以将其删除:
html, body, canvas {
padding:0;
margin:0
}
你现在只需要在上面画。例:填写背景:
ctx.rect(0,0,canvas.width,canvas.height);
ctx.fillStyle="red";
ctx.fill();
看到这个了吗
---编辑
唯一缺少的部分是在彼此的顶部绘制两个三角形。
可以使用这些函数(beginPath、moveTo、lineTo和fill)绘制三角形
请参阅此更新以获取顶部带有三角形的示例
查看此内容可帮助您了解如何在画布上绘制形状。谢谢。所以,如果我想画一个区域,占据整个页面的宽度和75%的高度,这容易实现吗?是的,这也很容易。你可以对它做一些修改。如果你得到了答案,请将答案标记为已接受。谢谢@gargAman-你有画布绘制区域的示例吗?是的,我又添加了一个示例。请看一看。非常感谢-我非常感谢!!最后,我希望创建这样的东西:-有可能将页面的宽度扩展到100%吗?欢迎您。如果您认为这对您有帮助,请投票支持。并将其标记为“已接受”(绿色标记)。@web tiki非常接近:-)有可能将区域高度扩展到100%吗?哇,非常接近,先生@webtiki!!!在每个形状上应用混合模式容易吗?@web tiki只是想知道是否可以这样使用,或者我是否必须只使用rgba alpha/透明度技术。很好,但看起来你需要在div上添加一个宽度来实现这一点。。。(因为在其他情况下,这些行不会在大屏幕上相遇)非常感谢@web tiki-如果我要使用视频,我需要做哪些更改,而不是图像?我在这里试过了,但没有成功:@webtiki好极了!!现在只需要将此应用到我的解决方案中:-)
var canvas = document.getElementById('canvas'),
ctx = canvas.getContext('2d');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
html, body, canvas {
padding:0;
margin:0
}
ctx.rect(0,0,canvas.width,canvas.height);
ctx.fillStyle="red";
ctx.fill();