1-2-6【CSS核心样式】背景属性

作者: Liyager | 来源:发表于2020-10-29 23:43 被阅读0次

忙里偷闲,写一些笔记,还是蛮有意思的。


文章内容输出来源:拉勾教育大前端就业集训营

1.背景属性

  • 概述:CSS中除了布局类属性,还需要添加一些背景类的内容进行页面的修饰,从而让网页变得更加的美观。

CSS通过background属性来设置背景,它是一个综合属性,可以拆分成多个单一属性。

2.背景颜色

  • 属性名:background-color
  • 作用:在盒子区域添加背景颜色的修饰;
  • 加载区域:在border及以内加载背景颜色(margin不会加载);
<style>
    div{
        width: 100px;
        height: 100px;
        padding: 10px;
        border: 10px dashed red;
        margin: 10px;
        background-color: blue;
    }
</style>

说明:注意一下,border也是背景颜色的加载范围,此处故意用“虚线样式”就是为了让大家看到边框线下面的背景颜色。

3.背景图片

  • 属性名:background-image
  • 作用:给盒子添加图片的背景修饰。
  • 加载范围:默认的加载到边框及以内部分。后期如果图片不重复加载,加载从border以内开始。
  • 属性值:url(图片路径)

说明:背景图片压盖背景颜色显示,起始位置不包括border所在区域!

4.背景图是否重复

  • 属性名:background-repeat
  • 说明:设置添加的背景图是否要在盒子中重复进行加载。根据属性值不同,有四种重复加载方式。
  • 属性值
属性值 作用
repeat 重复,默认属性值,会使用背景图片重复加载填满整个盒子的背景区域
no-repeat 不重复,不论背景图是否大于盒子范围,都只加载一次图片
repeat-x 水平重复,使用背景图片铺满第一行,垂直方向无
repeat-y 垂直重复,使用背景图片铺满第一列,水平方向无

说明:repeat重复显示图片,border所在区域也会被填满。

说明:no-repeat不重复显示图片,只会显示一张图片,且在盒子左上角border内侧展示。

说明:repeat-x水平方向重复,水平方向border所在区域也会被填满。

说明:repeat-y垂直方向重复,垂直方向border所在区域也会被填满。

5.背景图片的定位

  • 属性名:background-position
  • 作用:主要用于设置不重复的图片在背景区域的开始加载位置。
  • 属性值:分为三种写法,单词表示法像素表示法百分比表示法。不论哪种写法,属性值都有两个,值之间用空格分隔。
    • 第一个属性值:表示背景图片在水平方向的位置。
    • 第二个属性值:表示背景图片在垂直方向的位置。
  • 单词表示法
    • 水平方向:left、center、right
    • 垂直方向:top、center、bottom
    • 单词表示图片与盒子背景区域进行对应方向的对齐。

说明:以图片在盒子中的右下角位置举例。

  • 像素表示法:使用px为单位的数字,表示背景图片左上角针对border以内的左上顶点水平/垂直方向位移的距离。

说明:图片的起始位置是border以内!不算border所在区域!

说明:数值区分正负,负数就是对应方向的反向。

  • 百分比表示法:使用%为单位的数字,表示背景图片左上角,在盒子border以内的宽高 - 背景图片的宽高,所在区域的位移距离。

说明:百分比表示法比较难以理解,以水平方向为例,100%代表的是:“盒子的width + 左右padding - 图片宽度”的距离。工作中很少用到,了解即可

6.背景附着

  • 属性名:background-attachment
  • 作用:设置背景图片是否要随着页面or盒子的滚动而滚动。
  • 属性值
属性值 说明
scroll 滚动的,表示背景图片与盒子保持相对位置不变,随着页面的滚动而滚走
fixed 固定的,背景图片定位变更为浏览器窗口的左上顶点,不会随着页面滚动而滚走

说明:scroll,背景图片随着浏览器窗口的滚动而滚动。

说明:fixed,浏览器窗口滚动,但是背景图片固定在浏览器窗口上不动。
由于图片是写在div盒子里,所以图片只能显示在盒子范围内

7.属性综合写法

  • 概述:background属性可以将五个单一属性的值进行合写。
  • 写法:可以有1-5个属性值,值之间用空格进行分隔,背景定位的两个属性值算作一个属性值,不能被分开也不能颠倒顺序。五个属性值之间可以互换位置。
<style>
    .box3{
        width: 200px;
        height: 200px;
        background: pink right bottom url(jianshu.jpg) scroll no-repeat;
    }
</style>

说明:除了right bottom这两个描述背景图片位置的属性之间不能换位外,其他的属性值可以写在任意位置。

  • 注意事项
    • 如果属性值没有设置完全,其他没有设置的单一属性会按照默认值加载。
    • 如果想去层叠综合属性中的一部分,其他的属性保持不变,最好使用单一属性写法进行层叠。
 <style>
        div{
            background: url(jianshu.jpg) center center no-repeat scroll pink;
            background-color: red;
        }
</style>

说明:使用单一属性background-color:red;层叠了综合属性中的pink。

8.背景属性的实际应用

应用一:替换插入图

  • 问题:之前的课程中提到过,h1标签是权重最高的标签,影响着SEO搜索排名。如果直接放置公司的logo图片,就不能书写搜索关键字了。
  • 解决方案:想要解决SEO问题,可在h1标签中输入搜索关键字,然后用background属性添加公司logo背景图。

