7个实用的CSS background-image小技巧

7个实用的CSS background-image小技巧

(推荐教程:CSS教程)

background-image可能是我们所有人(前端开发人员)在我们的职业生涯中至少使用过几次的CSS属性之一。大多数人认为背景图像没有什么不寻常的,但经过研究,答案并非如此。

所以本文收集了7个我认为最有用的技巧,并创建了一些代码示例,你可以在其中查看正在发生的事情。

1、将背景图像完美适配视口

让我们从比技巧更技巧的地方开始。 有多少次你不得不与你的背景图像斗争,以使其完美契合且又没有拉伸感和吸引力的情况?

立即学习“前端免费学习笔记(深入)”;

这里向你展示如何使你的背景图片始终完全适合浏览器窗口!

0.png

css

body {  background-image: url('https://images.unsplash.com/photo-1573480813647-552e9b7b5394?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2253&q=80');  background-repeat: no-repeat;  background-position: center;  background-attachment: fixed;  background-size: cover;  -webkit-background-size: cover;  -moz-background-size: cover;  -o-background-size: cover;}

事例源码:https://codepen.io/duomly/pen/xxwYBOE

2、在CSS中使用多个背景图片

嗯,如果我想在背景中添加一个以上的图像怎么办?

这是可能的,也不是很难,但是当你有了将两个图形混合成美丽的东西的想法时,可以得到一个不错的结果。

当我们想要在背景图像的顶部添加图案时,它是非常有用的,所以将在这个例子中向你展示这一点。

1.png

CSS3 中可以直接 指定多个背景路径,如下所示:

body {  background-image: url(https://image.flaticon.com/icons/svg/748/748122.svg), url(https://images.unsplash.com/photo-1478719059408-592965723cbc?ixlib=rb-1.2.1&auto=format&fit=crop&w=2212&q=80);  background-position: center, top;  background-repeat: repeat, no-repeat;  background-size: contain, cover;}

事例源码:https://codepen.io/duomly/pen/eYpVoJR

3、创建三角背景图像

另一个很酷的CSS背景图片技巧是三角形背景图片。它创造了非常漂亮的效果,尤其是当我们想展示某些完全不同的选择(例如白天和黑夜或冬天和夏天)时。

思路是这样的,首先创建两个div,然后将两个背景都添加到其中,然后,第二个div使用clip-path属性画出三角形。

2.png

html

  

css

body {  margin: 0;  padding: 0;}div {  position: absolute;  height: 100vh;  width: 100vw;}.day {  background-image: url("https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2613&q=80");  background-size: cover;  background-repeat: no-repeat;}.night {  background-image: url("https://images.unsplash.com/photo-1493540447904-49763eecf55f?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2250&q=80");  background-size: cover;  background-repeat: no-repeat;  clip-path: polygon(100vw 0, 0% 0vh, 100vw 100vh);}

事例源码:https://codepen.io/duomly/pen/RwWQmwW

4、在背景图像上添加叠加渐变

有时我们想在背景上添加一些文字,但有的图片太亮,导致字看不清楚,所以这里我们就需要让背景图叠加一些暗乐来突出文字效果。

例如,可以通过添加粉红橙色渐变或红色至透明渐变来增强日落图像,这些情况下使用叠加的渐变就很容易做到。

3.png

让我们看看如何轻松地向背景图像添加渐变叠加!

css

body {  background-image:     linear-gradient(4deg, rgba(38,8,31,0.75) 30%, rgba(213,49,127,0.3) 45%, rgba(232,120,12,0.3) 100%),    url("https://images.unsplash.com/photo-1503803548695-c2a7b4a5b875?ixlib=rb-1.2.1&auto=format&fit=crop&w=2250&q=80");  background-size: cover;  background-repeat: no-repeat;  background-attachment: fixed;  background-position: center}

事例源码:https://codepen.io/duomly/pen/rNOJgQE

5、创建变色背景图像动画

如果你能决定用哪种颜色作为背景图片的覆盖层会怎么样?那么背景图像上的动画是非常有用的。

使用一个动画叠加可以给你的网站一个伟大的最终效果,当然,人们会记住它。

让我们看看在CSS中使用背景图像和动画可以做什么!

4.gif

css

@keyframes background-overlay-animation {  0%   {      background-image:         linear-gradient(4deg, rgba(255,78,36,0.3) 50%, rgba(255,78,36,0.3) 100%), url("https://images.unsplash.com/photo-1559310589-2673bfe16970?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2250&q=80");  }  25%  {      background-image:          linear-gradient(4deg, rgba(213,49,127,0.3) 50%, rgba(213,49,127,0.3) 100%), url("https://images.unsplash.com/photo-1559310589-2673bfe16970?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2250&q=80");  }  50%  {    background-image:        linear-gradient(4deg, rgba(36,182,255,0.3) 50%, rgba(36,182,255,1) 100%),     url("https://images.unsplash.com/photo-1559310589-2673bfe16970?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2250&q=80");  }  100% {    background-image:         linear-gradient(4deg, rgba(0,255,254,0.3) 50%, rgba(0,255,254,0.3) 100%),        url("https://images.unsplash.com/photo-1559310589-2673bfe16970?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2250&q=80");  }}@-webkit-keyframes background-overlay-animation {  0%   {      background-image:         linear-gradient(4deg, rgba(255,78,36,0.3) 50%, rgba(255,78,36,0.3) 100%)        url("https://images.unsplash.com/photo-1559310589-2673bfe16970?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2250&q=80");  }  25%  {      background-image:          linear-gradient(4deg, rgba(213,49,127,0.3) 50%, rgba(213,49,127,0.3) 100%),        url("https://images.unsplash.com/photo-1559310589-2673bfe16970?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2250&q=80");  }  50%  {    background-image:        linear-gradient(4deg, rgba(36,182,255,0.3) 50%, rgba(36,182,255,1) 100%),     url("https://images.unsplash.com/photo-1559310589-2673bfe16970?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2250&q=80");  }  100% {    background-image:         linear-gradient(4deg, rgba(0,255,254,0.3) 50%, rgba(0,255,254,0.3) 100%),        url("https://images.unsplash.com/photo-1559310589-2673bfe16970?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2250&q=80");  }}body {   background-image: url("https://images.unsplash.com/photo-1559310589-2673bfe16970?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2250&q=80");  background-size: cover;  background-repeat: no-repeat;  background-attachment: fixed;  background-position: center;  animation-name: background-overlay-animation;  animation-duration: 5s;    animation-iteration-count: infinite;    animation-direction: alternate;    animation-timing-function: linear;}

事例源码:https://codepen.io/duomly/pen/gOavNOv

6、制作网格背景图片

有时候会遇到一些需要有艺术或者摄影类的项目,他们一般要求网站要有艺术信息,要有创意。网络的背景就挺有创意的,效果如下:

5.png

HTML

scss

body { margin: 0;  padding: 0;}.container {  position: absolute;  width: 100%;  height: 100%;  background: black;  display: grid;  grid-template-columns: 25fr 30fr 40fr 15fr;  grid-template-rows: 20fr 45fr 5fr 30fr;  grid-gap: 20px;  .item_img {    background-image: url('https://images.unsplash.com/photo-1499856871958-5b9627545d1a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2207&q=80');  background-repeat: no-repeat;  background-position: center;  background-attachment: fixed;  background-size: cover;}}

事例源码:https://codepen.io/duomly/pen/MWaQNWb

7、将背景图像设置为文本颜色

使用background-image与 background-clip ,可以实现背景图像对文字的优美效果。 在某些情况下,它可能非常有用,尤其是当我们想创建一个较大的文本标题而又不如普通颜色那么枯燥的情况。

6.gif

HTML

  

Hello world!

CSS

body {  display: flex;  align-items: center;  justify-content: center;  flex-direction: column;  width: 100%;  text-align: center;  min-height: 100vh;  font-size: 120px;  font-family:Arial, Helvetica, sans-serif;}h1 {   background-image: url("https://images.unsplash.com/photo-1462275646964-a0e3386b89fa?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2600&q=80");  background-clip: text;  -webkit-background-clip: text;  color: transparent;}

事例源码:https://codepen.io/duomly/pen/wvKyVjG

英文原文地址:https://dev.to/duomly/discover-7-amazing-tips-and-tricks-about-the-css-background-image-39b0

作者:ryanmcdermott

更多编程相关知识,请访问:编程入门!!

以上就是7个实用的CSS background-image小技巧的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1615821.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
css实现文字描边以及倒影效果
上一篇 2025年12月24日 05:06:31
深入浅析CSS 布局和 BFC
下一篇 2025年12月24日 05:06:37

相关推荐

  • laravel8 的优化点

    Laravel 8 针对性能优化提供了以下选项:缓存配置:使用 Redis 缓存驱动、缓存门面、缓存视图和页面片段。数据库优化:建立索引、使用查询范围、使用 Eloquent 关系。JavaScript 和 CSS 优化:使用版本控制、合并和缩小资产、使用 CDN。代码优化:使用 Composer …

    2026年8月29日
    100
  • iaravel 如何学习

    学习 Laravel 的步骤有:具备 PHP 基础知识。安装 Laravel 框架。了解 Laravel 架构。学习基本语法:路由、控制器、视图、模型。构建小型应用练习框架使用。参阅官方文档获取详细指引。加入社区交流心得、寻求帮助。保持更新,关注新特性。 如何学习 Laravel Laravel 是…

    2026年8月29日
    000
  • VSCode盒子背景怎么居中_VSCode界面元素居中显示教程

    答案:通过Zen模式结合手动调整窗口大小,可实现VSCode代码区域的视觉居中。进入Zen模式(Ctrl+K Z)隐藏非编辑元素,再将窗口拖窄并置于屏幕中央,使代码居中显示,提升专注度;也可使用“Centered Editor”类插件强制居中,或利用系统窗口管理功能优化布局。配合主题、字体、面板位置…

    2026年8月29日
    100
  • 如何解决Laravel项目中生成PDF文档的问题?spatie/laravel-pdf助你轻松实现!

    可以通过一下地址学习composer:学习地址 在 laravel 项目中,生成 pdf 文档是一个常见的需求,尤其是在需要生成报表、发票或其他文档时。然而,传统的生成 pdf 的方法往往复杂且难以实现现代化布局。最近,我在项目中遇到了这样的问题:需要生成一个包含复杂布局的发票 pdf,传统方法难以…

    用户投稿 2026年8月29日
    500
  • VSCode怎么编写地图定位_VSCode集成地图API开发位置服务应用教程

    答案是集成地图API实现定位需选择服务商、引入SDK、初始化地图并调用定位功能。具体为:在VSCode中创建Web项目,引入百度等地图API的SDK,通过HTML页面加载地图容器,使用JavaScript初始化地图实例,并结合浏览器Geolocation API或地图SDK自带控件获取位置,最后添加…

    2026年8月29日
    100
  • ThinkPHP 6 环境配置(Nginx/Apache + PHP 8)

    配置 thinkphp 6 环境需要在 nginx 或 apache 上结合 php 8 进行设置。1) nginx 配置:编辑 nginx.conf 文件,设置 server 块以正确处理 php 文件。2) apache 配置:在 httpd.conf 文件中添加 virtualhost 配置,…

    2026年8月29日
    200
  • Mac+IDEA+百度富文本UEditor

    Mac+IDEA+百度富文本UEditorMac+IDEA+百度富文本UEditorMac+IDEA+百度富文本UEditorMac+IDEA+百度富文本UEditor

    最近,我在项目中需要嵌入一个富文本编辑器,考虑到百度ueditor的强大功能,决定使用它。然而,从%ignore_a_1%+eclipse环境转到mac+idea后,遇到了几个问题。经过一番努力,终于解决了这些问题,现分享我的经验。 环境:Mac + IDEA + UEditor 基于 Maven+…

    2026年8月29日 用户投稿
    200
  • 如何解决HTML解析问题?使用paquettg/php-html-parser可以!

    可以通过一下地址学习composer:学习地址 在开发一个需要从网页中提取特定数据的项目时,我遇到了一个棘手的问题:如何高效地解析和操纵html内容。尝试了几种方法后,我发现这些方法要么过于复杂,要么不够灵活,无法满足我的需求。最终,我找到了paquettg/php-html-parser这个库,它…

    用户投稿 2026年8月29日
    400
  • VSCode怎么更改鼠标颜色_VSCode自定义鼠标指针颜色与样式教程

    答案:可通过修改VSCode设置自定义光标颜色、样式、粗细及闪烁方式以提升编码体验。具体包括在settings.json中配置editor.cursorStyle、editor.cursorWidth、editor.cursorBlinking,以及通过workbench.colorCustomiz…

    2026年8月28日
    100
  • 推荐几款好用的文本编辑器

    推荐几款好用的文本编辑器推荐几款好用的文本编辑器推荐几款好用的文本编辑器推荐几款好用的文本编辑器

    作为程序员,编写和查看代码是日常工作的重要部分。今天,我将为大家介绍几款实用的文本编辑器。 Sublime Text 是一款轻量、简洁、高效且跨平台的编辑器。 Sublime Text的特色功能包括: 出色的扩展功能,官方称为安装包(Package)。它没有传统的右侧滚动条,而是用代码缩略图代替,这…

    2026年8月28日 用户投稿
    200
  • 如何解决PHP中生成随机内容的问题?使用pragmarx/random库可以!

    可以通过一下地址学习composer:学习地址 在开发一个php项目时,我需要生成各种随机内容,包括字符串、数字和符合特定模式的文本。这个需求看似简单,但实际上却充满了挑战。最初,我尝试使用php的内置函数如rand()和mt_rand(),但这些函数生成的随机数不够安全,无法满足我的需求。此外,我…

    用户投稿 2026年8月28日
    100
  • 如何清理浏览器缓存_各浏览器缓存清除指南

    清理浏览器缓存是指删除浏览器为加速网页加载而存储的临时文件,如图片、css、javascript等;2. 主要目的是解决网页显示错乱、加载旧内容等问题,并释放硬盘空间;3. 操作核心是进入浏览器设置或使用快捷键,选择清除数据类型时务必勾选“缓存的图片和文件”;4. 不同浏览器操作路径略有差异:chr…

    2026年8月28日
    200
  • VSCode怎么建立外部样式_VSCode链接外部CSS文件方法教程

    首先创建style.css文件并编写样式,然后在HTML的head中通过link标签引入,最后用Live Server插件实现实时预览;若样式未生效,需检查路径、语法、优先级、缓存及HTML结构,并利用开发者工具调试;大型项目应按模块或页面拆分CSS,结合预处理器、BEM规范和CSS Reset提升…

    2026年8月28日
    200
  • 悟空浏览器如何设置打印网页时不带页眉页脚_悟空浏览器打印网页去掉页眉页脚方法

    在悟空浏览器中打印网页时,可通过打印预览设置取消页眉页脚:打开打印界面后展开更多设置并取消勾选“页眉和页脚”;2. 使用开发者工具添加CSS样式@media print { @page { margin: 0; } }可彻底去除页眉页脚及边距;3. 或将网页导出为PDF:选择虚拟PDF打印机并关闭页…

    2026年8月28日
    100
  • HTTP1.1与HTTP2的区别_HTTP1.1与HTTP2有哪些区别

    http/2通过多路复用在单个tcp连接上并行传输多个独立的数据流,每个流的数据被分割为带流id的二进制帧并交错发送,接收方根据流id重新组装,从而避免了http/1.1中因单个请求阻塞导致后续请求等待的队头阻塞问题;2. hpack头部压缩通过静态字典、动态字典和哈夫曼编码减少重复头部信息的传输量…

    2026年8月28日
    400
  • 如何进入调试模式_怎样启用开发者调试模式

    启用开发者调试模式的具体步骤因设备或软件环境而异,最常见的场景是网页浏览器和安卓设备;在chrome浏览器中可通过f12快捷键或右键“检查”开启开发者工具,其中包含元素、控制台、网络等调试功能;安卓设备需在“关于手机”中连续点击“版本号”七次以激活“开发者选项”,随后可启用usb调试等功能。2. 调…

    2026年8月27日
    200
  • SSL证书是什么_SSL证书申请方式有哪些

    SSL证书是什么_SSL证书申请方式有哪些SSL证书是什么_SSL证书申请方式有哪些SSL证书是什么_SSL证书申请方式有哪些SSL证书是什么_SSL证书申请方式有哪些

    SSL证书是网站安全的保障,通过加密技术保护数据传输,提升用户信任和搜索引擎排名。申请方式主要有从CA机构购买或通过云服务商获取免费/付费证书。根据网站类型选择合适的证书:DV适合个人网站,OV适合企业,EV适合高安全需求的金融类网站。手动配置较复杂,但云平台提供的一键部署功能可简化流程。免费证书虽…

    2026年8月27日 用户投稿
    300
  • 如何解决前端项目中的图标管理问题?使用Composer可以轻松集成BootstrapIcons

    可以通过以下地址学习Composer:学习地址 在前端开发中,图标的选择和管理一直是一个让人头疼的问题。最近在开发一个新项目时,我遇到了一个棘手的情况:项目中需要使用大量图标,但这些图标来自不同的来源,导致样式不统一,管理起来也非常复杂。这不仅影响了项目的美观度,还严重拖慢了开发进度。 为了解决这个…

    用户投稿 2026年8月27日
    100
  • 如何优雅地在LaravelBlade视图中使用图标?mallardduck/blade-boxicons助你轻松搞定!

    可以通过一下地址学习composer:学习地址 在现代 web 应用中,图标扮演着不可或缺的角色。它们不仅能美化界面,还能直观地传达信息,提升用户交互体验。然而,对于 laravel 开发者来说,将图标整合到 blade 视图中,却常常伴随着一些“甜蜜的烦恼”。 还记得那些日子吗?为了在项目中引入一…

    用户投稿 2026年8月27日
    100
  • Laravel与Livewire实现实时前端

    使用laravel和livewire实现实时前端可以通过以下步骤实现:1. 安装和配置livewire,使用composer安装并在视图中添加必要的样式和脚本;2. 创建livewire组件,使用命令行工具生成组件文件,并在其中定义属性和方法;3. 在laravel视图中使用livewire组件,实…

    2026年8月27日
    100

发表回复

登录后才能评论
关注微信