原文地址:https://segmentfault.com/a/1190000015607676

学习后效果地址:https://scrimba.com/c/c8PQ3PTB

感想:利用css的制图、css的过渡transition等

HTML code:

<!-- 定义一个desk容器:包含纸张、尺子、笔记本、日历、铅笔 -->
<div class="desk">
<span class="paper"></span>
<span class="ruler"></span>
<span class="notebook"></span>
<span class="calendar"></span>
<span class="pencil"></span>
</div>

CSS code:

html, body {
margin:;
padding:;
}
/* 设置body的子元素水平垂直居中 */
body{
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
/* 设置desk的样式 */
.desk{
position:relative;
/* font-size:12;这是默认值,只可增大,同时影响desk的width、height */
font-size: 12px;
width: 35em;
height: 35em;
/* border: 1px solid black; */
--b: 0.5em solid darkslategray;
}
/* 直接定义desk的子元素共有属性 */
.desk * {
position: absolute;
border: var(--b);
/* 设置width、height的值包括border、padding、content */
box-sizing: border-box;
/* 过渡时间 */
transition: 1s;
}
.desk *::before,
.desk *::after{
content: '';
position: absolute;
box-sizing: border-box;
}
/* 画出纸张的轮廓 */
.paper{
width: 12em;
height: 15em;
border-radius: 0 0 0 1.5em;
color: skyblue;
background-color: currentColor;
top: 7em;
left: 2em
}
/* 设置paper纸张左侧卷曲的部分 */
.paper::before{
width: 2em;
height: 16em;
background-color: currentColor;
border: var(--b);
border-radius: 1.5em 0;
left: -0.5em;
bottom: 0.8em;
filter: saturate(150%) brightness(0.9);
}
.paper::after{
width: 2em;
height: 2.5em;
background-color: currentColor;
border: var(--b);
border-radius: 1.75em 0 0 1.75em;
border-right: none;
bottom: -0.5em;
left: -0.5em;
}
/* 增加鼠标悬停效果 */
.desk:hover .paper{
top:;
left:;
}

最新文章

  1. 【C#公共帮助类】分页逻辑处理类
  2. javascript运算符——逻辑运算符
  3. AJAX笔试面试题汇总
  4. Hibernate.lock()方法中各种锁的区别
  5. MYSQL日期类型的加减更新使用INTERVAL 1 DAY
  6. 复利计算器4.0 【java版】
  7. SqlServer将表中数据复制到另一张表
  8. 一个简单的以User权限启动外部应用程序(用NetUserAdd函数和USER_INFO_1结构体动态添加用户,然后用CreateProcessWithLogonW启动程序)
  9. sql语句如何获得当前日期
  10. Python转码问题
  11. iScroll在谷歌浏览器中的问题
  12. windows10中修改环境变量的正确姿势
  13. django遇到的问题-系列1
  14. Servlet(三):获取表单数据、解决乱码和报错问题
  15. #20165323 Java实验四 Android程序设计
  16. flask内容学习之蓝图以及单元测试
  17. java中常用的加密方式
  18. 帝国cms系统限制的登录次数不得超过5次请等60分钟过后方可重新登录
  19. WIN32窗口类风格和窗口风格(备查询)
  20. tomat修改启动路径

热门文章

  1. 小程序与HTML5的区别
  2. C# 序列类为 xml 可以使用的特性大全
  3. 2019年第二阶段我要变强个人训练赛第八场 B.序列(seq)
  4. CF1055F Tree and XOR
  5. P1028 过河问题
  6. 【50.00%】【codeforces 747C】Servers
  7. 原 Linux:ping不通baidu.com
  8. 2019-11-17-dotnet-core-使用-GBK-编码
  9. H3C命令调试debugging--用户视图
  10. java.util.Date和jdk1.8新时间API比拼