css - 使用 CSS 实现响应式纸张卷曲效果
问题描述
我想创建在 w3resource 的代码框中看到的卷曲和阴影效果:
https
://www.w3resource.com/jquery-exercises/part1/jquery-practical-exercise-6.php
它是响应式的。效果只是在侧面。中间部分随着窗口变窄而缩短。
周围有很多例子,但我找不到响应版本。w3resource 使用内联样式。我相信有经验的人可以很快弄清楚。
解决方案
卷曲效果基本上是一种视错觉。没有卷曲,“纸”的底部是元素的直水平底部。由于阴影,您的眼睛认为它正在卷曲。
使用伪元素之前和之后将阴影应用于“一张纸”。您给出的示例使用 em 来调整阴影的大小和位置 - 您可能喜欢使用它们来获得您想要的效果,并使您尝试制作“卷曲”的任何尺寸的“纸张”都有意义。
这是一个简单的片段,可以帮助您入门。它的响应是纸张和阴影的大小是百分比值。您需要进行试验,看看是否对阴影使用 %s 有意义,或者您是否最好坚持使用 ems(或者实际上是 pxs)。此外,为了保持纸张纵横比,值得考虑使用 vmin 而不是 %s(例如,保持 A4 或信纸所需的比率,具体取决于您的用例)。
.curl {
width: 60vmin;
height: 80vmin;
background-color: #eeeeee;
position: relative;
border: solid 0.5px #fefefe;
}
div.curl:after {
right: 0.75em;
left: auto;
transform: rotate(2deg);
}
div.curl:before, .curl:after {
content: '';
z-index: -2;
display: block;
position: absolute;
bottom: 0.75em;
left: 0.18em;
width: 40%;
height: 20%;
box-shadow: 0px 13px 8px #979797;
transform: rotate(-2deg);
}
<div class="curl"></div>
推荐阅读
- java - Jenkins 进行了一系列挂起的 maven 安全测试
- twilio - Twilio 视频轨道差异化
- android - setDeviceCredentialAllowed() 的 java.lang.NoSuchMethodError 错误
- jquery - 如何在 Svelte 中使用 jQuery
- python - 使用 Python.get 过滤多个值
- bash - Docker Volume 不持久化数据
- r - Rcpp:数值积分错误。没有匹配的初始化构造函数
- c# - C#中setter方法中的随机方法
- python - ValidationError: ["'' value has an invalid date format. It must be in YYYY-MM-DD format."] in django
- python - 根据上行中的值删除时间索引 Pandas 数据框中的 n 行