有没有什么方法可以只使用 CSS 来获得倾斜的盒子阴影?

2023-12-01

我想要类似徽标的东西CSS 技巧,但使用 CSS 而不是图像文件,因此可以调整其大小。这可能吗?

像这样的图片:

CSS-Tricks Logo


纯 CSS 带切角的倾斜阴影

这花了一点时间来完善,但现在横幅下有一个倾斜的阴影,也有切角和多个边框。所有效果,包括背景、徽标和阴影,都是使用纯 CSS 生成的。

View on jsFiddle Pure CSS Slanted drop shadow with cut corners and multiple borders

HTML

<div class="wrapper">
 <div>
  <h1><span>CSS</span>-Tricks</h1>
  <h2>A Web Design Community</h2>
 </div>
</div>
<div class="body">
 <div></div>
</div>

CSS

<style type="text/css">
body {
    min-width:600px;
    background-image:-webkit-repeating-linear-gradient(135deg, #d8d2ce, #d8d2ce 6px, #ccc6c3 7px, #d8d2ce 8px);
    background-image:repeating-linear-gradient(135deg, #d8d2ce, #d8d2ce 6px, #ccc6c3 7px, #d8d2ce 8px);
    background-color:#d8d2ce;
}
.wrapper {
    position:relative;
    margin:77px 46% 10% -10%;
}
.wrapper div:after,
.wrapper div:before {
    content:".";
    font-size:0;
    color:transparent;
    background-color:#bcb9b7;
    position:absolute;
    right:-12px;
    height:50%;
    width:40px;
    padding-top:2.5px;
    border-right:8px solid #afafaf;
}
.wrapper div:after {
    background-image:
        linear-gradient(90deg, transparent, transparent 38px, #c5c5c5 38px, #c5c5c5 40px),
        linear-gradient(180deg, #c5c5c5 0px, #c5c5c5 2px, transparent 2px);
    border-top:8px solid #afafaf;
    top:-10px;
    -webkit-transform-origin:100% 0;
    -webkit-transform: skewX(25deg);
    -ms-transform-origin:100% 0;
    -ms-transform: skewX(25deg);
    transform-origin:top right;
    transform: skewX(25deg);
}
.wrapper div:before {
    background-image:
        linear-gradient(90deg, transparent, transparent 38px, #c5c5c5 38px, #c5c5c5 40px),
        linear-gradient(0deg, #c5c5c5, #c5c5c5 2px, transparent 2px);
    border-bottom:8px solid #afafaf;

    bottom:-10px;
    right:-12px;

    -webkit-transform-origin:100% 100%;
    -webkit-transform: skewX(-25deg);
    -ms-transform-origin:100% 100%;
    -ms-transform: skewX(-25deg);
    transform-origin:bottom right;
    transform: skewX(-25deg);
}
.wrapper div {
    background:#bcb9b7;
    position:relative;
    z-index:2;
    top:-8px;
    left:-8px;
    border:2px solid #c5c5c5;
    box-shadow:0 0 0 8px #afafaf;
    text-align:right;
    text-transform:uppercase;
    font-family:sans-serif;
    color:#ffffff;
    font-size:40px;
    letter-spacing:.05em;
    padding:.55em .7em .55em;
}
.wrapper div h1:after {
    content:"*";
    color:#e5e1de;
    font-weight:bold;
    position:relative;
    top:-.4em;
    font-size:.9em;
}
.wrapper div span {
    color:#444444;
}
.wrapper div h1 {

}
.wrapper div h2 {
    font-size:.26em;
    letter-spacing:.4em;
    font-weight:bold;
    color:#807B77;
    font-family:serif;
    margin-top:.2em;
}
.wrapper:before {
    content:".";
    font-size:0;
    color:transparent;
    display:block;
    width:100%;
    height:90%;
    position:absolute;
    left:0;
    top:0;
    background:rgba(0,0,0,.5);
    box-shadow:0 0 12px 15px rgba(0,0,0,.5);
    -webkit-transform-origin:100% 100%;
    -webkit-transform: translate(-4px,10px) scale(.5, .5) matrix(1, .021, 0, 1, 10, 0) skewX(-25deg);
    -ms-transform-origin:100% 100%;
    -ms-transform: translate(-4px,10px) scale(.5, .5) matrix(1, .021, 0, 1, 10, 0) skewX(-25deg);
    transform-origin:100% 100%;
    transform: translate(-4px,10px) scale(.5, .5) matrix(1, .021, 0, 1, 10, 0) skewX(-25deg);
    z-index:1;
}
.wrapper:after {
    content:".";
    font-size:0;
    color:transparent;
    display:block;
    width:100%;
    height:90%;
    position:absolute;
    left:0;
    top:0;
    background:rgba(0,0,0,.5);
    box-shadow:0 0 12px 15px rgba(0,0,0,.5);
    -webkit-transform-origin:100% 0;
    -webkit-transform: translate(-4px,-4px) scale(.5, .5) matrix(1, .021, 0, 1, 10, 0) skewX(25deg);
    -ms-transform-origin:100% 0;
    -ms-transform: translate(-4px,-4px) scale(.5, .5) matrix(1, .021, 0, 1, 10, 0) skewX(25deg);
    transform-origin:100% 0;
    transform: translate(-4px,-4px) scale(.5, .5) matrix(1, .021, 0, 1, 10, 0) skewX(25deg);
    z-index:1;
}


.body {
    border:8px solid rgba(0,0,0,0);
    box-shadow:0 0 5px rgba(0,0,0,.3);
    position:absolute;
    top:165px;
    margin-left:13%;
    width:80%;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    -o-box-sizing:border-box;
    -ms-box-sizing:border-box;
    box-sizing:border-box;
}
.body div {
    height:200px;
    background:white;
}
</style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有什么方法可以只使用 CSS 来获得倾斜的盒子阴影? 的相关文章

  • CSS 变换源不能与 translate() 一起使用

    我想将 div 从中心点移开 但似乎translate 不关心变换原点是什么 并使用元素的左上角来移动它 这是一个测试来证实这一点 div class items div class item 1 style width 100px hei
  • CSS3 转换会立即发生吗?

    我有一个名为 artwork需要动画化 artwork webkit transition all 20s ease in transition all 20s ease in width 75 display block margin 0
  • 拖放区缩略图宽度图像大小

    如何更改上传图像的缩略图大小 我在我的javascript中尝试过thumbnailWidth 350 但是这不会增加缩略图大小 而缩略图只是看起来放大了 如何操作图像缩略图大小 HTML section section
  • 显示带有背景颜色的百分比条

    例如 如果我有一个包含两列和 2 行的表 Col1 Percentage 50 50 70 70 如何用代表 COl1 值的颜色填充百分比列 像这样的东西 您可以使用具有两个紧接着的停止点的线性渐变 percentageFill heigh
  • 使用溢出时无法隐藏滚动条:auto

    我有这个CSS div background color red position relative height 414px overflow auto width 902px margin 0px auto 我尝试过overflow y
  • 有没有办法在 html 图像标签中显示位图数据? [复制]

    这个问题在这里已经有答案了 有没有办法在 HTML 元素中显示位图图像数据 例如 您有一个指向源文件的常规图像 如下所示 img src myImage png width 100 height 100 有没有这样的事情 img width
  • 显示班级图片 10 秒

    我有下面给出的代码显示9 boxes 其值如下digital time 还有一个班级box002显示digits相当于随机选择的九个盒子的值 box002 can be dragged to digital time starting wi
  • 文本后面有粗下划线

    如何使用 span 和 css 在文本 ABC 后面重现这种下划线 我已经能够做下划线below嵌套的文本span和彩色的border bottom 但无法获取behind图像和above文本基线 p style font size 48p
  • 两种颜色边框

    客户想要两种颜色的边框以获得浮雕外观 我可以在一个元素上执行此操作吗 我希望避免堆叠两个具有单独边框的 DOM 元素 是的 使用outline财产 它充当您边界之外的第二个边界 但请注意 它可能会以一种奇怪的方式与边距 填充和阴影进行交互
  • html 和 body 元素的高度

    我一直在互联网上查找 min height 和 height 属性如何在 body 和 html 元素上工作 我在很多地方都看到过下面的代码 html height 100 body min height 100 上面的内容可以与其他一些
  • 使用 CSS 的平行四边形导航背景

    我正在尝试创建此导航菜单 绿色突出显示是活动页面 灰色是悬停状态 我可以使用以下 CSS 制作平行四边形 ul nav li a text decoration none padding 4px 10px border radius 3px
  • Flexbox 不适用于 iPad 和 Safari [重复]

    这个问题在这里已经有答案了 我在网站上使用 Flexbox 但它在 iPad Air iPad 3 和 Safari PC 上崩溃 设计和代码与此 codepen 类似 http codepen io anon pen xwJzEg htt
  • 每 3 秒重复一次动画

    我正在使用 WOW js 和 animate css 现在我正在将 CSS 运行到 Infinite 我想知道如何让我的课程运行 3 秒停止并再次开始到无限 My html img src images fork png class for
  • 使用 JavaScript 使链接保持活动状态并在单击时显示悬停效果

    I am struggling to make this work I d like to make it where if O F is clicked the hover state stays active if another li
  • 如何设置菜单按钮和菜单项的样式

    我尝试更改菜单按钮中的样式 我可以更改菜单按钮样式 但不能更改其菜单项 无论我尝试什么 菜单按钮内的菜单项都保持不变 menu button fx background color black menu button label fx ba
  • 如何将背景图像仅应用于一个反应页面而不是整个应用程序?

    注册页面示例 register background image linear gradient to right ff5722 0 ff9800 100 margin top 150px important div div div div
  • 现在 CSS3 供应商前缀有多必要? [复制]

    这个问题在这里已经有答案了 我只是想知道现在在 CSS 中指定 webkit moz ms 或 o 等供应商前缀在多大程度上仍然有必要 如果我理解正确的话 opera 切换到了 webkit 所以会删除 o 对吗 IE 在 IE10 中不再
  • 如何阻止破折号自行包裹?

    我有一个标题 标题最后一个单词的末尾是一个破折号 单词和破折号之间没有空格 当浏览器窗口变小时 破折号会中断并换成新行 在自己的行上有一个破折号是不好的排版 如何停止破折号之前的换行 以便最后一个单词运行到新行 这是代码 h1 XYZ co
  • 避免响应式页面的重复内容

    我目前正在做一个涉及响应式设计的项目 整个布局应该使用HTML和CSS来实现 我知道可以使用 java 脚本将内容从一个列布局移动到另一列布局 而无需复制内容 但是使用 HTML 和 CSS 是否可以实现相同的效果 以下面的例子为例 它会在
  • 带有相对路径的 LESS CSS 背景

    我在使用 LESS 作为我的网站的样式表时遇到了问题 就我个人而言 我宁愿在CSS中使用相对路径而不是绝对路径 这只是我的习惯 但是现在当我使用带有导入功能的LESS时 我遇到了如下所示的问题 我有一个main less根文件夹中的文件 i

随机推荐

  • 获取连续的字母,将每个字母转换为数字,并对组中的数字求和

    假设我有这两个相关的数组 letters a b c d e replace 1 5 10 15 20 以及一串用空格分隔的字母 text abd cde dee ae d 我想将连续的字母转换为各自的数字 将数字相加 然后用总数替换原始字
  • 防止子元素在 Flexbox 中溢出其父元素[重复]

    这个问题在这里已经有答案了 我正在开发一个网络应用程序 它显示一个大的卡片网格 其高度本质上是可变的 为了美观 我们使用了 jQuery matchHeight 使每行中的卡片高度相等 它的性能不能很好地扩展 所以今天我已经迁移到基于弹性盒
  • Codeigniter is_cli_request() 停止 cpanel cron 作业的工作

    在我的网站上 我在 cpanel 上使用 cron 作业 我在控制器的构造区域中有下面的代码 但它阻止了 cpanel cron 作业的工作 if this gt input gt is cli request show error Dir
  • spring.codeconfig 与 xml 配置

    我已经使用 spring net 进行 xml 配置一段时间了 一个月前我刚刚看到 spring 团队发布了 CodeConfig 我喜欢 xml 配置的一点是 如果实时服务器出现问题 我可以轻松更改 xml 配置以启用某些特定的调试设置
  • Windows 7 上的 WAMP 403 禁止消息

    我已经在我的 Windows 7 机器上安装了 WAMP 2 1 版 当我在浏览器中浏览到 localhost 时 可以看到 WAMP 服务器页面 但是当我在浏览器中浏览我的 IP 时 我收到消息 403 Forbidden 您无权访问此服
  • 如果我将一个重物体作为参数传递给某个函数,成本是多少

    假设我有一个对象 ClassRoom 在 ClassRoom 中有许多具有 20 多个属性的 Student 对象 50 个对象 许多具有超过 20 个属性的 Teacher 对象 10 个对象 ClassRoom 还有一些其他属性 如 c
  • preg_match() 因包含斜杠的字符串而失败

    我有一个这样的函数 function in array r item array return preg match item i json encode array 然后我像这样使用它 if in array r row name ite
  • 如何从类中获取字节码作为字节数组

    给定一个任意的Class实例 包括运行时生成的实例 没有 class磁盘上的文件 有什么方法可以获取类字节吗 一般来说 这是不可能的 加载类时 JVM 会解析其字节码并将其转换为内部表示形式 之后 JVM 可以自由地忘记原始字节码 这就是
  • YouTube API v3 Java 授权

    我正在使用 YouTube 数据 API Java 将视频上传到我的 YouTube 频道 我在我的 Windows PC 上测试了它并且成功了 但示例中的授权通过打开浏览器窗口来登录 Google 来创建 Credential 实例 这在
  • 替换空格,但仅在限制之间替换 php

    我想使用 PHP 将空格替换为另一个字符串 我这样做如下 string whatever text including some text between delimiters and string replaced preg replac
  • C++ - 从注册表读取的值中获取空值

    我的应用程序可以正确读取和写入注册表 现在 我需要从以下位置读取注册表值 HKEY LOCAL MACHINE SOFTWARE Microsoft Cryptography MachineGuid 这是我的代码 bool GetWindo
  • 异常后继续 while 循环

    我有这段代码 我想返回到循环的开头并再次请求用户输入 然而 它总是循环不停地询问输入 我的代码有什么问题吗 谢谢 while true try int choice input nextInt lt lt this should stop
  • 为什么 NSUserDefaults 无法保存 NSMutableDictionary?

    我正在尝试保存一个NSMutableDictionary with NSUserDefaults 我在 stackoverflow 上阅读了很多关于该主题的帖子 我还发现了一个有效的选项 但不幸的是它只工作了一次 然后它开始只保存 空 有人
  • 动态调整 QIcon 大小,无需调用 setSizeIcon()

    我目前正在努力解决一个应该很容易解决的问题 许多小部件都支持某种QSize策略 这包括Q按钮 就我而言 我在网格布局中有多个按钮 所有这些按钮都有各自的 QSizePolicy垂直和水平调整大小设置为扩大 这导致按钮的大小根据网格布局所属的
  • VS2015 SP3远程调试路径中的非法字符

    将 Visual Studio 2015 升级到 Update 3 后 远程调试停止工作 尝试调试时出现错误 严重性代码 说明 项目文件行抑制状态 错误 DEP4300 无法生成应用程序包 xxx VS Debug x86 xxx CN x
  • FragmentActivity 上未调用 onCreateOptionsMenu()

    同事 MainActivity类源自FragmentActivity 并且由于某种原因活动的onCreateOptionsMenu 没有接到电话 我有第一个断点onCreate 正在被触发 第二个在onCreateOptionsMenu 这
  • 由于与 google gms 服务版本冲突,FCMPlugin 构建失败

    我在 Windows for Android 上将其与 ionic 2 一起使用 当我添加 cordova plugin fcm 插件时 我无法再构建项目 这是我收到的错误 BUILD FAILED Total time 4 697 sec
  • Codeigniter图片上传mysql

    我想知道如果我将 CodeIgniter 中的图像上传到数据库 我的结果是什么 config upload path 我见过的所有示例都使用文件系统 我在数据库中有文章 并且也想在数据库中存储与文章相关的图像 有人可以帮忙吗 你可以阅读这篇
  • PHP 和 mssql 库可以从 varchar 列中选择超过 256 个字符吗?

    是否有解决方法 除了将列类型更改为文本字段之外 使用 PHP 和 mssql 库选择大型 varchar 字段 例如 varchar 500 PHP 真的将字符数限制为 255 吗 还有比这更拉回来的方法吗 从PHP页面来看 问题似乎出在W
  • 有没有什么方法可以只使用 CSS 来获得倾斜的盒子阴影?

    我想要类似徽标的东西CSS 技巧 但使用 CSS 而不是图像文件 因此可以调整其大小 这可能吗 像这样的图片 纯 CSS 带切角的倾斜阴影 这花了一点时间来完善 但现在横幅下有一个倾斜的阴影 也有切角和多个边框 所有效果 包括背景 徽标和阴