CSS-background

64 阅读2分钟

background-image

background-image用于设置元素的背景图片,会盖在(不是覆盖)background-color的上面;

如果设置了多张图片,设置的第一种图片会显示在最上面,其他图片会按照顺序层叠在下面;

注意:如果设置了背景图片后,元素没有具体的宽高,那么背景图片是不会显示的;

因此对于【行内非替换】需要将display:inline-block才能设置宽高,这样背景图才会生效;

background-repeat

image.png

平铺:如果图片没有元素大,那么图片就会平铺至和元素一样的大小(会生成多张图片平铺至元素大小);

image.png

background-size

image.png

background-size:contain:会将宽度或高度拉满至元素大小,同时也会等比例拉,但是当宽度/高度满,就不会再拉了,也就说:其中有一个可能不会被拉满;

background-size:cover:将高度拉满,但是宽度会溢出,一旦溢出就看不见;

background-size:100% 100%:图片完美填充,但是图片可能会扭曲;

background-position

background-position:用于设置背景图片在水平、垂直方向上的具体位置;

  • 可以设置具体的数值:20px 30px;
  • 水平方向可以设置:left、center、right;
  • 垂直方向可以设置:top、center、bottom;
  • 如果只设置了1个方向,那么另一个方向默认是center
//背景图片居中显示,先水平后垂直
background-position:center center;

将背景图居中后,窗口缩小也一定会显示中间部分的内容;在开发中很常见;

image.png

background-attachment(了解)

background-attachment:决定背景图片的位置是在视口内固定,或者随着包含它的区块滚动;

image.png

当内容太多的时候,会有一个滚动条,通过设置background-attachment:local这样内容滚动,背景图也会滚动;

background

background是一系列背景相关属性的简写属性。

image.png

background-image和img对比

image.png

CSS Sprite是精灵图的意思,background-image专门用来做精灵图的;