Rumah > hujung hadapan web > tutorial css > Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

青灯夜游
Lepaskan: 2022-08-03 16:44:41
ke hadapan
5973 orang telah melayarinya

Apabila membuat halaman web, kita selalunya perlu menambah beberapa warna latar belakang dan imej latar belakang pada halaman web untuk menjadikan halaman web lebih cantik dan menarik perhatian pelawat. CSS menyediakan satu siri sifat untuk menetapkan kesan latar belakang elemen HTML Dalam artikel ini, kita akan bercakap tentang sifat latar belakang CSS saya harap ia akan membantu anda.

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

Sifat latar belakang CSS

  • (Latar Belakang)
Untuk Nama atribut versi CSS Sokongan penyemak imbas 1 Tetapkan
用于 属性名 CSS 版本 浏览器支持
1.在一个声明中设置 所有的背景属性 background 1 IE8- 不支持多个背景图像。IE7- 不支持"inherit"。
2.背景图像是否 固定或者随着页面的其余部分 滚动 background-attachment 1 IE 不支持属性值 “inherit”。
3.元素的 背景颜色 background-color 1 IE 不支持属性值 “inherit”。
4.元素的 背景图像 background-image 1 IE 不支持属性值 “inherit”。
5.背景图像的 开始位置 background-position 1 IE 不支持属性值 “inherit”。
6.是否及如何 重复背景图像。 background-repeat 1 IE 不支持属性值 “inherit”。
7.背景的 绘制区域 background-clip 3 都支持,IE8- 不支持。
8.背景图片的 定位区域 background-origin 3 都支持,IE8- 不支持。
9.背景 图片的尺寸 background-size 3 都支持,IE8- 不支持。
dalam pernyataan Semua sifat latar belakang . latar belakang 1 IE8- Tidak menyokong berbilang imej latar belakang. IE7 - "warisan" tidak disokong. 2 Adakah imej latar belakang ditetapkan atau menatal dengan selebihnya. muka surat . lampiran latar belakang 1IE tidak menyokong nilai atribut "inherit". 3. warna latar belakang elemen. warna latar belakang 1IE tidak menyokong nilai atribut "inherit". 4. imej latar belakang 1IE tidak menyokong nilai atribut "inherit". 5. Kedudukan permulaan imej latar belakang. kedudukan latar belakang 1IE tidak menyokong nilai atribut "inherit". 6 Sama ada dan cara mengulang imej latar belakang. background-repeat 1IE tidak menyokong nilai atribut "inherit". 7. kawasan lukisan Latar Belakang. klip latar belakang 3disokong, tetapi IE8- tidak menyokongnya. 8 Kawasan penentududukan imej latar belakang. latar belakang-asal 3disokong, tetapi IE8- tidak menyokongnya. 9 Latar Belakang Saiz imej. saiz latar belakang 3disokong, tetapi IE8- tidak menyokongnya.

1. Atribut latar belakang: Tentukan 8 atribut berkaitan latar belakang sekaligus

  • Isi penting:
    • Warna latar belakang
    • Kedudukan imej latar belakang
    • Saiz imej latar belakang
    • Ulangan imej latar belakang
    • Kedudukan kedudukan imej latar belakang
    • Kawasan lukisan latar belakang
    • Imej latar belakang Tetap dan menatal
    • Imej latar belakang untuk digunakan
    • Diwarisi daripada
<style>
    body
    { 
    background: #ff0000 url(/i/eg_bg_03.gif) no-repeat fixed center; 
    }
</style>
Salin selepas log masuk
  • satu Elemen dengan berbilang imej latar belakang disokong oleh

    • IE8 dan penyemak imbas terdahulu tidak menyokong
    • , yang bermaksud menyatakan alamat sumber setiap imej latar belakang
  • background Atribut "inherit" Penyemak imbas menyokong

    • IE7 dan penyemak imbas terdahulu tidak menyokong "inherit ".
    • IE8 memerlukan !DOCTYPE.
    • IE9 menyokong “inherit”.

  • ⑶ Dalam satu pengisytiharan, menetapkan semua sifat latar belakang .
    • Takrifan terpusat bagi atribut disingkatkan : Ia ialah CSS atribut singkatan , digunakan untuk mentakrifkan pelbagai atribut latar belakang secara berpusat pada satu masa, termasuk color, image, origin dan size, repeat kaedah dll. [Pembelajaran yang disyorkan: tutorial video css]
      • Latar Belakangbackground Atribut singkatan
      • Atribut latar belakang
      • mengandungi 8 atribut latar belakang yang lain

  • Nilai atribut latar belakangbackground
    • Mengandungi 8 atribut latar belakang yang lain
      • Anda boleh menetapkan atribut dan nilai atribut berikut:
        • Nilai atribut berbilang dipisahkan dengan ruang
        • Pemisahan lapisan latar belakang: Apabila menentukan berbilang lapisan latar belakang, gunakan koma untuk memisahkan setiap lapisan latar belakang
          • ialah atribut singkatan CSS yang digunakan untuk mentakrifkan pelbagai atribut latar belakang secara berpusat pada satu masa, termasuk color, image, origin dengan size, repeat cara dan sebagainya. (Anda boleh memahami maksud setiap atribut dengan mengkaji kandungan berikut terlebih dahulu)
            • warna latar belakang
            • kedudukan latar belakang
            • saiz latar belakang
            • latar belakang -ulang
            • latar belakang-asal
            • latar-klip
            • latar-lampiran
            • latar-belakang
            • warisi
              • Warisi
      • Nilai atribut latar belakangbackground diabaikan
        • Jika anda tidak menetapkan salah satu nilai, tiada masalah
        • Sebagai contoh, background:#ff0000 url('smiley.gif'); juga dibenarkan.
      • Singkatan latar belakang Nilai lalai
        • tidak dinyatakan Nilai lalai tertentu
        • tidak dinyatakan
        • Untuk semua sifat trengkas, sebarang nilai yang tidak ditentukan akan ditetapkan kepada nilai awalnya.

  • Sintaks untuk setiap lapisan latar belakang
    • Dalam setiap lapisan, nilai berikut boleh muncul 0 atau 1 kali:
      • Setiap lapisan latar belakang, atribut yang hanya boleh muncul sekali sahaja
        • ① Imej latar belakang Dibetulkan dan menatal: background-attachment
        • ② Imej latar belakang: background-image
        • ③ Kedudukan imej latar belakang: background-position
        • background-size
        • ⑤ Kaedah pengulangan imej latar belakang: background-repeat

  • Lokasi kod terhad
    • background-size lokasi kod
      • background-size hanya boleh muncul sejurus selepas kedudukan latar belakang background-position, belah /
          dengan "
        • ", seperti: "center/80%".
    • background-clip dan background-origin masa yang mungkin
      • 0 kali, 1 kali atau 2 kali (sehingga dua kali)
        • Jika ia muncul 1 kali:
          • ia menetapkan kedua-duanya background-origin dan background-clip.
        • Jika muncul 2 kali:
          • Kejadian pertama ditetapkan kepada background-origin, kejadian kedua ditetapkan kepada background-clip.
    • Warna Latar Belakang background-color Lokasi Kod
      • hanya boleh disertakan dalam lapisan latar belakang akhir.
      • hanya boleh ditakrifkan pada atribut background terakhir , kerana keseluruhan elemen hanya mempunyai satu warna latar belakang .

  • Warisan latar belakangbackground

      Tidak mewarisi
    • no
  • Cuba gunakan latar belakang atribut background

    • 设置背景 技巧: 建议使用 简写属性,而不是使用 单个属性
    • 旧浏览器的支持好: 这个简写属性, 在较老的浏览器中能够得到 更好的支持
    • 代码少: 需要键入的 字母也更少。
  • 背景简写background的版本

    • CSS1 + CSS3
  • 背景简写background 的JavaScript 语法

    • object.style.background="white url(paper.gif) repeat-y"

  • 背景简写background的 浏览器支持

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


  • 示例1: 背景相关的属性 在一个属性background中 集中定义.
