CSS3 Backgrounds相关介绍

1.背景图片(background images)是在padding-box的左上角落脚安家的,我们可以使用background-position属性改变默认的位置。

2.在CSS3中,我们可以给background-position属性指定高达4个值:开始的两个值代表了水平轴;后面的两个值代码垂直轴,这意味着我们可以相对于上下左右任意一个角落定位,而不是之前的只能相对于左上角定位。

3.我们可以使用正值决定背景图片的位置,也可以使用负值。正值所产生的效果是把背景图片往右下方移动——元素背景区域内部。负值产生的效用是把背景图片往左上方向移动——元素背景区域外面。

p{ background-position:left 10px top 15px; }

4.background-repeat默认情况下,背景图片会沿着x轴,y轴重复。同样的,是起始于padding-box的左上角。在CSS3中,我们定义repeat的时候可以使用两个值代替一个值。其中第一个值代表水平轴;第二个repeat表示垂直轴;如果我们只使用一个值,浏览器会自动解释成两个值。这就保证了background-repeat属性向后兼容。

div{background-repeat:repeat repeat;}

5.CSS3允许我们使用background-repeat属性两个新值:spaceroundspace值的功效可以简单理解为图片的两端对齐平铺,多出来的空间用空白代替;round属性的效果也可以说是两端对齐,但其多出来空间通过自身的拉伸来填充。不过需要注意的是使用这种方法图片可能会被拉伸或扭曲。这些新值让我们在布局背景图片的时候更灵活了。例如我们可以使用两个值来定义不同的垂直和水平行为:

div{background-repeat:space no-repeat;}

6.在CSS3中我们可以使用三个全新的属性,如下:

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

6.1background-origin是用来决定背景图片定位在哪个盒子中。我们可以使用background-origin属性的三个值进行背景图片的定位,它们是:content-boxpadding-box以及border-box

6.2background-clip属性是用来决定在背景区域中背景图片剪裁的位置。其支持三个值,为:content-boxpadding-box以及border-box
  6.3在CSS3中允许我们使用background-size属性来控制背景图片的大小。我们可以使用长度值或是百分比,或者是两个新的关键字:containcover。如果只设置了一个值,那么第二个值会自动用初始值”auto“代替。“contain“值的效用是按比例将图片缩放到最大尺寸以使其高宽都在背景区域里面,其主要用在背景图片比容器大的情况下。需注意使用该值图片可能有扭曲。“cover“值的效用是按比例将图片缩放到最小尺寸以使其完整覆盖背景区域,其主要用在背景图片比容器小的情况下。需注意使用该值图片可能有扭曲。

div { background-size: contain; }

div { background-size: cover; }

属性的缩写

background 各个值的次序依次如下:

background-color | background-image  | background-repeat | background-attachment | background-position | background-origin | background-clip | background-size |

当我们对同一个元素应用两个background规则的时候会发现有一个是不起作用的。

多背景(Multiple backgrounds)

p{

background-image:url(01.png),url(02.png),url(03.png);

background-position:left top,50% 30%,10px 20px;

background-size:……

}

每个图片的大小,定位,平铺都是根据其他背景属性想对应的值。如果逗号分隔的值比背景图片层要少,浏览器会拿使用过的列表中的值来充数来使分隔的值数目足够。背景图片以层的形式显示 – 第一个在其他之上。列表中的第一个图片是离用户最近的,而下一个图片会被渲染到第一个之后,以此类推。

所有的元素只能定义一个背景颜色,background-color所在的层被赋予为最底层,称之为“终极层(final layer)”。background-color层在所有的background-image层之下。

缩写

所有的这些背景属性都可以合并成单独的一行缩写。多背景图的缩写规则与单背景图是一致的,然后中间用逗号隔开。

   p {
background: 
        url (01.gif) no-repeat,    /*图片1*/
        url (02.gif) repeat left bottom,    /*图片2*/
        url (03.gif) repeat-y 10px 5px    /*图片3*/
      }

与一般写法中一样,每个背景图片都是以层的形式显示,第一个在其他之上。

background-color只有设置在“终极层”上才能在让所有背景图显示。如果background-color值被添加到其他杂七杂八的层(不是“终极层”)上,那么整个规则将不会显示。添加背景颜色比较安全的做法是使用独立的background-color声明:

    p {
background: 
            url (01.gif) no-repeat,    /*图片1*/
    url (02.gif) repeat left bottom,    /*图片2*/
    url (03.gif) repeat-y 10px 5px ;   /*图片3*/;
        background-color:yellow ;   
}

关于一些复杂缩写

一些浏览器不认识缩写规则中两个盒子值(originclip)的使用,如果有这玩意,这些浏览器会直接忽视整个声明。因此,就目前而言,缩写最好用在不太复杂的声明上。但是如果你想包含全部的7个属性,还是使用一般写法代替为妙。

