文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何利用CSS实现一款漂亮的无缝背景图

2024-11-30 16:25

关注

在 CSS 中,有一种方法可以做到这一点,而无需手动创建副本或对位置进行任何计算,方法是利用 CSS background 属性。

CSS 中的背景默认是可重复的,如果我们使用 background 或 background-image 创建对象,无论它们的位置如何,它们都可以自动平铺。

element {
background-image:
radial-gradient(#6155a6 30%, transparent 0);



background-size: 100% 100%;
background-repeat: repeat;
}

创建图案背景

我们从指定用于平铺的片段的大小开始。这是必不可少的一步,因为它决定了图案的可重复空间。

element {
width: 180px;
height: 180px;
}

在背景中使用radial-gradient径向渐变创建一个圆形对象。

element {
width: 180px;
height: 180px;
background-image:
radial-gradient(#6155a6 30%, transparent 0);
}

即使你看不到边缘,圆圈也会正确平铺。使用 background-position 将它移动到其他地方。不用担心越界,浏览器已经帮我们搞定了。

element {
width: 180px;
height: 180px;
background-image:
radial-gradient(#6155a6 30%, transparent 0);
background-position: -110px -20px;
}

我们可以通过添加更多背景图像来添加更多对象。

element {
width: 180px;
height: 180px;
background-image:
radial-gradient(#6155a6 30%, transparent 0),
radial-gradient(#6155a6 20%, transparent 0),
radial-gradient(#6155a6 10%, transparent 0);
background-position:
-110px -20px,
-20px -75px,
20px 40px;
}

此元素可用于通过平铺制作无缝图案。唯一的问题是元素本身不能像背景图像那样容易地平铺。我们需要创建许多相同的元素并将它们放置在网格中。虽然截取元素的屏幕截图并将其保存为 PNG 格式是一个快速的解决方案。

使用 CSS 涂鸦

css-doodle 提供令人兴奋的功能之一是能够使用 @doodle 函数从另一个 css-doodle 元素生成背景图像。如果我们在 css-doodle 中创建图案片段,它可以用于背景图像。这意味着图案片段可以平铺。


@grid: 1 / 100% 180px;



background-size: 180px 180px;



background-image: @doodle(
@grid: 1 / 100%;
background-image:
radial-gradient(#6155a6 30%, transparent 0),
radial-gradient(#6155a6 20%, transparent 0),
radial-gradient(#6155a6 5%, transparent 0);
background-position:
-110px -20px,
-20px -75px,
20px 40px;
);

使用渐变来创建形状是相当有限的。幸运的是,@doodle 函数可以嵌套。例如,我们可以将其中一个由 radial-gradient 创建的圆形对象替换为另一个 css-doodle 元素,里面是一个旋转 30 度的心形。


background-image: @doodle(
background-image:
@doodle(
@grid: 1 / 100%;
@size: 80px;
margin: auto;
background: pink;
@shape: heart;
transform: rotate(30deg);
),
radial-gradient(#6155a6 20%, transparent 0),
radial-gradient(#6155a6 5%, transparent 0);
background-position:
-110px -20px,
-20px -75px,
20px 40px;
);

如何在实际开发中使用它

我建议使用 PS 和 AI 等设计工具创建图案背景,但直接从代码创建一些东西仍然很有趣。所以这里有两种方法可以将它应用到您的网站:

1)、在 CSS 或 css-doodle 中创建图案背景片段并截取 DOM 元素,或使用 css-doodle 的 export() API 将图案片段保存为图像。

.container {
background-image: url(pattern.png);
background-size: ;
}

2)、直接导入并使用 css-doodle。

<style>
css-doodle {
--pattern: (

);
}
</style>
<css-doodle use="var(--pattern)"></css-doodle>

我希望这篇文章很好地解释了我们如何利用 CSS 背景重复和 css-doodle 来创建无缝背景图案。有无数种方法可以形成对象,所以我可以想象这是一种非常有用的技术。

当然,最终我们选择那种方式来实现,都是根据我们具体的开发项目与自己本身所掌握的技术。

来源:web前端开发内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