p{

	/*background-image: url(../images/四叶草背景.png);*/
	/*background-repeat: no-repeat;*/


	/*第一个值 水平位置,第二个值 垂直位置*/
	/*background-position: 50px 100px;	*/


    /*背景固定*/
	/*background-attachment: fixed;*/
	/*background-color: yellow;	*/

	background: url(../images/四叶草背景.png) no-repeat 50px 100px;

}
Salin selepas log masuk

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


2. background-color 属性: 元素的 背景颜色 (纯色,范围到 边框区的 外边缘)

  • 元素的 背景颜色: background-color  
    • 设置元素的 背景颜色    
      • 会设置元素的 背景色, 属性的值为 颜色值或关键字"transparent"二者选其一.
      • 设置一种 纯色
    • 使用 background-color 属性
    • 背景颜色 属性

  • 背景颜色的 填充范围  
    • 元素的 内容内边距边框区域    
      • ① 扩展到元素 边框的 外边界      
        • (但不包括 外边距)。
      • ② 如果 边框 有透明 部分(如 虚线 边框)
        • 会透过这些 透明部分 显示出背景色

  • 背景颜色 语法

    • background-color:color_name red |hex_number #ff0000| rgb_number rgb(255,0,0)| transparent| inherit;
  • 语法示例

/* 关键字 或 颜色名 Keyword values */
background-color: red;
background-color: indigo;

/* 十六进制值 Hexadecimal value  (设置透明值 和 不设置 不透明值) */
background-color: #bbff00;    /* 完全不透明 Fully opaque (不设置 不透明值)*/
background-color: #bf0;       /* 完全不透明的 简写 Fully opaque shorthand (不设置 不透明值)*/
background-color: #11ffee00;  /* 完全透明 Fully transparent (设置 不透明值)*/
background-color: #1fe0;      /* 完全透明的 简写 Fully transparent shorthand (设置 不透明值) */
background-color: #11ffeeff;  /* 完全不透明 Fully opaque (设置 不透明值)*/
background-color: #1fef;      /* 完全不透明的 简写 Fully opaque shorthand (设置 不透明值) */

/* RGB value */
background-color: rgb(255, 255, 128);        /* 完全不透明 Fully opaque */
background-color: rgba(117, 190, 218, 0.5);  /* 50%透明 50% transparent (设置 不透明值)*/

/* HSL value */
background-color: hsl(50, 33%, 25%);         /* 完全不透明 Fully opaque */
background-color: hsla(50, 33%, 25%, 0.75);  /* 75% transparent (设置 不透明值)*/

/* 特别的关键字 Special keyword values */
background-color: currentcolor;
background-color: transparent;

/* 全局性的值 Global values */
background-color: inherit;
background-color: initial;
background-color: unset;
Salin selepas log masuk

  • 背景颜色 属性值  
    • 关键点: 颜色名 十六进制 rgb代码 透明 继承

    • 颜色名: color_name

      • 颜色值为 颜色名称的背景颜色
        • (比如 red)。
    • 十六进制: hex_number

      • 颜色值为 十六进制值的背景颜色
      • (比如 #ff0000)。
    • rgb: rgb(),rgba()

      • 颜色值为 rgb 代码的背景颜色
        • (比如 rgb(255,0,0)
    • hsl:hsl(),hsla()

    • 透明 (无颜色,默认值): transparent

      • 背景颜色为 透明色 。
        • 该颜色 看上去将是 背景色。从技术上说,它是带有 阿尔法通道 为最小值的黑色,是rgba(0,0,0,0)的简写。
      • 严格来说, 透明色,也是 一种颜色.
    • 继承:inherit

      • 从父元素继承 background-color 属性的设置

  • 背景颜色继承性  
    • 不继承
    • no
  • 背景颜色 css 版本  
    • CSS1
  • JavaScript 语法  
    • object.style.backgroundColor="#00FF00"

  • 背景颜色 和 可访问性  
    • 可访问性 问题
    • 对比度: 要确保 背景颜色 和 文本颜色 之间的 对比度足够高,以使 视觉条件差的人 能够阅读 页面的内容。
    • 颜色对比度    
      • 是通过 比较文本的亮度 和 背景颜色值 来确定的。
        • 为了满足当前的 Web 内容可访问性准则(WCAG)
        • 文本内容的比例: 4.5:1
        • 大一些的文本(如标题)的比例为 3:1
        • 大文本定义为18.66px,粗体bold或更大,24px或更大。


Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


  • 用户的感知 和 可访问性  
    • Perceivable - Accessibility | MDN(英文版 待翻译)
      • 提供了关于如何编写 web 内容的实用建议,使其符合 web 内容可访问性指南(WCAG) 2.0和2.1的 可感知原则中 列出的成功标准。
      • 感知状态: 是指用户 必须能够 以某种方式感知它,使用他们的 一种或多种感官。

  • 背景图像 和 背景颜色  
    • 图像 覆盖在 颜色上方: 背景图像,覆盖在 背景颜色的上面.
    • 背景的统一颜色,背景色 是在指定的 背景图像后 呈现的
      • 尽管颜色 仍然可以通过 图像中的任何透明度 看到。

  • 背景颜色background-color 的 浏览器支持  

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


  • 示例1: 同时显示 背景图像 和 背景颜色

    • 背景图像,覆盖在 背景颜色的上面.
  • css

.bgimg-fixed {

    background-color: pink;    
    background-image: url(../images/四叶草背景.png);    
    background-repeat: no-repeat;

}
Salin selepas log masuk

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


  • 示例2: 把十六进制值的 颜色, 设置了透明值. (最后两位,每位的值: 0-f)
    • 改变透明度 (即 最后 多加的 两位的值),颜色 也会随之改变)
      • 00: 完全透明了,看不到颜色,跟没设置颜色一样.
      • ff: 就是 纯红色了,相当于没加 透明值.
    /*把十六进制 设置了透明值的 红色,最后两位的 33 就是透明值*/
    background-color: #ff000066;
    background-image: url(../images/四叶草背景.png);
    background-repeat: no-repeat;

}
Salin selepas log masuk

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


