background-image使用

Posted *阳*

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了background-image使用相关的知识,希望对你有一定的参考价值。

目录

background-image: url(" ");

background-repeat属性(背景平铺)

background-size属性(设置背景图片大小) 

background-position属性(背景图片位置)

1.background-image: url(" ") ;

首先要知道background-image是将图片作为背景,使用方法为:

background-image: url("") ;

其次是关于图片路径问题,

如果该css文件和背景图片在同一文件夹存在且并不包含于其他文件夹那么直接填写back.jpg;background-image:url(back.jpg);


如果该css文件和背景图片在同一文件夹存在且图片包含于其他文件夹(ws)那么填写ws/back.jpg;   background-image:url(ws/back.jpg);


如果该css文件和背景图片不在同一文件夹下,(背景图片在demo文件下,而demo文件夹和css文件所在文件夹并列)那么填写../demo/back.jpg;

background-image:url(../demo/back.jpg);

对于css文件所在目录来说:

“../”表示上一级目录开始 
“./”表示当前同级目录开始 
“/”表示根目录开始。
“../../  ”表示源文件所在目录的上上级目录

例如:

background-image: url("../assets/back1.jpg") ;

我想要用back1这张图片,这张图片在assets文件里,css文件在components文件里,可以看到 assets文件和components文件属于同级目录,所以路径就是: url("../src/assets/back1.jpg")

2.然后就是一些与之相关的其他属性:

background-repeat属性(背景平铺)

repeat                默认值,在水平方向和垂直方向都重复(默认值)
no-repeat          不重复背景图像
repeat-x            只有水平位置会重复背景图像
repeat-y            只有垂直方向会重复背景图像

background-size属性(设置背景图片大小) 

例如:

.body
  width: 100%;
  height: 100%;
  background-image: url("../assets/back1.jpg") ;
  background-size: 200px 80px;

这里的宽为200px,高为80px

也可以将大小设置为百分比(百分比:background-size:40% 60%;不过需要注意的是,图片大小不是按背景图片大小的百分数来计算的,而是装载背景图的元素的百分比来计算。)

还可以是cover和contain。
cover:保持图像的宽高比例,将图片缩放到正好完全覆盖定义的背景区域,其中有一边和背景相同contain保持图像的宽高比例,将图片缩放到宽或者高正好适应定义背景的区域,但背景仍在定义的区域之内,被包含

 background-position属性(背景图片位置)

有三种方法:

x(长度)y(长度)
第一个值是水平位置,第二个值是垂直位置。左上角是0。单位可以是像素(0px 0px)或任何其他 css单位。如果仅指定了一个值,其他值将是50%。将背景图像的左上角,放置在对象背景区域(x,y)所指定的位置,即定义的是背景图片的左上角相对于背景区域左上角的偏移量


x% y% 第一个值是水平位置,第二个值是垂直位置。左上角是0%0%。右下角是100%100%。如果仅指定了一个值,其他值将是50%。 默认值为:0%0%

直接指定位置  (center、top、bottom、left、right)

background-image使用svg如何改变颜色

结论

在我多番测试之后,才发现background-image使用svg,改变颜色根本做不了。

分析
当svg图片被使用成background-image,颜色的设置需要在svg内部才能生效。在外部CSS设置颜色样式,却是无效,这其实可以从CSS选择器得到解释,CSS选择器必须选择到DOM元素,而svg却被做成背景图,并没有以元素引入,所以在外部也就设不了颜色。

例子

CSS:

i {
    display: inline-block;
    width: 100px;
    height: 100px;
}
.icon-del{
    background-image: url(delete.svg);
}
.st0{fill:#EC665E;}
.st1{fill:#FFFFFF;}

HTML:

<i class="icon-del"></i>

SVG:

<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
      viewBox="-691 693 16 16" style="enable-background:new -691 693 16 16;" xml:space="preserve">
<title>删除群成员</title>
<desc>Created with Sketch.</desc>
<g id="Page-1">
     <g id="群组名片成员_x28_管理员_x29_" transform="translate(-284.000000, -249.000000)">
          <g id="Group-19">
               <g id="Group-14" transform="translate(20.000000, 120.000000)">
                    <g id="群成员-copy-4" transform="translate(0.000000, 121.000000)">
                         <g id="删除群成员" transform="translate(264.000000, 8.000000)">
                              <g id="Group" transform="translate(2.000000, 2.000000)">
                                   <g id="Oval-9">
                                        <circle class="st0" cx="-685" cy="699" r="6"/>
                                   </g>
                                   <g id="Path-2">
                                        <path class="st1" d="M-681,700h-8c-0.6,0-1-0.4-1-1s0.4-1,1-1h8c0.6,0,1,0.4,1,1S-680.4,700-681,700z"/>
                                   </g>
                              </g>
                         </g>
                    </g>
               </g>
          </g>
     </g>
</g>
</svg>

 

以上是关于background-image使用的主要内容,如果未能解决你的问题,请参考以下文章

记录一个使用background-image方式展示图片实现Hover平滑缩放效果的技巧

外联css中,background-image的图片相对地址是相对css文件还是相对使用的使用外联css的html文件

在css里使用background-image:url(图片地址)没有反应,但是在标签body里添

background-image中url使用绝对地址不显示图片,相对地址要怎么使用,用的是内部样式

CSS难题:background-image和border-image同时使用时,background-image会被border-image盖住,怎么解决

background-image背景图片怎么用css缩小