CSS background Image 好用7个技巧与代码示例

2020-05-2716:16:45网页制作Comments1,771 views字数 5152阅读模式

背景图像可能是我们所有前端开发人员在我们的职业生涯中至少使用过几次的CSS属性之一。大多数人认为背景图像不可能有任何不寻常的地方,但经过研究,答案并非如此。所以本文收集了七个我认为最有用的技巧,并创建了一些代码示例。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

1.背景图如何才能完美适配视口

让背景图适配视口很容易,需要使用下面 CSS 即可:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

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;
}
复制代码
CSS background Image 好用7个技巧与代码示例

事例源码:codepen.io/duomly/pen/…文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

2.如何在CSS中使用多个背景图片?

如果我想在背景中添加一张以上的图片怎么办?CSS3 中可以直接 指定多个背景路径,如下所示:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

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;
}
复制代码
CSS background Image 好用7个技巧与代码示例

事例源码:codepen.io/duomly/pen/…文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

3.如何创建一个三角形的背景图像

另一个很酷的背景特效就是三角形背景,当我们想展示某些完全不同的选择(例如白天和黑夜或冬天和夏天)时,这种特效就更加棒。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

思路是这样的,首先创建两个div,然后将两个背景都添加到其中,然后,第二个div使用clip-path属性画出三角形。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

CSS background Image 好用7个技巧与代码示例

「html」文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

<body>
  <div class="day"></div>
  <div class="night"></div>
</body>
复制代码

「css」文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

body {
  margin: 0;
  padding: 0;
}

div { position: absolute; height: 100vh; width: 100vw; }文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

.day { background-image: url("images.unsplash.com/photo-14779…"); background-size: cover; background-repeat: no-repeat; }文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html


复制代码

.night {
background-image: url("images.unsplash.com/photo-14935…");
background-size: cover;
background-repeat: no-repeat;
clip-path: polygon(100vw 0, 0% 0vh, 100vw 100vh);
}
复制代码
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

源码:codepen.io/duomly/pen/…文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

4.如何在背景图像上添加叠加渐变?

有时我们想在背景上添加一些文字,但有的图片太亮,导致字看不清楚,所以这里我们就需要让背景图叠加一些暗乐来突出文字效果。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

例如,可以通过添加粉红橙色渐变或红色至透明渐变来增强日落图像,这些情况下使用叠加的渐变就很容易做到。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

CSS background Image 好用7个技巧与代码示例

「css」文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

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://www.cainiaoxueyuan.com/zhizuo/19312.html

源码:codepen.io/duomly/pen/…文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

5.如何创建一个颜色动态变化的背景

如果你很多颜色,你想确认哪种颜色更适合背景图片的颜色,刚动态更改背景颜色的技巧就很有用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

「css」文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

HTML CSSResult
EDIT ON
@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("images.unsplash.com/photo-15593…"); } 25% { background-image: linear-gradient(4deg, rgba(213,49,127,0.3) 50%, rgba(213,49,127,0.3) 100%), url("images.unsplash.com/photo-15593…"); } 50% { background-image: linear-gradient(4deg, rgba(36,182,255,0.3) 50%, rgba(36,182,255,1) 100%), url("images.unsplash.com/photo-15593…"); } 100% { background-image: linear-gradient(4deg, rgba(0,255,254,0.3) 50%, rgba(0,255,254,0.3) 100%),文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html


复制代码

复制代码文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

CSS background Image 好用7个技巧与代码示例

源码:codepen.io/duomly/pen/…文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

6. 如何制作网格背景图像?

有时候会遇到一些需要有艺术或者摄影类的项目,他们一般要求网站要有艺术信息,要有创意。网络的背景就挺有创意的,效果如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

CSS background Image 好用7个技巧与代码示例

「HTML」文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

<body>
<div class="container">
  <div class="item_img"></div>
  <div class="item"></div>
  <div class="item_img"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item_img"></div>
  <div class="item"></div>
  <div class="item_img"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item_img"></div>
  <div class="item"></div>
  <div class="item_img"></div>
  <div class="item"></div>
  <div class="item_img"></div>
  <div class="item"></div>
</div>
</body>
复制代码

「scss」文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

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('images.unsplash.com/photo-14998…');
background-repeat: no-repeat;
background-position: center;
background-attachment: fixed;
background-size: cover;
}
}
复制代码
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

源码:codepen.io/duomly/pen/…文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

7.如何将背景图像设置为文本颜色?

使用background-imagebackground-clip,可以实现背景图像对文字的优美效果。 在某些情况下,它可能非常有用,尤其是当我们想创建一个较大的文本标题而又不如普通颜色那么枯燥的情况。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

CSS background Image 好用7个技巧与代码示例

「HTML」文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

<body>
  <h1>Hello world!</h1>
</body>
复制代码

「SCSS」文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

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("images.unsplash.com/photo-14622…");
background-clip: text;
-webkit-background-clip: text;
color: transparent;
}
复制代码
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

源码:codepen.io/duomly/pen/…文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

作者:前端小智
链接:https://juejin.im/post/5ec32182e51d454dea6feeb8
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/19312.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/zhizuo/19312.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定