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