说明:这样一来,既展示了logo,又搞定了关键字。但是你发现,文字影响了logo的展示,怎么办?

说明:增加了一个text-indent属性,属性值为负数。相当于把文字向左缩进了1000px,所以文字被隐藏了。
文字隐藏还有一个办法,将font-size设置为0,但是IE7以下版本浏览器会存在兼容问题,所以不推荐使用

应用二:padding区域背景图

  • 问题:无序列表或者有序列表中,每一项的前缀想要换成图片怎么办?
  • 解决方案:将列表中的前缀消除后,为每一项增加padding-left属性值,宽度以前缀图片宽度决定;然后为每一项增加背景图片,位置属性值为left center即可。

说明:文字内容只能显示在width和height区域内,增加padding-left的目的就是防止背景图片和文字内容发生重叠。

9.CSS3新增背景属性

背景半透明

  • 概述:CSS3 支持背景半透明的写法,颜色值增加了一种rgba模式。
  • rgba模式:在rgb基础上增加了一个不透明度的设置,不透明度alpha取值范围在0-1之间,0表示完全透明,1表示完全不透明,0.5 表示半透明。
  • 书写方式:rgba(红色,绿色,蓝色,不透明度)
  • 注意:背景半透明是指盒子背景颜色半透明,盒子里面的内容、盒子背景图片不受影响
    background-color: rgba(255,0,0,0.5);

说明:这里描述的颜色是透明度为50%的红色。

说明:本来背景颜色应该是亮红色,因为只有20%的透明度,所以看起来很淡。

背景缩放

  • 属性名:background-size
  • 作用:设置背景图片的尺寸。
  • 属性值
属性值 说明
px 1-2个像素值,只设置一个值时,以宽度为基准垂直方向等比例拉伸;设置两个值,则宽高按照像素值调整
% 1-2个百分比值,与像素值类似;百分比参考盒子的宽高属性
cover 自动调整缩放比例,把背景图缩放至足够大,以使背景图像完全覆盖背景区域,若溢出则隐藏
contain 自动调整缩放比例,把背景图缩放至足够大,保证图片完整显示在背景区域

说明:第一个盒子中包裹的图片是图片的原尺寸大小;第二个盒子中的图片是以宽度为200px,高度等比例缩放的效果;第三个盒子中的图片,宽高分别设定为200px。

说明:第一个盒子中包裹的图片是图片的原尺寸大小;第二个盒子中的图片是以盒子宽度为基准的50%,高度等比例缩放的效果;第三个盒子中的图片是以盒子宽度的50%,盒子高度的100%缩放的。

说明:第一个盒子中包裹的图片是图片的原尺寸大小;cover会自动按比例缩放图片,直至背景区域所有部分被图片覆盖

说明:第一个盒子中包裹的图片是图片的原尺寸大小;contain会自动按比例缩放图片,直至图片在水平or垂直方向完全覆盖背景区域为止
因为原图的宽度大于高度,所以是水平方向先完全覆盖,所以停止缩放

多背景

  • 概述:CSS3 中规定,一个盒子上,可以添加多个背景图片。
  • 书写方法:background-image 的属性值书写时,以逗号分隔多背景的URL路径地址。
  • 注意:背景加载时,先写的背景压盖后写的背景图片。
<style>
        .box1{
            background-image:  url(star.jpg),url(jianshu.jpg),url(../baidu2.jpg);
        }
</style>

说明:路径先写的图片,覆盖后写的图片。星星图片是最先写的、然后是简书logo、最后是百度图片。

前端文章汇总目录

https://www.jianshu.com/p/6d80dd616ff4


结束语:一花一世界,一木一浮生,愿与诸君共勉~

相关文章

  • 1-2-6【CSS核心样式】背景属性

    忙里偷闲,写一些笔记,还是蛮有意思的。 文章内容输出来源:拉勾教育大前端就业集训营 1.背景属性 概述:CSS中除...

  • css样式入门书目录

    css样式-字体属性 css样式-背景属性 css样式-边框属性 css样式-列表属性 css样式-定位属性 cs...

  • 整理常用CSS

    字体属性:(font) CSS文字属性: CSS边框空白 CSS符号属性: CSS背景样式: 指定背景位置 CSS...

  • 从零开始学CSS - 样式

    样式 CSS 背景属性 CSS 文本属性 CSS 字体属性 链接 常见的链接样式,text-decorat...

  • 十四、CSS的背景

    一、CSS的背景 通过CSS背景属性,可以给页面元素添加背景样式。背景属性可以设置背景颜色、背景图片、背景平铺、背...

  • CSS样式

    [TOC] CSS样式 Background 背景属性 CSS 允许应用纯色作为背景,也允许使用背景图像创建相当...

  • 2018-09-19 css核心属性

    DAY4:CSS核心属性 学习目标 1、css浮动属性详解 2、css文本属性 3、css列表属性 4、css背景...

  • CSS

    css属性语法 1.css引入方式:(1)外部样式表(2)内部样式表(3)行内样式表 2.css背景:(1)雪碧图...

  • css 学习第二天

    CSS链接 链接样式 链接的样式,可以用任何CSS属性(如颜色,字体,背景等)。特别的链接,可以有不同的样式,这取...

  • CSS的引入方式

    CSS的简单样式:css设置元素的style属性 宽度:width高度:height背景颜色:background...

网友评论

    本文标题:1-2-6【CSS核心样式】背景属性

    本文链接:https://www.haomeiwen.com/subject/tvcrvktx.html