Multiple backgrounds和渐变

     p {
background: 
   url (01.gif) no-repeat 0 0,   
   linear-gradient(left,blue,green);
}

CSS3 Backgrounds相关介绍的更多相关文章

  1. 翻译 – CSS3 Backgrounds相关介绍——张鑫旭

    —————以下为翻译内容—————- CSS2.1中有5个background属性可以用来控制元素的背景.这5个属性是: background-color background-image backg ...

  2. ppDelegate的相关介绍

    //  AppDelegate的相关介绍//  IOS笔记 //@interface AppDelegate : UIResponder <UIApplicationDelegate>// ...

  3. 【个人笔记】002-PHP基础-01-PHP快速入门-02-PHP语言相关介绍输

    002-PHP基础-01-PHP快速入门 02-PHP语言相关介绍 1.PHP是什么 Hypertext Preprocessor超文本预处理器 是一种通用开源脚本语言 Personal Home P ...

  4. 转:CSS3 Flexbox 布局介绍

    转:CSS3 Flexbox 布局介绍 Flexbox是一个用于页面布局的全新CSS3模块功能.它可以把列表放在同一个方向(从左到右或从上到下排列),并且让这些列表能延伸到占用可用的空间.较为复杂的布 ...

  5. Android HttpClient HttpURLConnection相关介绍

    Android HttpClient HttpURLConnection相关介绍 遇到一个问题 在android studio上用HttpClient编写网络访问代码的时候,发现该类无法导入并使用.. ...

  6. Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解

    前言 大家好,给大家带来Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解的概述,希望你们喜欢 Activity是什么 作为一个Activ ...

  7. css3新增样式介绍

    在PC版开发中由于IE原因,我们很少用到css3,但随着平板和智能手机进入我们的生活,以及现在越来越流行,在手机版和平板版开发中我们就可以大胆的使用了,下面我们探讨常用几个css3属性: 1.css3 ...

  8. css盒子模型 css3盒子相关样式

    1.内边距(内边距在content外,边框内) 内边距属性: padding          设置所有边距 padding-bottom     底边距 padding-left           ...

  9. 一 hadoop 相关介绍

    hadoop 相关介绍 hadoop的首页有下面这样一段介绍.对hadoop是什么这个问题,做了简要的回答. The Apache™ Hadoop® project develops open-sou ...

随机推荐

  1. <转载> nginx服务器安装及配置文件详解 https://segmentfault.com/a/1190000002797601

    nginx在工作中已经有好几个环境在使用了,每次都是重新去网上扒博客,各种编译配置,今天自己也整理一份安装文档和nginx.conf配置选项的说明,留作以后参考.像负载均衡配置(包括健康检查).缓存( ...

  2. 如何解决Android帧动画出现的内存溢出

    这几天在做动画的时候,遇到了一个OOM的问题,特此记录下来. 普通实现 实现一个帧动画,最先想到的就是用animation-list将全部图片按顺序放入,并设置时间间隔和播放模式.然后将该drawab ...

  3. 转载:C++函数中new一块内存,作为返回值

    转载来自:http://blog.itpub.net/7728585/viewspace-2123621/ 今天遇到一个问题,C++编程时,函数中new一块内存,然后将申请内存的指针作为返回值.怎么d ...

  4. vue-i18n

    安装 npm install vue-i18n 初始化 import VueI18n from 'vue-i18n' Vue.use(VueI18n) const messages = { zh: { ...

  5. jsp中文乱码

    <%@page pageEncoding="UTF-8"%> <meta http-equiv="Content-Type" content= ...

  6. 机器学习进阶-直方图与傅里叶变化-直方图均衡化 1.cv2.equalizeHist(进行直方图均衡化) 2. cv2.createCLAHA(用于生成自适应均衡化图像)

    1. cv2.equalizeHist(img)  # 表示进行直方图均衡化 参数说明:img表示输入的图片 2.cv2.createCLAHA(clipLimit=8.0, titleGridSiz ...

  7. day34-常见内置模块三(re模块)

    re模块 1.什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则.(在Python中)它内嵌在Python中,并 ...

  8. fb 4.7英文版 显示行数

    窗口(window)à首选项(Preference)—>常规(General)—>编辑器(Editors)—>文本编辑器(Text Editors)—>“显示行号”(Show ...

  9. VB-串口通信详解

    转载:https://blog.csdn.net/dongyue786/article/details/8177047 MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能.MSC ...

  10. SSL 链接安全协议的enum

    摘自:https://blog.csdn.net/lan_liang/article/details/70948221 在进行HTTPS连接时,需要指定SecurityProtocol.对于.NET ...