CSS3制作心形头像
1.功能需求:
最近有一个基于微信开发的Mobile Web项目,是一个活动页面。功能需求:用户使用微信扫描二维码,然后授权使用微信登录,然后读取用户的昵称和头像,然后显示在一个饼图上面。头像需要有一个心形套住,大家看到很多页面,都是使用圆形套住,比如新版的手机QQ联系人,截图如下:
微信登录如图,拿的微信开放平台的美丽说的截图:

2.实现代码
<!DOCTYPE html><html> <head> <title>css3制作心形头像</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style type="text/css"> #headimage{ position: absolute; top: 50%; left: 50%; } /*心形头像*/ .heart{ float:left; width:90px;height:54px;position:relative; } /* after 伪元素在元素之前添加内容*/ .heart .before{ content:" "; border-radius:160px 160px 0 0;/* 正方形的内切圆的半径等于正方形边长的一半 */ -moz-border-radius: 160px 160px 0 0; -ms-border-radius: 160px 160px 0 0; -o-border-radius: 160px 160px 0 0; -webkit-border-radius: 160px 160px 0 0; width:60px; height:100px;/* 长方形 */ -moz-transform: rotate(-45deg);/* 逆时针旋转45°*/ -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); position:absolute; left:10px; overflow: hidden; } .before > div { width: 120px; height: 120px; background-size: 120px; position: absolute; bottom: 0px; left: -100%; -webkit-transform: rotate(45deg); -webkit-transform-origin: bottom center; } /* after 伪元素在元素之后添加内容*/ .heart .after{ content:" "; width:60px; height:100px; border-radius:160px 160px 0 0; -moz-border-radius:160px 160px 0 0; -ms-border-radius:160px 160px 0 0; -o-border-radius: 160px 160px 0 0; -webkit-border-radius: 160px 160px 0 0; -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); -webkit-transform: rotate(45deg); position:absolute; left:38px;top:0px; overflow: hidden; } .after > div { width: 120px; height: 120px; background-size: 120px; position: absolute; bottom: 0px; right: -100%; -webkit-transform: rotate(-45deg); -webkit-transform-origin:bottom center; } body{ width:400px; height:400px; margin: 0 auto; } </style> </head> <body> <h3>原始图片:</h3> <div style="text-align:center;"> <img src="images/1.jpg" alt="用户头像"/> </div> <h3>心形头像:</h3> <div id="headimage"> <!-- <img id="headimgurl" style="width:80px;height:80px;border-radius: 40px;"/>--> <!--css3制作心形头像--> <div class="heart"> <div class="before"> <div class="userphoto"><img src="images/1.jpg" alt="用户头像"/></div> </div> <div class="after"> <div class="userphoto"><img src="images/1.jpg" alt="用户头像"/></div> </div> </div> </div> </body></html>
效果如图:

3.参考网址:
1.手机QQ http://im.qq.com/mobileqq/
2.微信登录介绍 https://open.weixin.qq.com/
CSS3制作心形头像的更多相关文章
- 心跳(纯代码制作心形,animation动画)
思路:利用两个长方形(比例是2:3 | 3:2)可以合成心形,然后利用动画,缩放大小实现心跳(纯代码),效果如下: <body> <div></div> </ ...
- css3心形 perspective transform
CSS3挺有趣的,能实现不少动画,以下为娱乐内容 <!DOCTYPE html> <html> <head> <meta charset="UTF- ...
- CorelDRAW快速制作绚丽的彩色透明心形
今天小编分享给小伙伴们用CorelDRAW打造绚丽的彩色透明心形.主要使用完美形状组中的心形造型制作出心形图案,经过对图形的模糊操作,再经过图框精确剪裁,最后添加一个彩虹渐变色实现绚丽的彩色透明效果. ...
- css3实现三角形,聊天背景气泡,心形等形状
1.聊天背景气泡: css代码如下: #talkbubble {width: 120px;margin:auto; background: red; position: relative; -moz- ...
- CSS3制作各种形状图像
圆形-椭圆形-三角形-倒三角形=左三角形-右三角形-菱形-平行四边形- 星形-六角星形-五边形-六边形-八角形-心形-蛋形-无穷符号-消息提示框 不废话直接 html界面(亲测的) ------转自百 ...
- CSS3制作各种形状图像(转)
CSS3制作各种形状图像 浏览:1417 | 更新:2015-05-24 14:43 | 标签:css 1 2 3 4 5 6 7 分步阅读 圆形-椭圆形-三角形-倒三角形=左三角形-右三角形-菱形- ...
- 使用CSS3制作各种形状
CSS3的一个非常酷的特性是允许我们创建各种规则和不规则形状的图形,从而可以减少图片的使用.以前只能在Photoshop等图像编辑软件中制作的复杂图形现在使用CSS3就可以完成了.通过使用新的CSS属 ...
- 使用CSS3制作各种图形
1.正圆形 代码: HTML代码: <div class="circle"></div> CSS代码: .circle { width: 100px; he ...
- CSS 魔法系列:纯 CSS 绘制图形(心形、六边形等)
<CSS 魔法系列>继续给大家带来 CSS 在网页中以及图形绘制中的使用.这篇文章给大家带来的是纯 CSS 绘制五角星.六角形.五边形.六边形.心形等等. 我们的网页因为 CSS 而呈现千 ...
随机推荐
- asp.net两种方式的短信接口使用(提供接口的都是收费的)
一种是http请求的方式,另一种就是提供WebService接口供调用的. //服务商 sms.webchinese.cn //sms_url="http://sms.webchinese. ...
- form操作
1, /* 封装操作表单的常用方法 */ //获取要保存的数据 wjh 2015-10-22 function getSaveData(className) { if (className == nu ...
- DoD and DoR
Definition of Ready User Story is defined Acceptance criteria(functional and non-functional requirem ...
- 最小生成树 prime + 队列优化
存图方式 最小生成树prime+队列优化 优化后时间复杂度是O(m*lgm) m为边数 优化后简直神速,应该说对于绝大多数的题目来说都够用了 具体有多快呢 请参照这篇博客:堆排序 Heapsort / ...
- jQuery中事件与动画的总结
1.加载DOM 1.1.window事件 window.onload=function(){}.... 时机:其他资源都加载完毕后,再执行 $(function(){}) ……:只是 ...
- C/C++_date&time
在标准C/C++中与日期和时间相关的数据结构 注意:年份是实际年份与 1900 的差值 我们可通过tm结构来获得日期和时间,tm结构在time.h中的定义如下: #ifndef _TM_DEFIN ...
- MyEclipse新建web project和navicat110_mysql_en工具
首先注意几点: 1.eclipse web项目:项目名称不得超过五个字符,要求全部小写,不管变量名.类名.函数名.文件名,在没有特殊理由的时候,不要用下划线,同时表名和类名用两个单词,尽量不要用Stu ...
- android——handler机制原理
在android版本4.0及之后的版本中多线程有明确的分工,子线程可以写所有耗时的代码(数据库.蓝牙.网络服务),但是绝对不能碰UI,想碰UI跟着主线程走,那么我们如何才能让主线程知道我们要对 UI进 ...
- 一张图解释SQL Server集群、镜像、复制、日志传送
一张图解释SQL Server集群.镜像.复制.日志传送 本文版权归作者所有,未经作者同意不得转载.
- 【直播】APP全量混淆和瘦身技术揭秘
[直播]APP全量混淆和瘦身技术揭秘 近些年来移动APP数量呈现爆炸式的增长,黑产也从原来的PC端转移到了移动端,通过逆向手段造成数据泄漏.源码被盗.APP被山寨.破解后注入病毒或广告现象让用户苦不堪 ...