七夕到啦!然而我是程序员,就来给程序员解决一些烦恼吧!程序员最不理解的两件事:

  1. 别人的代码
  2. 妹子的心

趁着七夕的月色,我们来搞定妹子的心吧!使用纯CSS来获得妹子的心其实并不难。。各位看官来看我的尝试:http://tianmaying.com/app/css-heart/,如图:

既然是CSS的表白,我们便只写两行HTML:

<div class="heart"><div class="message">Love</div></div>
<div class="popover"></div>

上面是妹子的心,下面是程序员的表白。

妹子的心

妹子的心目测宽度在300px左右,稍微扁一点。.heart的左右两部分需要相对于.heart绝对布局,因而.heartposition需要设置为非static

.heart{position: relative;width: 300px;height: 280px;
}

接着before表示左心房,after表示右心房~ 它们要相对于.heart绝对布局,设置为absolute

.heart:before, .heart:after {content: "";position: absolute;top: 0;
}

左边的left靠左一点,右边的left靠右一点。但是妹子右心房比左心房稍微黑一点background-color:#640d0dbox-shadow是用来设置阴影的,其中inset表示设置的是内部阴影。因此妹子的心内部是有阴影的~然后使用transform将左右心房分别逆时针和顺时针旋转45°,让它们拼接在一起~

