background默认背景区域覆盖内容和内边距及边框,分别有以下属性:

1.background-clip(定义背景绘制区域)

  • border-box 背景覆盖边框最外面
  • padding-box 背景覆盖内边距的最外面
  • content 背景仅覆盖内容区域
  • text 最常用,把背景绘制在文本区域内,文本用背景填充,文本线条之外的背景为透明。
  • ps:1.此属性对根元素(如html中的body或html元素)

2.background-size(用于设定背景图片大小,IE9以下不支持)

  • cover 缩放背景完全覆盖背景区,由于切割,可能会导致背景图片一部分看不到
  • contain 将图像缩放为放在背景定位区域中的尺寸,装入背景区,可能部分区域空白不被背景覆盖。
  • length 
    • 可以放大可以缩小,可以使用像素值也可以使用em,并且不同单位可以混用
    • 如果允许允许背景重复,重复的图像与原图像等同大小。
  • percentage
    • 声明的百分比相对背景定位区域计算,即由background-origin定义的区域,而非background-clip计算
    • 长度值和百分值也可以混用
    • 不能设置负的长度值和百分数值
  • auto
    • 如果一个轴设置为auto,而另一轴不是,且图像含有固定宽高比,则该轴按照另一轴的宽高比计算
    • 如果出于一些原因,第一步失败,图像没有固定宽高比,则auto设置为相应轴的固定尺寸(宽对应宽高)
    • 如果前两部均失败,auto将解析为100%(相对于背景定位区域)

3.background-position(图像的具体位置,适用于块级元素和置换元素)

  • 如果只设置一个关键字,则另外一个方向居中。
  • 百分数值和长度值可以混用,还有方向也可混用
  • 可以使用负值,把原图向拉到元素的背景区域之外。

4.background-origin(计算源图像的位置以什么时候的边界为基准,定义的是背景定位区域)

  • border-box 源图像的左上角放在边框左上角。
  • padding-box 源图像的左上角放在边框内侧的左上角。
  • content-box  源图像的左上角放在内容区域的左上角。
  • ps:以上均为默认,可通过background-position来改变

5.background-repeat(背景是否重复)

  • repeat
  • no-repeat
  • round 会缩放图像,但是不覆盖background-position值,为了确保重复时不裁剪背景图,必须放在四个角之一位置。
  • space 确定沿某一轴能完全重复多少次,然后从背景区域的一遍到对边均匀排列图像(间距不等),可能会覆盖一个轴的position值,不影响另外一个。

