我上一篇文章“重新访问CSS多列布局”指出,自从我的第一本书《超越CSS 》出版以来已经过去了近二十年。本书探索了当时的新闻CSS属性及其应用程序。十年后,基于此建造的五周年纪念版五周年版,引入了border-image
属性。
(注意:已更新的,可以自由使用的在线版本,超越CSS进行了重新访问,存在。我的书店可从我的书店使用hardboiled的Web Design 。)
border-image
财产的潜力使我兴奋。即使在表格中,它也可以使图像集成到元素边界中(除非应用边框崩溃)。
尽管经常使用, border-image
仍未得到充分利用。它的尴尬语法要怪吗?也许对实践创造性实现的解释不足?可能两者。
最近在艾美奖的游戏作曲家迈克·沃思(Mike Worth)的网站上的最新工作是一个图形丰富的项目,广泛展示了border-image
。
border-image
属性和价值:快速刷新
大多数解释始于这种常见的速记:
<code>border-image: \[source\] [slice]/\[width]/[outset\] [repeat]</code>
但是,了解单个属性更简单。
图像源
首先,定义图像源(位图,向量或CSS梯度):
<code>border-image-source: url('/img/scroll.png');</code>
对于SVG,存在几个选项:外部文件:
<code>border-image-source: url('/img/scroll.svg');</code>
数据URI(尽管SVG和HTML的XML性质较少推荐):
<code>border-image-source: url('data:image/svg xml;base64,…');</code>
直接嵌入SVG代码(避免额外的HTTP请求):
<code>border-image-source: url('data:image/svg xml;utf8,…');</code>
或者,使用CSS梯度:
<code>border-image-source: conical-gradient(…);</code>
(提示:记住: border-image
在背景和box-shadow
之上呈现,但在内容之下。)
切片图像
指定源后,切片将图像划分以放置在边界的九个区域中。这通常使新来者感到困惑。
虽然简单的等级切片很常见, border-image
处理复杂形状。无形的切割线将图像分为九个部分,类似于图形编辑器中的切片指南。
border-image-slice
定义了切片大小,指定了距每个边缘的距离。这可能是一个值:
<code>border-image-slice: 65</code>
顶部/底部和左/右值组合:
<code>border-image-slice: 115 65;</code>
或单个值(顺时针:上,右,底部,左):
<code>border-image-slice: 65 65 115 125;</code>
左上图的图像部分转到左上角,依此类推。位图图像假设像素单元; SVG受益于明确的高度和宽度:
<code><svg height="600px" width="600px"> …</svg></code>
相应地设置边界宽度:
<code>border-image-width: 65px 65px 115px 125px;</code>
中心填充
中心通常被忽略,但fill
关键字利用它:
<code>border-image-slice: 65px 65px 115px 125px fill;</code>
重复
控制图像如何沿边缘重复或伸展:
-
stretch
:伸展平稳。 -
repeat
:重复纹理图像。 -
round
:重复整个零件,调整图像的大小。 -
space
:重复整个零件,添加空间。
单个边缘设置是可能的:
<code>border-image-repeat: stretch round;</code>
启动
使用边框图像库将图像扩展到border-image-outset
以外:
<code>border-image-outset: 10px;</code>
或指定个人销售:
<code>border-image-outset: 20px 10px;</code>
实践中border-image
:Mike Worth的网站
迈克·沃思(Mike Worth)的网站受到90年代动画的启发,使用了border-image
以实现效率和视觉影响。
装饰按钮
使用SVG和border-image
创建了Stone平板电脑风格的按钮:
<code>button { border-image-repeat: stretch; border-image-slice: 10 10 10 10 fill; border-image-source: url('data:image/svg xml;utf8,…'); border-image-width: 20px; }</code>
文章滚动
使用单个SVG和border-image
实现了纸滚动效果,避免了伪元素:
<code>article { border-image-slice: 150 95 150 95 fill; border-image-width: 150px 95px 150px 95px; border-image-repeat: stretch round; border-image-source: url('data:image/svg xml;utf8,…'); }</code>
主页覆盖
交互式叠加层使用的border-image
在悬停在悬停上添加彩色梯度:
<code>section:hover::before { opacity: .5; border-image: fill 0 linear-gradient(rgba(0,0,255,.25),rgba(255,0,0,1)); }</code>
结论
border-image
是有效地创建具有视觉惊人设计的强大工具。应更广泛地探索其潜力。迈克·沃思(Mike Worth)的网站展示了其创建复杂边界,装饰元素和动态覆盖的能力。尝试border-image
以增强您的设计。
(注意: Mike Worth的网站于2025年4月启动;可用Codepen示例。)
关于安迪·克拉克
安迪·克拉克(Andy Clarke)是一位开创性的网页设计师,以其创意和视觉上令人惊叹的作品而闻名。他撰写了几本有影响力的书籍,包括超越CSS ,硬煮的网页设计和网络的艺术指导,并提供了流行的Web设计合同模板,合同杀手。
以上是重新访问CSS边界图像的详细内容。更多信息请关注PHP中文网其他相关文章!

具有CSS的自定义光标很棒,但是我们可以将JavaScript提升到一个新的水平。使用JavaScript,我们可以在光标状态之间过渡,将动态文本放置在光标中,应用复杂的动画并应用过滤器。

互动CSS动画和元素相互启动的元素在2025年似乎更合理。虽然不需要在CSS中实施乒乓球,但CSS的灵活性和力量的增加,可以怀疑Lee&Aver Lee&Aver Lee有一天将是一场

有关利用CSS背景滤波器属性来样式用户界面的提示和技巧。您将学习如何在多个元素之间进行背景过滤器,并将它们与其他CSS图形效果集成在一起以创建精心设计的设计。

好吧,事实证明,SVG的内置动画功能从未按计划进行弃用。当然,CSS和JavaScript具有承载负载的能力,但是很高兴知道Smil并没有像以前那样死在水中

是的,让#039;跳上文字包装:Safari Technology Preview In Pretty Landing!但是请注意,它与在铬浏览器中的工作方式不同。

此CSS-tricks更新了,重点介绍了年鉴,最近的播客出现,新的CSS计数器指南以及增加了几位新作者,这些新作者贡献了有价值的内容。

在大多数情况下,人们展示了@Apply的@Apply功能,其中包括Tailwind的单个property实用程序之一(会改变单个CSS声明)。当以这种方式展示时,@Apply听起来似乎很有希望。如此明显


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载
最流行的的开源编辑器