下面代码中使用6位16进制数表示CSS颜色(24位色),数越大越白(白色为#ffffff),越小则越黑(黑色为#000000)。

.heart:before {left: 0;background-color: #cf9797;box-shadow: -10px 1px 15px 0 rgba(0,0,0,0.2),inset 20px -195px 65px 0 #640d0d;transform: rotate(-45deg);
}
.heart:after{left: 64px;background-color: #640d0d;transform: rotate(45deg);box-shadow: 15px 3px 25px rgba(0,0,0,0.35),inset -25px 10px 35px rgba(0,0,0,.35);
}

我们猜想妹子的心中一定充满了爱,而text-shadow可以让心中的爱发出光芒。最后用transform来让她心中的爱有所倾斜。

.heart .message {text-shadow: -1px -1px 1px #ae6363, 1px 1px 1px #450000;padding: 45px 0 0 30px;transform: rotate(-15deg);color: #640d0d;
}

程序员的表白

接着我们来创建一个有一点苍白但却充满了浪漫的表白:

.popover {position: absolute;padding: 15px 30px;background: #F9787C;border-radius: 10px;
}

上面的padding给这个表白框设置了一定的内补,使得文字不必贴着边框,背景background则设置为一个浪漫的颜色:#F9787C

哦!差点忘了说点什么!给表白框加一个表白内容:"I love you, forever and ever!"

.popover:before{content: 'I love you, forever and ever!';color: #fff;font-size: 26px;
}

表白框可以再来一个小小的角,这样我们的表白才有呼之欲出的效果。CSS中一般通过设置相邻的两个border来显示一个三角形。这里我们将border-right设为浪漫的颜色,而border-bottom则设置为透明,生成的三角形正好是.popover:after对应CSS Box的右上部分。

.popover:after{position: absolute;right: 0;content: "";display: block;width: 0;height: 0;border-bottom: 28px solid transparent;border-right: 58px solid #F9787C;
}

渐出的代码

可能你注意到了,在我们的示例中CSS代码是逐渐输出的,而且右侧的样式也是逐渐应用的。这是通过操作<style>标签做到的~

页面初始化时,.heart.popover的样式代码不直接放在style或者link[rel=stylesheet]中,而是把它放在一个script[type=text/css]中。这样初始页面中的显示面板便只会有默认的样式。页面结构可能是这样的:

<div class="main-layout"><!--代码面板--><div class="left" id="code"></div><!--显示面板--><div class="right"><div class="heart"><div class="message">Love</div></div><div class="popover"></div></div></div><!--已应用的CSS代码-->
<style id="current-style"></style><!--初始的CSS代码-->
<script id="style" type="text/css">
.heart{...}
</script>

然后每隔200ms我们从中取出一部分代码并添加到一个<style>标签中;同时输出到左侧的代码面板上。可能你注意到左侧的代码面板中,代码是高亮的,可以用一个前端高亮工具来实现:力荐highlight.js(本站都是用它来高亮的)。

完整的实现请点击本页右上角的“参考代码”,只有不足40行JS,并不复杂!

版权声明本文由 Harttle创作,转载需署名作者且注明文章出处参考代码

要获取本文的参考代码,请访问: https://www.tianmaying.com/tutorial/css-heart/repo

from: https://www.tianmaying.com/tutorial/css-heart

CSS的表白:七夕巧克力心相关推荐

  1. HTML5七夕情人节表白网页(流星动画3D相册) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤流星动画3D相册❤ HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白 这是 ...

  2. HTML5七夕情人节表白网页(星空萤火虫) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页(星空萤火虫) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白 这是程序员 ...

  3. HTML5七夕情人节表白网页(雪花爱心表白) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤雪花爱心❤ HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白 这是程序员表 ...

  4. HTML5七夕情人节表白网页(抖音超火3D炫酷魔方) HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤抖音超火❤3D炫酷魔方❤ HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白 这是程序 ...

  5. HTML5七夕情人节表白网页(抖音-罗盘时钟) HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤抖音罗盘时钟❤ HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白 这是程序员表白系列 ...

  6. HTML5七夕情人节表白网页(结婚倒计时) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤结婚倒计时❤ HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白 这是程序员表白 ...

  7. HTML5七夕情人节表白网页(幻化3D相册) HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤幻化3D相册❤ HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白 这是程序员表白系列 ...

  8. HTML5七夕情人节表白网页(抖音3D立方体图像库) HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤抖音❤3D立方体图像库❤ HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白 这是程序 ...

  9. HTML5七夕情人节表白网页(圣诞雪花飘落) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤圣诞雪花飘落❤ HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白 这是程序 ...

最新文章

  1. Oracle视图的作用与安全性
  2. mysql delete 会锁表吗_MySQL高压缩引擎TokuDB 揭秘
  3. 【iVX 初级工程师培训教程 10篇文拿证】02 数值绑定及自适应网站制作
  4. (转)Eclipse平台技术概述
  5. mybaties总结+hibernate总结
  6. 如何解决comctl32.dll文件丢失的问题?
  7. 什么样的人才容易被骗?
  8. 计算机采用二进制无关,计算机为什么采用二进制?
  9. Grafana 系统可视化监控
  10. JS iframe 跨域
  11. vb mysql 实例教程_在VB.NET应用中使用MySQL的方法
  12. 按键精灵--VS挤房器_Fly_v2.5版
  13. [读书笔记]《你的灯亮着吗?》
  14. java万能万年历的程序_Java编写多功能万年历程序的实例分享
  15. vs2010学习版安装与激活
  16. 超详细的抖音养号上热门技巧,看完这一篇就够了
  17. 教室录播系统方案_《课堂教学录播专用教室》建设方案及装备标准
  18. 蒙特卡洛光线追踪技术
  19. 新手网站制作教程:网站建设流程及步骤有哪些?
  20. 常见邮件服务器(接收服务器和发送邮件服务器)地址

热门文章

  1. Sklearn(v3)——SVM理论(3)
  2. 机器学习算法基础——机器学习概述
  3. 【SQL】SQL语句大全(XIMND导图梳理)
  4. 元宇宙iwemeta:互联网行业年底清算,税收优惠门槛抬高,阿里巴巴多交41亿税款
  5. 分布式MySQL数据库TDSQL架构分析
  6. 平台战初现 产品从单个智能走向互联
  7. Java Review - 并发编程_ 回环屏障CyclicBarrier原理源码剖析
  8. 深入理解分布式技术 - 消息队列使用场景
  9. JVM - Class常量池 || 运行时常量池
  10. Spring JDBC-自增键和行集RowSet