6.background-image(背景图像)

  • url()
  • linear-gradient(#ddd,#fff)设置背景为渐变色。

7.background-attachment(背景图是否固定/滚动)

  • fixed背景图固定,不随文档滚动
  • loacl 与fixed 相反
  • scroll 背景图像随着文档滚动。

总结:background可以写为一个属性,但需要注意以下:

  1. background-size值必须紧紧跟随background-position之后,二者之间要以斜线隔开
  2. 值的规则依然适用,横向值在前,纵向值在后。
  3. 同时为background-origin和background-clip提供值,前者必须在前。如果只提供一个值,则同时设定。
  4. background为简写属性,所以默认值(未单独设置)会覆盖之前值。

关于css背景的一点总结的更多相关文章

  1. CSS背景background、background-position使用详解

    背景(background)是css中一个重要的的部分,也是需要知道的css的基础知识之一.这篇文章将会涉及css背景(background)的基本用法,包括诸如 background-attachm ...

  2. CSS背景background详解,background-position详解

    背景(background)是css中一个重要的的部分,也是需要知道的css的基础知识之一.这篇文章将会涉及css背景(background)的基本用法,包括诸如 background-attachm ...

  3. CSS背景图像的简单响应

    本文设有很多,最理想的解决方案,响应图像只是其中之一.我们建议您查看不同的方法,然后再选择一个特定的响应图像解决方案,包括这两个:如何避免重复下载响应图像中选择响应图像解决方案. 大家都在谈论的的sr ...

  4. 利用wget 抓取 网站网页 包括css背景图片

    利用wget 抓取 网站网页 包括css背景图片 wget是一款非常优秀的http/ftp下载工具,它功能强大,而且几乎所有的unix系统上都有.不过用它来dump比较现代的网站会有一个问题:不支持c ...

  5. 你不知道的CSS背景—css背景属性全解

    CSS背景在网页设计中使用频率非常高,然而对于这个开发人员很熟悉的CSS属性,却隐藏着许多不为初级开发人员熟知的细节,这篇文章尝试扒开这层不为人知的面纱. 首先列举一下CSS中关于元素背景的所有属性并 ...

  6. CSS背景100%平铺 浏览器缩小背景显示不全解决办法

    本文我们分享前端CSS背景100%平铺,浏览器缩小背景显示不全bug解决的两个方法,如果你也遇到了,那么就可以参考下面文章. 把浏览器的窗口缩小时,拖动滚动条时你会发现原本设定的CSS背景100%平铺 ...

  7. Bootstrap css背景图片的设置

    一. 网页中添加图片的方式有两种 一种是:通过<img>标签直接插入到html中 另一种是:通过css背景属性添加 居中方法:水平居中的text-align:center 和 margin ...

  8. CSS背景样式

    CSS是级联样式表,用来表现HTML等文件样式的语言,CSS能够真正做到网页的表现与内容分离的设计语言,也就是说,做好了一款网页,可以通过另一个后缀名是css的文件进行修改其中的样式,不过在html的 ...

  9. CSS背景图拉伸自适应尺寸,全浏览器兼容

    突然有人问我这个问题,说网上CSS filter的方法在非IE浏览器下不奏效.思考之后,问题之外让我感慨万千啊,很多我们所谓的难题,都会随着时代的发展迎刃而解,或被新的问题所取代. 当CSS背景图片拉 ...

随机推荐

  1. NOI4.6 最小新整数——切山游戏

    描述 给定一个十进制正整数n(0 < n < 1000000000),每个数位上数字均不为0.n的位数为m. 现在从m位中删除k位(0<k < m),求生成的新整数最小为多少? ...

  2. 在ubuntu18.04下搭建kvm

    前一段时间一直在尝试Ubuntu上搭建xen,一直出现各种问题,各种坑 首先先感谢下面这个公司对我的耐心解答,非常感谢.特别是后面来的电话对我进行了详细的解答,所以选择搭建kvm. 1. 需要检查一下 ...

  3. 英语学习app——Alpha发布1

    英语学习app--Alpha发布1 这个作业属这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/ ...

  4. LeetCode刷题总结-链表

    LeetCode刷题总结-链表 一.链表     链表分为单向链表.单向循环链表和双向链表,一下以单向链表为例实现单向链表的节点实现和单链表的基本操作. 单向链表 单向链表也叫单链表,是链表中最简单的 ...

  5. djgango装饰器

    from django.http import HttpResponse from django.views import View class MyView(View): def get(self, ...

  6. springboot中使用自定义注解实现策略模式,去除工厂模式的switch或ifelse,实现新增策略代码零修改

    前言 思路与模拟业务 源码地址 https://gitee.com/houzheng1216/springboot 整体思路就是通过注解在策略类上指定约定好的type,项目启动之后将所有有注解的typ ...

  7. Redis 通用方法 存储DataTable DataRow DataSet

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. 并发队列之ConcurrentLinkedQueue

    本来想着直接说线程池的,不过在说线程池之前,我们必须要知道并发安全队列:因为一般情况下线程池中的线程数量是一定的,肯定不会超过某个阈值,那么当任务太多了的时候,我们必须把多余的任务保存到并发安全队列中 ...

  9. C语言系列之预处理指令、循环左移函数的使用(四)

    本章节将讲两个知识点 第一个知识点:常用的预处理指令 第二个知识点:循环左移右移函数 第一个知识点:预处理指令 一种预处理指令是#define,他把名字A定义为P0,当这个名字出现在源文件的任何地方时 ...

  10. vscode下搭建vue.js开发环境(基于最新的@Vue/cli 4.2.2)

    2020-02-13. 网上的那些怎么安装vue环境的2.x就不要再看了,都过时了,现在去官网下载,按照他们的设置各种问题.接下来看下最新的安装方法. 前四步是一样的: 1.下载并安装vscode 2 ...