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)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 05:06:31
下一篇 2025年12月24日 05:06:37

相关推荐

  • 深入浅析CSS 布局和 BFC

    CSS布局中有一些概念,一旦你理解了它们,就能真正提高你的 CSS 布局能力。本文是关于块格式化上下文(BFC)的。你可能从未听说过这个术语,但是如果你曾经用CSS做过布局,你可能知道它是什么,理解什么是 BFC,怎么工作以及如何创建 BFC 非常有用,这些可以帮助你理解CSS中的布局是如何工作的。…

    2025年12月24日 好文分享
    000
  • css实现文字描边以及倒影效果

    描边: 主流浏览器都支持 (推荐教程:css视频教程) -webkit-text-stroke: ;-webkit-text-stroke:4px pink;/*描边宽度4px,字体颜色粉红*/ 倒影:谷歌、safari、opera支持,火狐不支持 -webkit-box-reflect: ;-we…

    2025年12月24日
    000
  • 16 个CSS开发中需要了解的DevTools技巧

    大多数开发者基本都使用浏览器的开发者工具调试前端,但即使用了好几年 Chrome 的开发者工具,我仍然会遇到从未见过的技巧和功能。 在本文中,我写了许多在开发者工具中与 CSS 相关的功能和技巧,我认为它们将把你的 CSS 开发水平提升至一个新的台阶。其中一些技巧不仅仅针对 CSS,但是我还是把它们…

    2025年12月24日 好文分享
    000
  • css如何实现对号效果

    实现对号效果,一种思路是利用现成的符号,直接在网上搜索到 √,插入页面。另一种思路是本文要介绍的用 CSS 实现,思路是: (相关推荐:css视频教程) 给块级元素设置宽度和高度 设置元素相邻的两个 border 立即学习“前端免费学习笔记(深入)”; 旋转元素 HTML 解析: 此处需要使用块级元…

    2025年12月24日
    000
  • css如何控制元素的显示与隐藏

    属性介绍: (推荐教程:css视频教程) 1. display属性 display属性用于设置一个元素应如何显示。 立即学习“前端免费学习笔记(深入)”; display: none; 隐藏对象display: block; 除了转换为块级元素之外,同时还有显示元素的意思 display隐藏元素后,…

    2025年12月24日
    000
  • 了解一些 提高前端开发效率的 CSS 属性选择器

    (推荐教程:CSS教程) 属性选择器非常神奇。它们可以使你摆脱棘手的问题,帮助你避免添加类,并指出代码中的一些问题。但是不要担心,虽然属性选择器非常复杂和强大,但是它们很容易学习和使用。在本文中,我们将讨论它们是如何运行的,并给出一些如何使用它们的想法。 通常将 HTML 属性放在方括号中,称为属性…

    2025年12月24日
    000
  • 详细介绍CSS计数器

    css计数器效果是指使用CSS代码实现随元素的数目增多, 数值也跟着变大的效果, 有点类似于 , 但是比ol更灵活。 (推荐教程:css视频教程) CSS计数器有两个属性 (counter-reset 和 counter-increment) 和一个方法 (counter() / counters(…

    2025年12月24日 好文分享
    000
  • 如何利用css改变input光标颜色

    具体方法如下: (推荐教程:css视频教程) 1、使用color来实现 光标的颜色是继承自当前输入框字体的颜色,所以用color属性即可改变: 立即学习“前端免费学习笔记(深入)”; input{ color:red;} 2、使用caret-color来实现 上一种方式已经修改了光标的颜色但是字体的…

    好文分享 2025年12月24日
    000
  • css样式重置

    对CSS重置的个人理解: (推荐教程:css视频教程) 首先,我觉得像我一样对于理解概念无感,容易混淆的前端小白要清楚什么是css重置样式,就要弄清楚两个概念:CSS Reset以及css重置(其实概念很相近,但是还是有所区别的),不然傻傻只知道css样式要重置,知其然不知其所以然,这对于我这种对概…

    2025年12月24日
    000
  • css给图片添加水印

    目的: 给一些图片加上水印。 (学习视频推荐:css视频教程) 图片和水印展示区域 立即学习“前端免费学习笔记(深入)”; 样式 .watermark-image { position: relative; width: 300px; height: 300px; background: url(‘…

    2025年12月24日
    000
  • css实现div背景色闪烁效果

    我们先来看下效果图: (视频教程推荐:css视频教程) 代码实现: 立即学习“前端免费学习笔记(深入)”; @keyframes fade { from { opacity: 1.0; } 50% { opacity: 0.0; } to { opacity: 1.0; }}.headerBox {…

    2025年12月24日
    000
  • css如何实现Tab切换

    方法一、利用a标签的锚点实现tab切换 (推荐教程:CSS教程) 代码如下: cssTab切换2 *{ margin: 0; padding: 0; text-decoration: none; } .tab{ width: 300px; height: 300px; margin: 30px au…

    2025年12月24日
    000
  • 如何利用css画出一个三角形

    首先我们来看一下效果图: (视频教程推荐:css视频教程) 实现代码: /* css3绘制三角形 */ .triangle{ width: 0px; /*设置宽高为0,所以div的内容为空,从才能形成三角形尖角*/ height: 0px; border-bottom: 200px solid #0…

    2025年12月24日 好文分享
    000
  • css中”:“和”::“有什么区别么

    区别:一个冒号是伪类,两个冒号是伪元素。 (推荐教程:CSS教程) 伪类可以独立于文档的元素来分配样式,且可以分配给任何元素,逻辑上和功能上类类似,但是其是预定义的、不存在于文档树中且表达方式也不同,所以叫伪类。 伪元素所控制的内容和一个元素控制的内容一样,但是伪元素不存在于文档树中,不是真正的元素…

    2025年12月24日
    000
  • css中@有哪些用法

    CSS代码中经常会有@命令的应用,且功能多样。语法结构基本是一致的,@后面紧跟一个关键字,用于规定各自的功能。 at-rule是一个声明,为CSS提供执行或怎么表现的指令。每个声明以@开头,后紧跟一个可用的关键字,这个关键字充当一个标识符,用于表示CSS该做什么。这是一个通用的语法,尽管每个at-r…

    2025年12月24日
    000
  • css设置背景透明度有什么方式

    实现背景透明有多种方式,本文为大家介绍以下两种方式: (相关教程推荐:CSS教程) css3的opacity:x,x 的取值从 0 到 1,如opacity: 0.8 css3的rgba(red, green, blue, alpha),alpha的取值从 0 到 1,如rgba(255,255,2…

    2025年12月24日
    000
  • css如何设置相邻单元格边框之间的距离

    我们先来看下实现效果: (推荐教程:CSS教程) 可以利用 border-spacing 属性来设置相邻单元格的边框间的距离(仅用于“边框分离”模式)。 立即学习“前端免费学习笔记(深入)”; 具体代码: border-collapse: separate;border-spacing: 0px 1…

    2025年12月24日
    000
  • css实现卡片式图片效果

    首先我们来看一下效果图: (推荐教程:CSS教程) html代码: 立即学习“前端免费学习笔记(深入)”; @@##@@ 打破企业间壁垒,提供便捷的接入方式,实现不企业,不同品牌、不同类型间的家电的数据互联互通和数据协同 css代码: .card img { width: 100%;}.card{ …

    2025年12月24日
    000
  • css如何为div添加阴影效果

    本文为大家分享了css为div添加阴影的方法,希望可以帮助到大家。 (相关推荐:CSS教程) 代码实现: .mydiv{ width:250px; height:auto; border:#909090 1px solid; background:#fff; color:#333; filter:p…

    2025年12月24日
    000
  • 纯css代码实现简单下拉菜单效果

    实现方法: (推荐教程:CSS教程) 1、用ul 和 li标签写一个关联结构(ul 和 li的父子关系浑然天成,一般的关联结构都用它们) 服装 衬衫 棉袄 裤衩 2、对界面进行初始化(万金油式开头) 立即学习“前端免费学习笔记(深入)”; *{ padding: 0; margin: 0; } 3、…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信