html 透明的圆形,从div中切出的透明半圆
使用SVG:
这里有一个使用SVG的替代解决方案(尽管您还没有标记它)。使用SVG的优点是:与径向梯度相比,它具有更好的浏览器支持.
SVG可以支持图像内部的形状,不像盒阴影的方法。
虽然<=IE8不支持SVG,而框影支持SVG,但是可以提供后援。svg {
height: 150px;
width: 150px;}polygon {
fill: black;}/* Just for demo */body {
background-image: radial-gradient(circle, #3F9CBA 0%, #153346 100%);}
使用CSS:
CSS也有clip-path规范以及我们可以在下面的片段中尝试类似的内容。.shape {
position: relative;
width: 100px;
height: 100px;
background-color: purple;}.shape:after {
position: absolute;
content: '';
top: 0px;
left: 0px;
height: 100%;
width: 100%;
background: white;
-webkit-clip-path: ellipse(50% 20% at 50% 0%);
clip-path: ellipse(50% 20% at 50% 5%);}.shape.image{
background: url(http://lorempixel.com/100/100);}#shape-2 {
width: 100px;
height: 100px;
background-color: purple;
-webkit-clip-path: ellipse(50% 20% at 50% 20%);
clip-path: ellipse(50% 20% at 50% 20%);}/* Just for demo */.shape{
float: left;
margin: 20px;}#shape-2 {
margin: 150px 20px 0px;}
但与svg剪辑路径不同,纯css版本(即不使用内联或外部svg)似乎无法支持path..它只支持形状,因此在本例中,如果使用clip-path直接在父服务器上生成一个椭圆(如代码片段中所示)。要克服这一问题,我们必须将剪辑路径放在子元素(或伪元素)上,这意味着剪裁区域不透明.
使用画布:
使用画布也可以这样做。Canvas命令与SVG非常相似,它们的优点也非常相似。然而,画布是基于光栅的,因此比不上SVG。window.onload = function() {
/* Canvas example with path */
var canvas = document.getElementById('canvas');
if (canvas.getContext) {
var ctx = canvas.getContext('2d');
var img = new Image();
img.src = 'http://lorempixel.com/150/300';
ctx.beginPath();
ctx.moveTo(110, 0);
ctx.arc(60, 0, 50, 0, 3.14, false);
ctx.lineTo(10, 145);
ctx.lineTo(110, 145);
ctx.closePath();
ctx.fill();
/* Use below for using image as a fill */
/*img.onload = function(){
var ptrn = ctx.createPattern(img,'no-repeat');
ctx.fillStyle = ptrn;
ctx.fill();
}*/
}
/* Canvas example with clip path */
var canvasClip = document.getElementById('canvas-clip');
if (canvasClip.getContext) {
var ctxClip = canvasClip.getContext('2d');
ctxClip.beginPath();
ctxClip.moveTo(10, 145);
ctxClip.lineTo(10, 0);
ctxClip.arc(60, 0, 50, 0, Math.PI * 2, true);
ctxClip.lineTo(110, 145);
ctxClip.lineTo(10, 145);
ctxClip.clip();
ctxClip.fillStyle = 'tomato';
ctxClip.fill();
}}canvas {
height: 150px;
width: 300px;}/* Just for demo */body {
background-image: radial-gradient(circle, #3F9CBA 0%, #153346 100%);}
使用面具:
还可以使用CSS(或)SVG掩码创建此形状。CSS掩码支持很差,目前只在Webkit支持的浏览器中工作,但是SVG掩码支持得更好,应该在IE9+中工作。/* CSS Mask */.shape {
width: 150px;
height: 150px;
background-color: black;
-webkit-mask-image: radial-gradient(circle closest-corner at 50% 0%, transparent 98%, white 99%);
mask-image: radial-gradient(circle closest-corner at 50% 0%, transparent 98%, white 99%);}/* End of CSS Mask */svg {
height: 150px;
width: 150px;}polygon#shape {
fill: black;
mask: url(#masker);}/* Just for demo */body {
background-image: radial-gradient(circle, #3F9CBA 0%, #153346 100%);}
html 透明的圆形,从div中切出的透明半圆相关推荐
- html中如何把一个div变成三角形,是否可以使用CSS从div中切出三角形部分?
它的幻觉是可能的: http://jsfiddle.net/2hCrw/4/ 测试:IE 9,10,Firefox,Chrome,PC和iPad上的Safari. > :: before和::伪 ...
- 【字符串操作之】从原字符串中切出一段,返回一个新的字符串→→slice方法...
slice从原字符串中切出一段,返回一个新的字符串,原字符串并未改变. 如果按 startIndex 索引到的字符与按 endIndex 索引到的字符相同或位于后者的右侧,则该方法返回一个空字符串. ...
- 透明背景flash html5,DW中实现flash的透明背景
我们经常收到一些初学网业制作的网友提出的问题,很多问题其实很简单,只要动脑筋想一想就可以解决了,但有的网友不喜欢多思考,一遇到问题想都不想就直接去问别人,这种学习方法可不太好.而本文的作者学到一种技巧 ...
- 鼠标如何从常见虚拟机中切出?
默认情况下,从创建的虚拟机中跳出方法如下: Virtual Box:右Ctrl VMware:Ctrl+Alt KVM:右Ctrl+右Alt 如果安装的有增强工具,则可自动切换. 正常情况下,非最大化 ...
- html 透明的圆形,CSS3 花蝴蝶形状的3D透明圆球旋转变幻
CSS 语言: CSSSCSS 确定 html, body { background: #111; width: 100vw; height: 100vh; overflow: hidden; } . ...
- 从给定的大图中切出指定矩形区域的小图
UIImage *image1 = [UIImage imageNamed:@"1.png"]; CGRect. rect = CGRectMake(0, 0,100,100);C ...
- 顶宽的div中的英文不能自动换行
1.在一个设定好宽度的div中,当我们输入的中文文字长度超过了设定宽度时,会自动换到下一行.但是,如果输入的是英文字母,那么,无论你div设定宽度为多少,英文字母都是不换行直接在同一行输出,导致div ...
- android自定义透明圆形,Android progressdialog自定义背景透明的圆形进度条类似于Dialog...
很高兴能为大家分享一个背景是透明的圆形进度,先开效果图 效果图如下: 效果图 实现方法如下: 首先准备自己要定义成哪样子的效果的图片. 圆形进度条 1.创建Dialog的代码,你可以自己封装成一个方法 ...
- Java将图片处理成背景透明的圆形图片
/** @author Michael Feng* @date 2017年9月4日*/import java.awt.AlphaComposite; import java.awt.Color; im ...
最新文章
- opencl filtering整理
- 线程池ExcutorThreadPool的运行原理
- 不使用先验知识与复杂训练策略,从头训练二值神经网络!
- 新年发财专属红包封面,高端大气上档次!
- 【腾讯云的1001种玩法】 Laravel 整合微视频上传管理能力,轻松打造视频App后台...
- 详细讲解大型数据库的设计原则与开发技巧
- RxJava 在Android中的应用
- maven 打包跳过test的命令
- 各种缩写名词汇总,力求最全面最精确
- 自然语言处理NLP开源软件工具包
- 攻克拖延症——经历记录与心得分享
- poj 3268 Silver Cow Party(最短路dijkstra)
- 微波射频工程师必读经典参考书
- 建立FTP服务器的免费软件
- 【总结整理】关于挪车和虚拟号的思考-转载v2ex
- 设计模式-Facade门面-Mediator调停者
- 输入两个自然数min,max,计算、输出[min,max]中的超级素数的个数#C语言
- JavaScript函数中的arguments(js函数中的arguments,函数默认参数arguments)
- 改进的粒子滤波算法及其应用研究(Matlab代码实现)
- 币泳金:短暂冲高后未能形成有效突破,BTC重返前期震荡箱体运行
热门文章
- 每日进步一点之灵魂拷问11:Linux
- 微信小程序自定义导航栏组件(完美适配所有手机),可自定义实现任何你想要的功能
- macOS中快速复制文件路径
- 数码信息历的整点报时取消
- 河北石家庄24小时图文快印店地址在哪里?
- 右键清空回收站变成英文,点击出现该文件没有程序与之关联来执行操作什么的,怎么修复?
- 裁撤一批员工后,马斯克又开始招人,推特2.0 PPT曝光
- 校园跑腿、校园脱单、代理、帮忙拿快递的微信小程序 基于SpringBoot、Mybatis-plus、mysql实现
- ReCaptcha——基于验证码的数据挖掘
- NET USE 用法