3. background-image 属性: 背景图像 (范围到 内边距区的 外边缘,不含 边框)

  • 背景图像:

    • 为一个元素 设置 一个或多个 背景图像。
      • background-image 属性
      • 背景图像 属性
  • 元素的 背景范围

    • 背景色: background-color

      • 背景色 默认到 边框区的 外边缘
      • 边框区的下方 会显示 背景色,虚线边框的话,可以直接看到 边框下的背景色

    Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • 背景图像: background-image

      • 背景图像 不重复时 (background-repeat:no-repeat;),图像 默认在 内边距区的 外边缘   
        • 不在边框区,也不会显示在 边框的下方 (特意加粗的边框,下方没有背景图像).

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

  • 背景图像的 位置

    • 元素的 左上角: 默认地,背景图像的位置 位于 元素的 左上角
    • 重复: 在 水平和垂直方向上 重复
  • 背景图像的 语法

    • background-image: none|url('URL')|inherit;

  • 背景图像的 属性值  
    • 关键点:路径url 不显示 继承
      • 图像路径/地址: url('URL')      
        • 指向 图像的路径,简单的 静态图像,用 URL引用
        • url值 带引号.
      • 无图像 (默认值): none      
        • 不显示 背景图像。
          • 如果一个 指定的图像 无法被绘制,浏览器会 等同于其值被设为 none
            • (比如,被指定的 URI 所表示的文件 无法被加载)
      • 继承: inherit      
        • 从父元素 继承 background-image 属性的设置。
      • 渐变图像      
        • gradient 相关的方法 生成的 渐变图像

  • 背景图像不可用的 预防措施 (回退)  
    • 设置 背景颜色:
      • 设置一种 可用的背景颜色 background-color      
        • 假如 背景图像不可用,页面也可以获得 良好的视觉效果。
    • 不显示背景色 也要设置 (图像的回退):
      • 即使图像是不透明的,背景色 在通常情况下 并不会被显示,开发者仍然应该 指定 背景颜色 background-color 属性。
      • 如果图像无法被加载—例如,在网络连接断开的情况下—背景色 就会被绘制。

  • 背景图像 相关属性  
    • 设置 背景图像: background-image

      • 在元素的背景中 设置一个图像
    • 图像的 重复方式: background-repeat

      • 可以 沿着某个轴(x 轴或 y 轴)平铺重复,或者根本不重复。
    • 图像的 位置:background-position

      • 根据 background-position 属性的值放置。
    • 图像/背景色的 裁剪/绘制 区域: background-clip


  • 多背景图像的 使用  
    • 逗号 分隔: 一个background-image指定 多个背景图像,用 逗号,分隔 多个背景地址.
    • z 方向 堆叠: 在绘制时,图像以 z 方向 堆叠的方式进行。
    • 代码在前,显示在上: 先指定的图像 会在之后指定的图像 上面绘制。
      • 因此 指定的 第一个图像“最接近用户”。

  • 和背景图像的 相对位置

    • 边框在 背景图像之上:
      • 元素的边框 border会在 背景图像之上 被绘制
    • 背景颜色 在背景图像之下:
      • 背景颜色 background-color 会在 背景图像之下 绘制。
    • 位置关系: 边框(最上方,最接近用户) > 背景图像 > 背景颜色
      • 背景图像 无法覆盖 边框
      • 背景颜色 无法覆盖 背景图像
  • 图像和盒子:

    • 图像的绘制 与 盒子 以及 盒子的边框 的关系,需要在 CSS 属性 background-clipbackground-origin中定义。

  • 示例1: 同时设置 两个背景图片
#lizard{
	background-image: url("../images/lizard.png"), url("../images/star.png");
}
Salin selepas log masuk
  • 两个都是 矢量图,图片背景 都是透明的
    • 代码在前,显示在上: 代码在前面的 图像,显示在上方.
    • 如果背景图像的 背景 不是透明的(比如 其他部分 是白色 ≠透明色),可能会完全遮盖会下方的图像.

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


  • 示例2: 同时设置 两个背景图像,并 分别设置 不同的 重复方式.
#lizard{
	background-image: url("../images/四叶草背景.png"), url("../images/lizard.png");
	background-repeat: no-repeat,repeat;
}
Salin selepas log masuk

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

  • 背景不透明的 遮盖性:
    • 因为 四叶草 不是背景透明的图片(整个图片的 其余部分是 白色).所以除了 四叶草 ,其余部分 也遮盖了一部分 下方的图像.

  • 关联知识: <image></image> css 图像 数据类型  
    • CSS的<image></image> 图像 数据类型    
      • 描述的是 2D 图形
      • 表示一个 二维 图像
    • CSS 中的 两种类型的图像
      • ① 简单的 静态 图像
        • 经常用URL引用
      • 动态生成 的 图像
        • 比如 DOM 树的部分元素 样式渐变 或者 计算样式产生
        • 使用 gradient 相关的方法 或element()生成
      • 附加的 CSS图像函数      
        • 包括image()image-set()cross-fade()

  • 图像搭配的 CSS属性

    • background-imageborder-imagecontentcursorlist-style-image
    • 一个 CSS 图像 数据类型 的分类    
      • <image>> = <code><url> | <image> | <image-set> | <element> | <cross-fade> | <gradient></gradient></cross-fade></element></image-set></image></url>
      • 使用url()方法: (常用,熟记)      
        • url 引用的图像
      • gradient 相关的方法 生成的图像 (常用,熟记)
      • element()方法: (实验中 方法)
        • 页面的一个部分,定义在element()方法中;

      Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

      • image() 函数 (实验中 方法)
        • image()函数定义的 一种图像、图像片段 或 颜色的实色块

      Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

      • ⑤ cross-fade() 函数
        • cross-fade() 函数 定义的 两个或多个图像的 混合。

      Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

      • ⑥ image-set() 函数
        • 根据 image-set() 函数定义的分辨率进行选择的图像。
  • 图像类型值的 浏览器支持

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


  • 有效的 图像引用值:
/* url()方法, 只要 test.jpg 是图像文件*/
url(test.jpg)  

 /*一个 <gradient> 标签*/
 linear-gradient(to bottom, blue, red) 
 
