CSS 多重背景

在本章中,您将学习如何将多个背景图像添加到一个元素。

您还将学到以下属性:

  • background-size
  • background-origin
  • background-clip

CSS 多重背景

CSS 允许您通过 background-image 属性为一个元素添加多幅背景图像。

不同的背景图像用逗号隔开,并且图像会彼此堆叠,其中的第一幅图像最靠近观看者。

下面的例子有两幅背景图像,第一幅图像是花朵(与底部和右侧对齐),第二幅图像是纸张背景(与左上角对齐):

Mfano

#example1 {
  background-image: url(flower.gif), url(paper.gif);
  background-position: right bottom, left top;
  background-repeat: no-repeat, repeat;
}

Tafuta tena

多重背景图像可以使用单独的背景属性(如上所述)或 background Kifupi cha msingi kinachotumika kuangalia.

Mfano hii inatumia: background Kifupi cha msingi (ingia kama kipengeza kwenye mivuno hivi):

Mfano

#example1 {
  background: url(flower.gif) right bottom no-repeat, url(paper.gif) left top repeat;
}

Tafuta tena

Ukubwa wa Mlango wa Mabaki wa CSS

CSS background-size Inabakia inayopangulia ukubwa wa picha za mlango.

Inabakia kwa kufikiria ukubwa wa picha za mlango kwa uzani, nafasi au kutumiwa herufi za kwanza za kufikiria ukubwa wa picha za mlango:contain au cover.

Mfano hii inayoeleza ukubwa wa picha za mlango kwa ukubwa wa picha wa asili zaidi ya sana (kutumiwa piksi):

Lorem Ipsum Dolor

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.

Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Hii ni programu:

Mfano

#div1 {
  background: url(img_flower.jpg);
  background-size: 100px 80px;
  background-repeat: no-repeat;
}

Tafuta tena

background-size Mafanikio ya pili yanayoweza kutumiwa ni contain na cover.

contain inayoweza kumwengenea picha za mlango kwa ukubwa wa uwanja wa eneo la mabaki. Kwa hiyo, bila ya kumwengenea picha za mlango, mabaki ya mlango inayoweza kumwengenea zingekadiriwa kwa ukubwa wa picha za mlango.

cover inayoweza kumwengenea picha za mlango ili kufikiria ukubwa wa eneo la mabaki kwa uwanja wa picha za mlango. Kwa hiyo, sehemu za picha za mlango zingekadiriwa kwa eneo la ukingo wa mlango.

Mifano ya mifano: contain na cover Tukio la kutumiwa:

Mfano

#div1 {
  background: url(img_flower.jpg);
  background-size: contain;
  background-repeat: no-repeat;
}
#div2 {
  background: url(img_flower.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}

Tafuta tena

Kumekadiri ukubwa wa mabaki ya picha za mlango zaidi ya moja

Kumaliza mabaki mengi ya mlango,background-size Mafanikio hulipwa na uingizaji wa mafanikio mengi ya ukubwa wa mlango wa mabaki (kutumiwa orodha ya namna ya kosema kwa kipindi).

Mfano hii inayoeleza tatu picha za mlango, kila picha inaonekana kwa value ya background-size zaidi ya moja:

Mfano

#example1 {
  background: url(tree.png) left top no-repeat, url(flower.gif) right bottom no-repeat, 
  	url(paper.gif) left top repeat;
  background-size: 50px, 130px, auto;
}

Tafuta tena

全尺寸背景图像

现在,我们希望网站上的背景图像始终覆盖整个浏览器窗口。

具体要求如下:

  • 用图像填充整个页面(无空白)
  • 根据需要缩放图像
  • 在页面上居中图像
  • 不引发滚动条

下面的例子显示了如何实现它:使用 元素( 元素始终至少是浏览器窗口的高度)。然后在其上设置固定且居中的背景。最后使用 background-size 属性调整其大小:

Mfano

html {
  background: url(img_man.jpg) no-repeat center fixed; 
  background-size: cover;
}

Tafuta tena

Hero Image

您还可以在

上使用不同的背景属性来创建 Hero Image(带有文本的大图像),并将其放置在您希望的位置上。

Mfano

.hero-image {
  background: url(img_man.jpg) no-repeat center; 
  background-size: cover;
  height: 500px;
  position: relative;
}

Tafuta tena

Mafanikio ya background-origin ya CSS

CSS background-origin 属性指定背景图像的位置。

Hii mafuta inadai tatu tofauti:

  • border-box - 背景图片从边框的左上角开始
  • padding-box -背景图像从内边距边缘的左上角开始(默认)
  • content-box - 背景图片从内容的左上角开始

下面的示例展示了 background-origin Mafuta:

Mfano

#example1 {
  border: 10px solid black;
  padding: 35px;
  background: url(flower.gif);
  background-repeat: no-repeat;
  background-origin: content-box;
}

Tafuta tena

Mafanikio ya background-clip ya CSS

CSS background-clip 属性指定背景的绘制区域。

Hii mafuta inadai tatu tofauti:

  • border-box - Inaingiza mbili ya mbali kwenye mabaki ya mabaki ya mabaki (kwa ujumbe wa kuzingatia)
  • padding-box - Inaingiza mbili ya mbali kwenye mabaki ya mabaki ya mabaki (kwa ujumbe wa kuzingatia)
  • content-box - Inaingiza mbili ya mbali kwenye kufuatia mabali ya kikweli

Mifano ya mifano: background-clip Mafuta:

Mfano

#example1 {
  border: 10px dotted black;
  padding: 35px;
  background: yellow;
  background-clip: content-box;
}

Tafuta tena

Mafanikio ya mabaki ya kina ya kina

Mafanikio Maelezo
background Mafanikio ya kina ya mabaki ya mabaki
background-clip Kuzingatia eneo la mabaki
background-image Kumwambia kina au mabaki ya picha ya mabaki
background-origin Kuzingatia eneo la picha ya mabaki
background-size Kuzingatia ukubwa wa picha wa mabaki