使用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中切出的透明半圆相关推荐

  1. html中如何把一个div变成三角形,是否可以使用CSS从div中切出三角形部分?

    它的幻觉是可能的: http://jsfiddle.net/2hCrw/4/ 测试:IE 9,10,Firefox,Chrome,PC和iPad上的Safari. > :: before和::伪 ...

  2. 【字符串操作之】从原字符串中切出一段,返回一个新的字符串→→slice方法...

    slice从原字符串中切出一段,返回一个新的字符串,原字符串并未改变. 如果按 startIndex 索引到的字符与按 endIndex 索引到的字符相同或位于后者的右侧,则该方法返回一个空字符串. ...

  3. 透明背景flash html5,DW中实现flash的透明背景

    我们经常收到一些初学网业制作的网友提出的问题,很多问题其实很简单,只要动脑筋想一想就可以解决了,但有的网友不喜欢多思考,一遇到问题想都不想就直接去问别人,这种学习方法可不太好.而本文的作者学到一种技巧 ...

  4. 鼠标如何从常见虚拟机中切出?

    默认情况下,从创建的虚拟机中跳出方法如下: Virtual Box:右Ctrl VMware:Ctrl+Alt KVM:右Ctrl+右Alt 如果安装的有增强工具,则可自动切换. 正常情况下,非最大化 ...

  5. html 透明的圆形,CSS3 花蝴蝶形状的3D透明圆球旋转变幻

    CSS 语言: CSSSCSS 确定 html, body { background: #111; width: 100vw; height: 100vh; overflow: hidden; } . ...

  6. 从给定的大图中切出指定矩形区域的小图

    UIImage *image1 = [UIImage imageNamed:@"1.png"]; CGRect. rect = CGRectMake(0, 0,100,100);C ...

  7. 顶宽的div中的英文不能自动换行

    1.在一个设定好宽度的div中,当我们输入的中文文字长度超过了设定宽度时,会自动换到下一行.但是,如果输入的是英文字母,那么,无论你div设定宽度为多少,英文字母都是不换行直接在同一行输出,导致div ...

  8. android自定义透明圆形,Android progressdialog自定义背景透明的圆形进度条类似于Dialog...

    很高兴能为大家分享一个背景是透明的圆形进度,先开效果图 效果图如下: 效果图 实现方法如下: 首先准备自己要定义成哪样子的效果的图片. 圆形进度条 1.创建Dialog的代码,你可以自己封装成一个方法 ...

  9. Java将图片处理成背景透明的圆形图片

    /** @author Michael Feng* @date 2017年9月4日*/import java.awt.AlphaComposite; import java.awt.Color; im ...

最新文章

  1. opencl filtering整理
  2. 线程池ExcutorThreadPool的运行原理
  3. 不使用先验知识与复杂训练策略,从头训练二值神经网络!
  4. 新年发财专属红包封面,高端大气上档次!
  5. 【腾讯云的1001种玩法】 Laravel 整合微视频上传管理能力,轻松打造视频App后台...
  6. 详细讲解大型数据库的设计原则与开发技巧
  7. RxJava 在Android中的应用
  8. maven 打包跳过test的命令
  9. 各种缩写名词汇总,力求最全面最精确
  10. 自然语言处理NLP开源软件工具包
  11. 攻克拖延症——经历记录与心得分享
  12. poj 3268 Silver Cow Party(最短路dijkstra)
  13. 微波射频工程师必读经典参考书
  14. 建立FTP服务器的免费软件
  15. 【总结整理】关于挪车和虚拟号的思考-转载v2ex
  16. 设计模式-Facade门面-Mediator调停者
  17. 输入两个自然数min,max,计算、输出[min,max]中的超级素数的个数#C语言
  18. JavaScript函数中的arguments(js函数中的arguments,函数默认参数arguments)
  19. 改进的粒子滤波算法及其应用研究(Matlab代码实现)
  20. 币泳金:短暂冲高后未能形成有效突破,BTC重返前期震荡箱体运行

热门文章

  1. 每日进步一点之灵魂拷问11:Linux
  2. 微信小程序自定义导航栏组件(完美适配所有手机),可自定义实现任何你想要的功能
  3. macOS中快速复制文件路径
  4. 数码信息历的整点报时取消
  5. 河北石家庄24小时图文快印店地址在哪里?
  6. 右键清空回收站变成英文,点击出现该文件没有程序与之关联来执行操作什么的,怎么修复?
  7. 裁撤一批员工后,马斯克又开始招人,推特2.0 PPT曝光
  8. 校园跑腿、校园脱单、代理、帮忙拿快递的微信小程序 基于SpringBoot、Mybatis-plus、mysql实现
  9. ReCaptcha——基于验证码的数据挖掘
  10. NET USE 用法