/*页面的一部分, 使用了element()方法,如果 colonne3 是存在于页面中的一个元素id即可*/
element(#colonne3)       

image(ltr 'arrow.png#xywh=0,0,16,16', red) 
                            /* <url>的一个16x16节,从原来的左上角开始
图像只要arrow.png 是一个支持的图像,否则是一个固体
红色的样布。如果语言是rtl,则图像将水平翻转. */ 
cross-fade(20% url(twenty.png), url(eighty.png)) 
                            /* 交叉褪色的图像,其中20%是不透明的
80%是不透明的. */ 
image-set('test.jpg' 1x, 'test-2x.jpg' 2x)  
                            /* 具有不同分辨率的 图像的选择 */</url></gradient>
Salin selepas log masuk

4. background-attachment 属性: 背景图像的 固定和滚动

  • 设置 背景图像的 附着方式 (固定/滚动)  
    • 背景图像附着 background-attachment 属性
      • 决定 背景图像的位置 是 在窗口内 固定,还是 随着 包含它的区块 滚动。
    • 背景图像 附着方式 属性

  • 背景图像附着 background-attachment的属性值  
    • 关键点: 滚动 固定 继承
      • 滚动(默认值): scroll

        • 背景图像 会随着 页面其余部分的 滚动而移动。
          • 跟着元素 一起滚动: (但 如果这个元素内部的内容 是可滚动的, 不跟 元素的内容 一起滚动)
            • 背景 相对于 元素本身 固定(跟着元素 一起滚动), 而不是 随着 元素的内容 滚动(对元素边框 是有效的,因为 它实际上 附加在 元素的边框上)。
            • (注意区分: 相对于 元素,还是相对于 元素的内容,因为有的元素 不仅仅会 随着页面滚动,元素本身 也可能是 可滚动的 ,且有一个滚动条. )
      • 固定: fixed

        • 当页面的其余部分 滚动时,背景图像 不会移动。
        • 背景 相对于视口 固定。
          • 即使 一个元素 拥有滚动机制,背景也不会 随着元素的内容 滚动。
          • 不跟元素(或 元素的内容) 一起滚动          
            • 元素 滚动时,背景图像的位置 不变
            • 元素 滚动后,如果 元素内容的位置,不在 背景图像 覆盖的位置,那么针对这个 元素设置的背景图像 就不会再显示.
      • 相对于元素内容 固定: local

        • 表示背景 相对于元素的内容 固定。
        • 跟着元素 一起滚动: 如果一个元素 拥有滚动机制,背景将会 随着 元素的内容 滚动 ,
          • 并且 背景的绘制区域和定位区域 是相对于 可滚动的区域 而不是包含他们的边框。
      • 继承 父元素: inherit

        • 从父元素 继承,来决定 背景图像的 固定或滚动。(听爸爸的话…)

  • 背景图像附着 语法  
    • background-attachment: scroll|fixed|local|inherit;
/* Keyword values */
background-attachment: scroll;
background-attachment: fixed;
background-attachment: local;

/* Global values */
background-attachment: inherit;
background-attachment: initial;
background-attachment: unset;
Salin selepas log masuk

  • 背景图像附着 继承性  
    • 不继承
    • no
  • background-attachment的 版本  
    • CSS1
  • 背景图像 附着的 JavaScript 语法  
    • object.style.backgroundAttachment="fixed"

  • 背景图像附着 background-attachment的 浏览器支持  

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

注释:任何版本的 Internet Explorer (包括 IE8)都不支持属性值 “inherit”。


  • 示例1: 背景图像 显示在固定位置,不跟元素 一起随着页面滚动
  • css
.bgimg-fixed{
	background-image: url(../images/四叶草背景.png);
	background-attachment: fixed;
	background-repeat: no-repeat;
}
Salin selepas log masuk
  • html
    <p>《花儿为什么这样红》是电影《冰山上的来客》中的一首著名插曲,是塔吉克民歌改编而来。影片从真假古兰丹姆 与战士阿米尔的爱情悬念出发,讲述了边疆战士和杨排长 一起与特务假古兰丹姆斗智斗勇,最终胜利的阿米尔和真古兰丹姆 也得以重逢的故事。该片描绘了 边疆地区军民惊险的反特斗争生活。作曲家雷振邦先生的电影音乐常以民间音乐素材构成音乐主题,也有根据民歌改编发展的,所以具有浓郁的民族风格和地区特色。《花儿为什么这样红》本来是一首古老的塔吉克族民歌,后来由雷振邦先生改编成电影《冰山上的来客》插曲。插曲表现的是电影故事中,一名驻守新疆唐古拉山的解放军边防战士,同当地一名姑娘的一段爱情故事。主要参考了一首古老的塔吉克族民间歌曲《古力碧塔》。《古力碧塔》讲述的是一名为商人赶脚的塔吉克青年,爱上了喀布尔城的一位公主,但遭到了反对,青年只能顺着古丝绸之路流浪,把优美凄凉的歌声传遍了所有他路经的地方,最后传回到帕米尔高原他的故乡。</p>
Salin selepas log masuk

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

  • 背景图像 一直显示 在固定的位置: fixed

    • 元素内容 滚动时,背景图像的位置不变
    • 元素内容 滚动后,如果元素内容的位置,不在 背景图像 覆盖的位置,那么针对这个 元素设置的背景图像 就不会再显示.
  • 跟着元素 一起滚动: scroll(默认值)
    Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


  • 示例2: 多背景图 支持

    • background-attachment属性 支持 多张背景图片。
      • 对应 对个背景图片: 用 逗号分隔 来为 每一张背景图片 指定不同的background-attachment
      • 顺序对应: 每一张背景图片 顺序对应 相应的 background-attachment 类型。
  • css

.bgimg-fixed{
	background-image:url(../images/greenbgimage.jpg), url(../images/四叶草背景.png);
	background-attachment: fixed,scroll;
	background-repeat: no-repeat,repeat-y;
}
Salin selepas log masuk

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


5. background-position 属性: 背景图像的 位置 (先水平,后垂直, 关键词,百分比,长度值)

  • 背景图像的 位置:
    • 为每一个背景图片 设置 初始位置。
      • 这个位置是 相对于由 background-origin 定义的 位置图层的。
      • 背景图像 如果要重复background-repeat,将 从这一点开始
      • background-position 属性
        • 背景图像位置 属性

  • 背景图像位置的 使用注意事项  
    • 需要设置 背景图像固定 background-attachment="fixed"
    • 才能保证背景位置 属性
      • 在 Firefox 和 Opera 中正常工作。

  • 背景图像位置的 语法  
    • background-position: x% y%| xpos ypos|(left center right)X (top center bottom);
/* 关键词 Keyword values */
background-position: top;
background-position: bottom;
background-position: left;
background-position: right;
background-position: center;

/* 百分比值 <percentage> values */
background-position: 25% 75%;

/* 长度值 <length> values */
background-position: 0 0;
background-position: 1cm 2cm;
background-position: 10ch 8em;

/* 多背景图片的 的位置 Multiple images */
background-position: 0 0, center;

/* 指明 距离 上下左右边缘的 的距离. Edge offsets values */
background-position: bottom 10px right 20px;
background-position: right 3em bottom 10px;
background-position: bottom 10px right;
background-position: top right 10px;

/* 全局支持的值 Global values */
background-position: inherit;
background-position: initial;
background-position: unset;</length></percentage>
Salin selepas log masuk

  • 背景图像位置的 属性值 (关键词,百分比,长度值,混用)
    • 关键词: left center right x top center bottom    
      • 两个值: 先水平,后垂直,省略一个 是 居中center      
        • 水平方向:左边,中心,右边        
          • left center right
        • 垂直方向:上边,中心,下边        
          • top center bottom
    • 百分比: x% y%    
      • 相对于 :左边缘的 x 坐标,相对于上边缘 y 坐标
        • 默认值:0% 0%
      • 两个值: 先水平,后垂直,省略一个 是 居中50%      
        • 水平位置: x%        
          • 第一个值
        • 垂直位置: y%        
          • 第二个值
        • 左上角: 0% 0%
        • 右下角: 100% 100%
      • 百分比值 无效的情况:
        • 如果 背景图片的大小 和 容器 一样,那设置 百分比的值 将永远无效,因为“容器和图片的 差”为0        
          • (图片 永远填满容器,并且 图片的相对位置 和 容器的相对位置 永远重合)。
        • 使用绝对值: 在这种情况下,需要为偏移 使用绝对值(例如 px)。
      • 偏移值的 计算      
        • 百分比值的偏移: 指定 图片的相对位置 和 容器的相对位置 重合
        • x 偏移值 = (container width - image width) * (position x%)
        • y 偏移值 = (container height - image height) * (position y%)
          • 所以 两个大小一样的时候,百分比值 才会无效,因为偏移值 会一直 等于 0

    Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • 长度 xpos ypos    
      • 相对于: 左边缘的 x 坐标,相对于上边缘的 y坐标
      • 两个值: 先水平,后垂直,省略一个 是 居中 50%      
        • 水平位置: xpos        
          • 第一个值
        • 垂直位置: ypos        
          • 第二个值
          • 左上角: 0 0
      • 单位      
        • 像素 (0px 0px)
        • 其他的 CSS 单位。
    • 混合使用: 百分比,关键词 和长度    
      • %position 值。

  • 属性值的 数目

    • 两个值:
      • 单个背景图像 一般都是 两个值 (x,y) , 先指定水平位置,后指定垂直位置.,一个方向指定 一个值即可,所以 top topleft left 是无效的.
    • 一个值:
      • 只有一个值,第二个值 默认是 居中
  • 属性值的 分隔

    • 可以为 多个背景图像的 指定 位置值,用 , 隔开。
  • 属性值的 正负: 图片 位移方向

    • 正值: 将 图片 相对容器 右移和下移 (右下)
    • 负值: 将 图片 相对容器 左移和上移 (左上)

  • 背景图像位置的 浏览器支持

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


  • 示例1: 背景图像的位置 只写一个属性值,来指定 位于中上方.
.bgimg-fixed {

    background-color: #c0c0c0;
    background-image: url("../images/star.png");
    background-repeat: no-repeat;
    /*top = center top */
    background-position: top;

}
Salin selepas log masuk

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

  • 只指定 一个方向上的值
    • 另一个方向上的值 默认是 居中.
      • top = cente top
      • left = left center

  • 示例2: 只 指定一个百分比值,默认是 水平方向的,另一个垂直方向,默认 居中 50%  
    • 10% = 10% 50%
.bgimg-fixed {

    background-color: #c0c0c0;
    background-image: url("../images/star.png");
    background-repeat: no-repeat;
    /*10% = 10% 50% */
    background-position: 10%;

}
Salin selepas log masuk

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


  • 示例3: 同时指定 两个方向的位置,比如, 右下方.
.bgimg-fixed {

    background-color: #c0c0c0;
    background-image: url("../images/star.png");
    background-repeat: no-repeat;
    /*关键字 不分先后顺序*/
    background-position: right bottom;

}
Salin selepas log masuk

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

  • 关键字的位置名,不分先后顺序
    • 因为从名字上,就能看出 是水平方向的 还是垂直方向的.

  • 示例4: 同时指定 关键字的位置名 和长度值/百分比值,指明 距离 上下左右边缘的 的距离.
    • 距离右边缘 10px,距离下边缘60px    
      • background-position: right 10px bottom 60px;
        • 长度值 换成 百分比值,同样有效,也是指定 距离值.
      • 关键字后面 不指定 距离值,默认就是 紧贴着边缘的.
        • 也可以 只为一个方向 指定距离值 right 10px bottom,这样也合法.
.bgimg-fixed {

    background-color: #c0c0c0;
    background-image: url("../images/star.png");
    background-repeat: no-repeat;
    /*关键字 不分先后顺序,距离右边缘 10px,距离 下边缘60px */
    background-position: right 10px bottom 60px;

}
Salin selepas log masuk

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

  • 更多距离值 分析图: 一个位置的 多种写法
    • top 75px left 100x = left 100px top 75px    
      • (可以调换 关键字位置名的 顺序,距离值要保持在 位置名后方)
    • bottom left 25% = top 100% 25%    
      • bottom = top 100%
      • left 25% = 25%
    • right = right center = left 100% center = left 100% top 50%    
      • right = left 100%
      • 垂直 center = top 50% = bottom 50%

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


  • 示例5: 同时指定 两个背景图像的 位置 和 重复方式
.bgimg-fixed {

    background-color: #c0c0c0;
    background-image: url("../images/star.png"),url("../images/四叶草背景.png");
    background-repeat: no-repeat,no-repeat;
    background-position: right bottom 100px,left 10px bottom 30px;

}
Salin selepas log masuk

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


  • 示例6: 设置 背景图像位置的 负值
    • 负值: 图像 向 相反方向 位移.
.bgimg-fixed {

    background-color: #c0c0c0;
    background-image: url("../images/star.png"),url("../images/四叶草背景.png");
    background-repeat: no-repeat,no-repeat;
    background-position: right bottom -30px,left -30px bottom -30px;

}
Salin selepas log masuk

Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


6. background-repeat 属性 : 背景图像的 重复方式 (单值,双值,超出部分 裁剪)

  • 背景图像的 重复方式  
    • 设置 是否及如何 重复 背景图像    
      • background-repeat 属性
        • 定义 背景图像的 重复方式。背景图像可以沿着 水平轴,垂直轴,两个轴 重复,或者 根本不重复。
        • 重复图像的 裁剪: 默认情况下,重复的图像 被剪裁为 元素的大小,但它们可以缩放 (使用 round) 或者均匀地分布 (使用 space).
      • 背景图像重复 属性
        • 实际上,针对 背景图像

  • 背景图像重复的 语法  
    • background-repeat: repeat|repeat-x|repeat-y|no-repeat|inherit;
/* 单值语法 */
background-repeat: repeat-x;
background-repeat: repeat-y;
background-repeat: repeat;
background-repeat: space;
background-repeat: round;
background-repeat: no-repeat;

/* 双值语法: 水平 horizontal | 垂直vertical */
background-repeat: repeat space;
background-repeat: repeat repeat;
background-repeat: round space;
background-repeat: no-repeat round;

background-repeat: inherit;
Salin selepas log masuk
  • 单值语法 = 双值语法的 简写:
    • 两个值: 先水平(第一个值),后垂直 (第二个值)
单值 等价的双值
repeat-x = repeat no-repeat
repeat-y = no-repeat repeat
repeat = repeat repeat
space = space space
round = round round
no-repeat = no-repeat no-repeat
  • Sintaks standard
    • <repeat-style></repeat-style> = repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}
    • Gabungan nilai atribut​​​:
      • Kecuali repeat-x | repeat-y, yang lain boleh digunakan dalam imej latar belakang Digunakan bersama dalam sintaks nilai berganda.

  • Imej latar belakang nilai atribut berulang
    • Perkara penting: ulang dalam kedua-dua arah (lalai) ulang secara mendatar dan ulang menegak tanpa mengulangi warisan

    • ulang dalam kedua-dua arah (lalai): repeat

      • Imej latar belakang akan berulang secara menegak dan mendatar.
        • Imej akan diulang seperti yang diperlukan untuk meliputi keseluruhan kawasan di mana imej latar belakang berada
        • Ia akan dipangkas jika ia tidak sesuai : The. imej terakhir, jika saiznya tidak sesuai Jika sesuai, ia akan dipangkas

          • Yang paling kanan dipangkas, dan yang sedikit bocor di bahagian bawah juga boleh dilihat. dipotong.

      Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

      Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • Ulangan Mendatar: repeat-x

      • Imej latar belakang akan berulang secara mendatar.
      • Jika tidak sesuai, ia akan dipangkas: Imej terakhir, jika saiznya tidak sesuai, akan dipangkas.
        • Anda boleh melihat yang betul tepi , imej dipangkas.

      Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • Ulangan menegak: repeat-y

      • Imej latar belakang akan berulang secara menegak.
      • Jika tidak sesuai, ia akan dipangkas: Imej terakhir, jika saiznya tidak sesuai, akan dipangkas.
        • Anda boleh lihat bahagian bawah tepi , imej dipangkas

      Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • tidak berulang : no-repeat

      • Imej latar belakang tidak akan diulang dan hanya akan dipaparkan sekali.
      • akan dipangkas: Imej latar belakang itu sendiri terlalu besar dan melebihi sempadan elemen dan akan dipangkas
      • Kedudukan imej latar belakang tidak berulang : Ia ditentukan oleh atribut background-position

      Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • Bahagian berulang daripada. imej tidak akan dipangkas: space

      • Imej akan diulang sebanyak mungkin, tetapi tidak akan dipangkas >❶

        Imej pendua tidak akan dipangkas

        : Jika imej berulang melebihi sempadan elemen, bahagian yang berlebihan akan dialih keluar dan bahagian yang tinggal akan dibesarkan untuk diisi (tiada pengulangan yang dipotong akan dilakukan. )
      • Ditetapkan pada tepi elemen : Imej pertama dan terakhir akan dibetulkan pada tepi elemen yang sepadan,

        • Pengagihan ruang putih yang sekata: Pada masa yang sama, ruang putih akan diedarkan sama rata antara imej

      Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)Imej latar belakang itu sendiri melebihi saiz Saiz elemen

      : Jika saiz imej latar belakang asal melebihi sempadan elemen, ia akan dipangkas

      Nilai atribut eksklusifMembawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang):

      • Atribut kedudukan imej akan diabaikan, space

        • background-position
        • Imej paparan termampat (tanpa pemangkasan)
        :
    • Regangan dan pemampatan imej:roundDengan Apabila saiz elemen membesar, imej yang berulang akan meregang (tanpa celah) sehingga terdapat ruang yang cukup untuk menambah imej, menambah imej baharu dan memampatkan imej lain untuk memaparkan imej baharu.

      • Tiada pemangkasan
          : Dengan meregangkan dan memampatkan, paparkan imej lengkap tanpa memotong imej.
        Tambah imej dan pemampatan imej
      • : Apabila seterusnya Selepas imej ditambah, semua imej semasa akan dimampatkan untuk memberi ruang
      • Pada asalnya, dua imej yang lengkap tidak boleh muat ( imej latar belakang itu sendiri agak besar), dan penyemak imbas memampatkan imej Selepas itu, anda boleh meletakkan dua imej yang lengkap.
        • 添加图像: 留白 >= 图像宽度的一半时 , 添加 另一个图像。
      • 继承 父亲: inherit

        • 从父元素 继承 background-repeat 属性的 设置。

    • 背景图像重复 background-repeat 属性和属性值 浏览器支持    

    Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


    示例1: 把背景图像设置成 round spaceround = round round的区别

    #lizard{
    	/*background-image: url("../images/lizard.png");*/
    	background-image: url("../images/四叶草背景.png");
    	background-repeat:round space;
    }
    Salin selepas log masuk
    • 默认时的背景显示 = 双向重复repeat

      • 可以看到 右边和下边缘 都有被裁剪

    Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • 值为: round space

      • 水平方向: 压缩图像 显示完整图像
      • 垂直方向: 有超出不裁剪的部分 去掉,伸展剩下的图像,空白均匀分布.
      • 可以看到 背景会重复时,水平和垂直方向, 都没有被裁剪的部分.

    Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • 值为: round = round round

      • 可以看到 垂直方向的背景, 比上面的space值 多了一行图像.
        • 因为round 值 通过压缩其余的图像,多显示了一行,而不只是 去掉 图像被裁剪的部分.
        • 裁剪的区别: space 会因为 背景图像本身大小 超出元素大小时(不是因为 图像的重复),被裁剪, 但round 一直 都不会被裁剪,因为会 压缩图像来显示.

    Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


    7. CSS3 background-clip 属性: 背景色/图像 的 绘制/裁剪 区域 (背景 显示的区域)

    • 背景裁剪区域/ 绘制区域  
      • 设置背景的 绘制区域 / 背景被裁剪区域
        • 背景 显示区域: 显示 给用户看的区域,其他部分 就算有背景 ,裁剪掉了,也看不到.
          • background-clip 属性
            • 背景裁剪 属性
        • 没有 设置背景 (即 没有设置 背景图像 background-image或背景颜色 background-color)
          • 视觉效果: 则 背景裁剪区域 background-clip 仅在边框 具有 透明区域 或 部分不透明区域 (根据 边框样式 border-style 或边框图像 border-image)时 才具有 视觉效果;
          • 否则,边框 掩盖了差异。

    • 背景裁剪/绘制 语法  
      • background-clip:border-box|padding-box|content-box;
    /* 关键字值 Keyword values */
    background-clip: border-box;
    background-clip: padding-box;
    background-clip: content-box;
    background-clip: text;
    
    /* Global values */
    background-clip: inherit;
    background-clip: initial;
    background-clip: unset;
    Salin selepas log masuk

    • 背景裁剪的 属性值

      • 关键点:边框盒 内边距框 内容框 文字

      • 边框盒(默认): border-box

        • 背景被裁剪到 边框盒。
          • 背景 延伸到 边框的外部边缘 (但在z顺序中 是在 边框的下面)。
          • 边框显示 在背景上方: 如果 边框是 虚线,背景会从下方 透出来.
        • 包括: 边框
      • 内边距框: padding-box

        • 背景 被裁剪到 内边距框。
          • 背景 延伸到 内边距的外部边缘。
        • 不包括: 边框      
          • 边框的下面 没有背景。
      • 内容框 : content-box

        • 背景 被裁剪到 内容框。
          • 背景是在 内容框内 绘制的。
        • 不包括: 边框 和 内边距
      • 文字: text (尚在 实验中的属性)

        • 背景 是在 前景文本(foreground text)中 绘制的。
          • 把背景 显示成文本的颜色.
        • 使用前提:
          • ❶ 需要 浏览器前缀
          • ❷ 文本装饰或阴影 不包括在 裁剪区域中
          • 文字的颜色: 一定要设置成 color:transparent 透明色
            • 这样 才能在文字里, 显示出 后面的背景色/图像,否则会被 文字原本的颜色 遮挡住 背景色/图像.

    • 盒子模型 分界图  
      • 从内到外的 顺序: 内容区 > 内边距区 > 边框区 > 外边距区

    Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


    • 背景色/图像的 裁剪/绘制 区域的 浏览器支持  
      • IE 9+ 才开始支持, IE 8 以及更早的版本 不支持 background-clip 属性。
      • 黄色: 需要 浏览器前缀
      • 低版本的浏览器 也需要浏览器支持,这是个比较新的属性.

    Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


    • 示例1: 把背景的 裁剪/绘制区域 分别设置为 到边框的外边缘, 内边距的外边缘, 内容区,文字的内部

    • html

        <p>天道酬勤, 是一个汉语成语,读作 tiān dào chóu qín。意思是 上天会按照 每个人付出的勤奋,给予相应的酬劳。多一分耕耘,多一分收获,只要你付出了 足够的努力,将来也一定会 得到相应的收获。出自《周易》中的卦辞。</p>
    Salin selepas log masuk
    • css
    #clipTest{
    	/*设置元素的 外边距 边框 内边距 字体大小/颜色/粗细*/
    	margin: 20px;
    	border: 10px dashed #000;
    	padding: 20px;
    	font-size: 1.2em;
    	font-weight: bold;
    	color: #fff;
    
    	/*设置 背景图像 和 背景颜色(作为背景图像的回退)*/
    	background-color: #c0c0c0;
    	background-image: url("../images/hand.jpg");
    
    	/*设置背景的 绘制/裁剪 区域*/
    
        /*到 边框区的 外边缘*/
    	background-clip: border-box;
    	
    }
    Salin selepas log masuk
    • 到 边框的 外边缘 : border-box  
      • 可以看到 显示在 边框的下面,因为边框是虚线,所以可以看到 漏出来的一部分背景图 background-image.
        • Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)
      • 对背景色 background-color,也是有效的.
        • Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • 到 内边距区的 外边缘: background-clip:padding-box  
      • 背景色 和背景图像 不包括 边框区的位置
    	/*到 内边距区的 外边缘*/
    	-webkit-background-clip: padding-box;
    	-moz-background-clip: padding-box;
    	background-clip: padding-box;
    Salin selepas log masuk

    Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


    • 到 内容区的外边缘 : content-box  
      • 背景色 和 背景图像,不会包括 边框和内边距区
      • Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • 在 文字的内部: text  
      • 注意: 这个时候,文字的颜色 color#fff 白色,一定要设置成 color:transparent 透明色,才能在文字里, 显示出后面的背景色.
        • 否则,背景色/图像,会被文字原本的颜色 遮挡住.
      • Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    8. CSS3 background-origin 属性: 背景图像的 原点相对区域 (对 背景色 无效,搭配 background-position )

    • 背景图像的 原点相对区域:
      • 用于: 设置 背景图像的原点: 相对于 边框区,内边距区 或 内容区 开始。
        • 设置 背景图像 出现在 哪个区域
          • background-origin 属性
            • 美 ['ɔrɪdʒɪn]
          • 背景图像原点 属性
      • 搭配属性:
        • 位置: 当设置 背景图像的 位置 background-position 属性,指定是 相对于 什么区域 来定位的。
        • ★ 用于 不重复的背景图像: 设置 background-repeat:no-repeat 不重复,再设置 图像原点,看起来 才比较明显
          • 否则 默认的图像,会 双向重复,把 边框区,内边距区 等都覆盖了,看不出相对位置了.

    • 不能用于 固定的背景图像  
      • 背景图像 为固定的 : background-attachment:fixed,则 背景图像原点background-origin 属性 没有效果。
        • 因为 固定的背景图像, 是相对于 浏览器窗口 不动的,给它指定 区域,也不会动,所以 不会有效果.
        • 所以,要留意 属性之间的影响.

    • 背景图像原点的 语法  
      • background-origin: padding-box|border-box|content-box;
    /* 关键字值 Keyword values */
    background-origin: border-box;
    background-origin: padding-box;
    background-origin: content-box;
    
    /* Global values */
    background-origin: inherit;
    background-origin: initial;
    background-origin: unset;
    Salin selepas log masuk

    • 背景图像原点的 属性值  
      • 边框区:border-box    
        • 背景图像 相对于 边框区 来定位。
      • 内边距区(默认值): padding-box    
        • 背景图像 相对于 内边距区 来定位。
      • 内容区: content-box    
        • 背景图像 相对于 内容区 来定位。
      • 多值: 同时设置 多个背景图像 的 原点相对区域时,多个属性值之间 ,用 逗号, 分隔.
        • background-origin: content-box, padding-box;

    • 盒子模型 分界图  
      • 从内到外的 顺序: 内容区 > 内边距区 > 边框区 > 外边距区
      • Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • 背景图像原点 background-origin的 浏览器支持  
      • 比较新的属性,需要使用 浏览器前缀

    Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


    • 示例1: 将背景图像的原点 分别设置为 相对于 边框区,内边距区,内容区
    #clipTest{
    	/*设置元素的 外边距 边框 内边距 字体大小/颜色/粗细*/
    	margin: 20px;
    	border: 10px dashed #000;
    	padding: 20px;
    	font-size: 1.2em;
    	font-weight: bold;
    	/*color: transparent;*/
    	color: #fff;
    
    	/*设置 背景图像 和 背景颜色(作为背景图像的回退 这里为了看清原点位置,先注释掉)*/
    	/*background-color: #c0c0c0;*/
    	background-image: url("../images/hand.jpg");
    	background-repeat: no-repeat;
    
    
    	/*背景图像的原点 相对位置*/
    
    	-webkit-background-origin: border-box;
    	-moz-background-origin: border-box;
    	background-origin: border-box;
    }
    Salin selepas log masuk
    • 背景图像原点: 相对于 边框区 border-box  
      • 可以看到 虚线边框的下方,有漏出来的 背景图像
      • Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • 背景图像原点: 相对于 内边距区 padding-box  
      • 可以看到 边框的下方 已经不显示 背景图像了
      • Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • 背景图像原点: 相对于 内容区 content-box  
      • 背景图像,只显示在 内容区的部分,边框和内边距部分,都不显示图像
      • Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • 示例2: 指定 背景图像的 原点相对区域,再设置 背景的位置
      • 背景图像的原点 相对于 内容区,向右和向下 移动10px
    	-webkit-background-origin: content-box;
    	-moz-background-origin:content-box;
    	background-origin: content-box;
    
    	
    
    	/*背景图像的位置*/
    	background-position:  10px 10px;
    Salin selepas log masuk

    Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)


    9. CSS3 background-size 属性: 背景图像的 大小 (可定义 宽高)

    • 背景图像的 大小:
      • 设置 背景图片大小。图片可以 保有其 原有的尺寸,或者 拉伸到 新的尺寸,或者 在保持 其原有比例的同时 , 缩放到 元素的 可用空间的尺寸。
        • background-size 属性
          • 背景图像大小 属性
      • 背景颜色 和 背景图像:
        • 没有 被背景图片 覆盖的背景区域 , 仍然会显示用 background-color 属性设置的 背景颜色。
        • 此外,如果 背景图片 设置了 透明或者 半透明属性,在背景图片 后面的背景色 也会穿过透明区域 显示出来。

    • 背景图像大小的 语法  
      • background-size: length|percentage % |cover|contain;
    /* 关键字 */
    background-size: cover
    background-size: contain
    
    /* 一个值: 这个值指定图片的宽度,图片的高度隐式的为auto */
    background-size: 50%
    background-size: 3em
    background-size: 12px
    background-size: auto
    
    /* 两个值 */
    /* 第一个值指定图片的宽度,第二个值指定图片的高度 */
    background-size: 50% auto
    background-size: 3em 25%
    background-size: auto 6px
    background-size: auto auto
    
    /* 逗号分隔的多个值:设置多重背景 */
    background-size: auto, auto     /* 不同于background-size: auto auto */
    background-size: 50%, 25%, 25%
    background-size: 6px, auto, contain
    
    /* 全局属性 */
    background-size: inherit;
    background-size: initial;
    background-size: unset;
    Salin selepas log masuk

    • 背景图像大小的 属性值  
      • 宽高 长度值: 宽 x 高

        • 设置背景图像的 高度和宽度。
          • 不允许 有负值。
        • 宽 X 高      
          • 第一个值: 设置 宽度
          • 第二个值: 设置 高度。
        • 一个值:
          • 这个值指定 图片的宽度,图片的高度 隐式的为 auto
      • 宽高 百分比值: width% height%

        • 父元素的 百分比 来设置 背景图像的 宽度和高度。
          • 不允许 有负值。
        • percentage %
        • 宽 X 高      
          • 第一个值: 设置 宽度
          • 第二个值: 设置 高度。
        • 一个值:
          • 这个值指定 图片的宽度,图片的高度 隐式的为 auto
          • 指定 背景图片 相对背景区 的百分比
            • 背景区: 由 背景图像 原点相对区域 background-origin设置
              • 默认背景区域: 盒模型的 内容区与内边距,也可设置为 只有内容区,或者 还包括边框。
              • 如果是固定的背景图像 background-attachmentfixed,背景区 为 浏览器可视区(即 视窗),不包括 滚动条。不能为负值。
      • 裁剪式 完全覆盖 背景区 : cover

        • 图像伸展: 把背景图像 伸展至足够大, 以使背景图像 完全覆盖 背景区域。
          • 不改变 图片比例: 保持 图像的宽高比例(图像 不会被压扁)。
          • 该 背景图 以它的 全部 宽或者高 覆盖所在容器。
        • 图片 可能会裁剪: 背景图像的 某些部分, 也许 无法显示 在背景定位区域中。
          • 当 容器元素 和 背景图大小 不同时,背景图的 左/右 或者 上/下 部分会被裁剪。
      • 不裁剪式 完全覆盖 背景区: contain

        • 把 背景图像 伸展至最大尺寸, 使其宽度和高度 完全适应 背景区域。
          • 不裁剪,不改变 图片比例: 在 不裁剪 或 拉伸 图像的情况下,将图像 缩放到 尽可能大的范围。
      • 按图片比例 自动缩放:auto

        • 以 背景图片的比例 缩放背景图片。
      • ▲ 多个值: 若要指定 多个背景图像的大小,请使用 逗号,分隔 每个背景图像的值。

        • 同时设置 3个 背景图像的大小: background-size: 50% 25%, contain, 3em;

    • 固有尺寸(宽高) 与 固有比例(宽高比)  
      • ① 位图: 位图图像(如.JPG) 总是具有 固有的 大小和比例。
      • ② 矢量图: 可能两者 都有,也可能 只有一个。
        • 矢量图像(如SVG)不一定 具有固有尺寸。
          • 如果它有 水平和垂直的固有尺寸: 它也有 固有比例
          • 如果它 没有尺寸 或者只有 一个尺寸: 它可能有 也可能 没有比例.
      • ③ 渐变: 没有 固有的尺寸和比例。
      • element()函数: 使用element()函数 创建的背景图像 使用 生成元素的 固有尺寸和比例。

    • 背景图片的 大小计算:  
      • 数值的计算: 取决于 图像的固有尺寸(宽度和高度) 和 固有比例 (宽高比)
        • 指定了 宽高:
          • 如果指定了 background-size 的两个值 并且不是auto
          • 背景图片 按 指定大小 渲染
        • containcover      
          • 保留 固有比例,最大的 包含或 覆盖 背景区
          • 如果 图像 没有固有比例,则按 背景区大小
        • autoauto auto      
          • 有宽高: 如果图像 同时具有 水平和垂直的 固有尺寸,则按 该大小呈现。
            • 按这个尺寸
          • 没有固有尺寸 与 固有比例
            • 则按 背景区的大小
          • 没有 固有尺寸, 但是 有固有比例
            • 效果同 contain,不裁剪,按比例显示.
          • 只有一个固定尺寸 与 比例
            • 则 由此尺寸 与 比例 计算大小
          • 只有一个固定尺寸 但是 没有比例
            • 它使用 指定的尺寸 和背景定位区域的另一个尺寸 进行渲染。
      • 一个为 auto ,另一个不是 auto    
        • 图像 有固有比例
          • 指定的长度
            • 使用 指定值
          • 未指定的长度
            • 按比例缩放: 由 指定值与固有比例 计算。
        • 图像 没有固有比例
          • 指定的长度
            • 使用 指定值
          • 未指定的长度
            • 使用 图像 相应的固有长度,若没有 固有长度,则使用 背景区 相应的长度
    • 注意: 对于 没有固有尺寸 或 固有比例的矢量图 , 不是所有的浏览器 都支持。
      • 特别注意测试 Firefox 7-Firefox 8+,以确定不同之处 能否接受。

    • 背景图像大小 background-size 的 浏览器支持


    Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    • 需要使用的 浏览器前缀
      background-image: url(bg-image.png);
    
      -webkit-background-size: 100% 100%;           /* Safari 3.0 */
         -moz-background-size: 100% 100%;           /* Gecko 1.9.2 (Firefox 3.6) */
           -o-background-size: 100% 100%;           /* Opera 9.5 */
              background-size: 100% 100%;           /* Gecko 2.0 (Firefox 4.0) and other CSS3-compliant browsers */
    Salin selepas log masuk

    • 示例1: 如果您使用 渐变<gradient></gradient>作为背景 并指定了 背景尺寸background-size

      • 渐变图像 要明确指定 宽高:
        • 最好不要指定 只使用 单个auto值,或者 只使用宽度值 来指定(例如,background-size: 50%)。
        • 因为,在这种情况下,渲染 渐变值<gradient>s</gradient>在 Firefox 8 中发生了变化,目前在不同的浏览器之间 通常是不一致的
          • 并不是 所有的浏览器, 都完全按照 CSS3 的 background-size 规范 和 CSS3 的 Image Values gradient 规范 来实现渲染。
    • 安全值 示例

    .gradient-example {
      width: 50px;
      height: 100px;
      background-image: linear-gradient(blue, red);
    
      /* 不能安全使用的 值形式 Not safe to use */
      background-size: 25px;
      background-size: 50%;
      background-size: auto 50px;
      background-size: auto 50%;
    
      /* 能安全使用的 值形式 Safe to use */
      background-size: 25px 50px;
      background-size: 50% 50%;
      }
    Salin selepas log masuk
    • 实例 css
    #lizard {
        border: 10px dashed #000;
        /*用渐变 做背景图像*/
        background-image: linear-gradient(yellow,green);
        background-color: #c0c0c0;
        background-repeat: no-repeat;
    
        /*背景图像的大小*/
        background-size: 300px 100px;
    }
    Salin selepas log masuk
    • 300px,高100px  
      • Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)

    #lizard {
        border: 10px dashed #000;
        padding: 10px;
        background-image: url("../images/lizard.png");
        background-color: #c0c0c0;
        background-repeat: no-repeat;
    
        /*背景图像的大小*/
        /*background-size: 200px;*/
    }
    Salin selepas log masuk
    • 示例2: 分别设置 不同值的 背景图像大小
    • 不设置 背景图像的 默认显示(图像不重复)
    • Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang)
    只设置 宽度值: background-size: 200px;(按比例缩放) 宽高一起设置: background-size: 200px 100px;(按指定值,可能改变比例)
    裁剪式 完全覆盖: background-size: cover;(按比例缩放) 不裁剪式 安全覆盖: background-size: contain;(按比例缩放)

    (学习视频分享:web前端入门

Atas ialah kandungan terperinci Membawa anda langkah demi langkah untuk memahami sifat latar belakang CSS (Latar Belakang). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan