整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

CSS 背景(background)

SS 可以添加背景颜色和背景图片,以及来进行图片设置。

  1. background-color 背景颜色
  2. background-image 背景图片地址
  3. background-repeat 是否平铺
  4. background-position 背景位置
  5. background-attachment 背景固定还是滚动
  6. 背景的合写(复合属性) background:背景颜色 背景图片地址 背景平铺 背景滚动 背景位置

背景图片(image)

语法:

background-image : none | url (url) 

参数:

none :  无背景图(默认的)

url :  使用绝对或相对地址指定背景图像

background-image 属性允许指定一个图片展示在背景中(只有CSS3才可以多背景)可以和 background-color 连用。 如果图片不重复地话,图片覆盖不到地地方都会被背景色填充。 如果有背景图片平铺,则会覆盖背景颜色。

小技巧: 我们提倡 背景图片后面的地址,url不要加引号。

背景平铺(repeat)

语法:

background-repeat : repeat | no-repeat | repeat-x | repeat-y 

参数:

repeat :  背景图像在纵向和横向上平铺(默认的)

no-repeat :  背景图像不平铺

repeat-x :  背景图像在横向上平铺

repeat-y :  背景图像在纵向平铺

设置背景图片时,默认把图片在水平和垂直方向平铺以铺满整个元素。

repeat-x :  背景图像在横向上平铺

repeat-y :  背景图像在纵向平铺

设置背景图片时,默认把图片在水平和垂直方向平铺以铺满整个元素。

背景位置(position)

语法:

background-position : length || length
​
background-position : position || position 

参数:

length :  百分数 | 由浮点数字和单位标识符组成的长度值。请参阅长度单位

position :  top | center | bottom | left | center | right

说明:

设置或检索对象的背景图像位置。必须先指定background-image属性。默认值为:(0% 0%)。

如果只指定了一个值,该值将用于横坐标。纵坐标将默认为50%。第二个值将用于纵坐标。

注意:

  1. position 后面是x坐标和y坐标。 可以使用方位名词或者 精确单位。
  2. 如果和精确单位和方位名字混合使用,则必须是x坐标在前,y坐标后面。比如 background-position: 15px top; 则 15px 一定是 x坐标 top是 y坐标。

实际工作用的最多的,就是背景图片居中对齐了。

背景附着

语法:

background-attachment : scroll | fixed 

参数:

scroll :  背景图像是随对象内容滚动

fixed :  背景图像固定

说明:

设置或检索背景图像是随对象内容滚动还是固定的。

背景简写

background属性的值的书写顺序官方并没有强制标准的。为了可读性,建议大家如下写:

background:背景颜色 背景图片地址 背景平铺 背景滚动 背景位置

background: transparent url(image.jpg) repeat-y scroll 50% 0 ;

背景透明(CSS3)

CSS3支持背景半透明的写法语法格式是:

background: rgba(0,0,0,0.3);

最后一个参数是alpha 透明度 取值范围 0~1之间

注意: 背景半透明是指盒子背景半透明, 盒子里面的内容不收影响。

导航栏案例

使用技巧:在一行内的盒子内,我们设定行高等于盒子的高度,就可以使文字垂直居中。

CSS中,背景样式主要包括背景颜色和背景图像。在传统的布局中,只能使用少数的标签来定义背景图像和背景颜色。但是随着Web2.0时代的到来,设置背景样式不再使用传统HTML属性来定义,转而使用无限制、更灵活的CSS来定义。

目标

  • 设置背景颜色
  • 设置背景图片
  • 操作背景图片样式


背景颜色-background-color

在CSS中,使用background-color属性来定义元素的背景颜色。


语法:background-color:颜色值;


说明:颜色值是一个关键字或一个16进制的RGB值。


HTML标签


背景颜色设置


效果


背景图像--background-image

在CSS中,使用background-image属性来定义元素的背景图片。

语法:background-image:url("图像地址");

说明:图像地址可以是相对地址,也可以是绝对地址。

注意:给某个元素设置背景图像,元素要有一定的宽度和高度,背景图片才会显示出来。如果设置的元素的宽高过小,背景图片就无法完整地显示出来了。


设置背景图片


效果


背景重复样式--background-repeat

在CSS中,使用background-repeat属性可以设置背景图像是否平铺,并且可以设置如何平铺。

语法:background-repeat:取值;

取值


当值是repeat,全屏覆盖

全屏覆盖


当值是repeat-x,x轴方向覆盖

x轴方向覆盖


当值是repeat-y,y轴方向覆盖

y轴方向覆盖


当值是no-repeat,不复制

不复制


背景图片位置--background-position

在CSS中,使用background-position设置背景图像的位置

语法:background-positon:像素值/关键字;

说明:语法中的取值包括两种,一种是采用像素值,另一种是关键字描述。


1. 像素值

要设置水平方向数值(x轴)和垂直方向数值(y轴),参数如下

取值


假设设置一个距离左上角水平方向100px,垂直方向100px

背景图片位置设置


效果如下

效果


2. 关键字

当background-position取值为关键字时,也需要设置水平方向和垂直方向的值,只不过值不是使用px为单位的数值,而是使用关键字代替。

取值


假设我们要设置一个水平方向、垂直方向都居中的位置,就可以这样设置

背景图片位置设置


这样他就永远都处于屏幕的正中间

效果


背景固定样式--background-attachment

在CSS中,使用背景附件属性background-attachment可以设置背景图像是随对象滚动还是固定不动

语法:background-attachment:scroll/fixed;

说明:background-attachment 属性只有2个属性值。scroll表示背景图像随对象滚动而滚动,是默认选项;fixed表示背景图像固定在页面不动,只有其他的内容随滚动条滚动。

背景固定设置


效果


总结

日常开发中,我们有时候需要获取某个元素的背景图片URL。在本文中,我将向大家介绍如何使用JavaScript来实现这一需求。

获取元素背景图片URL的JavaScript方法

要获取元素的背景图片URL,我们可以使用getComputedStyle方法来获取background-image的CSS属性值。

举个例子,如果我们有如下HTML代码:

<div style="background-image:url('http://www.example.com/img.png');">...</div>

我们可以通过以下JavaScript代码来获取背景图片的URL:

const div = document.querySelector('div');
const style = window.getComputedStyle(div, false);
const bi = style.backgroundImage.slice(4, -1).replace(/"/g, "");
console.log(bi);

下面我们来逐步解析这段代码的实现原理:

  1. 选择元素:我们使用document.querySelector方法来选择目标div元素。
  2. 获取计算后的样式:通过调用window.getComputedStyle方法并传入选中的元素,我们可以获取该元素的所有计算后的CSS样式值,这些值存储在一个对象中。
  3. 提取背景图片URL:使用style.backgroundImage属性可以获取到background-image的完整值,例如url("http://www.example.com/img.png")。我们使用slice(4, -1)方法来截取字符串中的URL部分,然后通过replace(/"/g, "")方法去除字符串中的引号。

最终,我们得到的bi变量值就是背景图片的URL:

'https://www.example.com/img.png'

结束

通过使用JavaScript中的getComputedStyle方法,我们可以轻松获取到元素的背景图片URL。这对于动态处理样式或者进行其他基于背景图片的操作非常有帮助。

如果你觉得本文对你有帮助,别忘了点赞并分享给更多需要的朋友!有任何问题或建议,欢迎在评论区留言,我们一起讨论学习!