整合营销服务商

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

免费咨询热线:

CSS 的背景

SS 背景属性用于定义HTML元素的背景。

CSS 属性定义背景效果:

  • background-color

  • background-image

  • background-repeat

  • background-attachment

  • background-position

背景颜色

background-color 属性定义了元素的背景颜色.

页面的背景颜色使用在body的选择器中:

实例

body {background-color:#b0c4de;}

CSS中,颜色值通常以以下方式定义:

  • 十六进制 - 如:"#ff0000"

  • RGB - 如:"rgb(255,0,0)"

  • 颜色名称 - 如:"red"

以下实例中, h1, p, 和 div 元素拥有不同的背景颜色:

实例

h1 {background-color:#6495ed;}

p {background-color:#e0ffff;}

div {background-color:#b0c4de;}


背景图像

background-image 属性描述了元素的背景图像.

默认情况下,背景图像进行平铺重复显示,以覆盖整个元素实体.

页面背景图片设置实例:

实例

body {background-image:url('paper.gif');}

尝试一下 »

下面是一个例子是一个糟糕的文字和背景图像组合。文本可读性差:

实例

body {background-image:url('bgdesert.jpg');}


背景图像 - 水平或垂直平铺

默认情况下 background-image 属性会在页面的水平或者垂直方向平铺。

一些图像如果在水平方向与垂直方向平铺,这样看起来很不协调,如下所示:

实例

body

{

background-image:url('gradient2.png');

}

如果图像只在水平方向平铺 (repeat-x), 页面背景会更好些:

实例

body

{

background-image:url('gradient2.png');

background-repeat:repeat-x;

}


背景图像- 设置定位与不平铺

让背景图像不影响文本的排版

如果你不想让图像平铺,你可以使用 background-repeat 属性:

实例

body

{

background-image:url('img_tree.png');

background-repeat:no-repeat;

}

以上实例中,背景图像与文本显示在同一个位置,为了让页面排版更加合理,不影响文本的阅读,我们可以改变图像的位置。

可以利用 background-position 属性改变图像在背景中的位置:

实例

body

{

background-image:url('img_tree.png');

background-repeat:no-repeat;

background-position:right top;

}


背景- 简写属性

在以上实例中我们可以看到页面的背景颜色通过了很多的属性来控制。

为了简化这些属性的代码,我们可以将这些属性合并在同一个属性中.

背景颜色的简写属性为 "background":

实例

body {background:#ffffff url('img_tree.png') no-repeat right top;}

尝试一下 »

当使用简写属性时,属性值的顺序为::

  • background-color

  • background-image

  • background-repeat

  • background-attachment

  • background-position

以上属性无需全部使用,你可以按照页面的实际需要使用.

这个实例使用了先前介绍的CSS,你可以查看相应实例: CSS 实例

更多实例

如何设置固定的背景图像

本例演示如何设置固定的背景图像。图像不会随着页面的其他部分滚动。


CSS 背景属性

Property描述
background简写属性,作用是将背景属性设置在一个声明中。
background-attachment背景图像是否固定或者随着页面的其余部分滚动。
background-color设置元素的背景颜色。
background-image把图像设置为背景。
background-position设置背景图像的起始位置。
background-repeat设置背景图像是否及如何重复。

如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!

一、图片的表现形式

当我们在制作页面的时候,通常会遇到图片的三种表现形式,如下:

1、内容图片

内容图片是页面中真正的内容,没有内容图片,就无法完整的理解页面内容。如淘宝网上的商品展示图片,这些图片是网页的一部分,它们能帮助你决定这个页面的内容是否是你需要的。

内容图片

2、布局图片

布局图片出现在页面背景中,要想理解页面的内容,它们不是必须的。如苹果官网的这个图片,没有这个图片也能理解页面上文字描述的内容是什么意思。

布局图片

3、交互图片

图中用红色框起来的图片会给你浏览页面的时候带来一些帮助,如搜索图片,一看到就知道这里可以搜索想要的东西,购物车图片可以看到选购的产品,箭头图片点击可以看到更详细的产品等。

交互图片

二、创建内容图片

在HTML中我们用 img 标签创建图片,英文是image的缩写。

<img src="" alt="">

内容图片

  • img是空标签,没有结束标签
  • src属性的值是一个图片的URL地址,地址可以是相对路径,也可以是绝对路径
  • alt属性:填写对这张图片的简单描述,增加图片的可访问性
  • 图片应该被存放在单独的文件夹中,如:images文件夹

三、创建布局图片

布局图片是在CSS中被创建出来的,使用CSS中的background属性,如:

1)background-color 定义背景颜色,设置背景图片时,要始终设置背景颜色,确保背景图片没有成功时会显示一个背景颜色

2)background-image 可以指向一个相对路径或者绝对路径来添加图片。

3)background-repeat可以设置背景是否平铺在容器中,包含四个关键字:

  • background-repeat:repeat 可以设置背景图片横向和纵向都平铺。
  • background-repeat:no-repeat 设置图片不平铺,图片默认显示在容器的左上角
  • background-repeat:repeat-x 设置图片只能在横向平铺
  • background-repeat:repeat-y 设置图片只能在纵向平铺

4)background-position 属性可以控制背景图片显示在什么位置,包含两个关键字,如:

background-position:top left 设置图片显示在容器的左上角,第一个关键字可以是top、center、bottom,第二个关键字可以是left、center、right

CSS中和背景相关的属性可以简写在一行中,如:

background: #FF1298 url(images/logo.png) center right no-repeat;

首先是图片的颜色color,image,position,repeat,CSS属性能用简写就尽量用简写,简写比分开写性能更高。

布局图片

四、创建用户交互图片

Web上最常用的三种图像格式

1)Jpeg 可以展示一张照片或者复杂图像

  • 可以表示多达1600万种颜色,即所有的十六进制颜色
  • 不支持图像透明
  • 不支持动画
  • 扩展名为.jpg或.jpeg

2)png最适合展示网页插画、logo和网页小图标

  • 可以表示上百万种不同颜色的图像
  • 包括png-8、png-24和png-32,取决于想表示多少种颜色
  • 可以设置颜色透明
  • 不支持动画
  • 扩展名为.png

3)gif适合展示网页插画、logo和网页小图标

  • 可以表示最多256种不同颜色
  • 可以设置颜色透明
  • 支持动画
  • 扩展名是.gif

建议:

  • 复杂颜色的图像和照片则要使用jpeg格式
  • 动态图像要使用gif格式
  • png格式的透明图片要比gif格式的更平滑
  • 这三种图像相对于其他格式的图像文件比较小,适合web页面高效展示

一般情况下用户交互图片都是一些小图标,所以使用png或gif作为用户交互图片;使用CSS的background属性以背景图片的形式为网页添加用户交互图片;推荐把用户交互图片放在同一个文件中,可以提高网络和服务器性能,如:

交互图片

交互图片

具体如何操作呢?后续教头会通过视频给大家详细演示,请继续关注。

ody 的背景图设置

第一种 :这种情况下背景图片可以缩放 但是不能完全等比缩放

background: url(imgs/1.jpg)no-repeat;

background-position:center 0; 背景图的定位原点,由于body高不确定

background-attachment:fixed; 背景图片保持固定,不会随页面滚动而滚动

第二种: 这种情况下的背景图会完全的等比缩放, 随着窗口大小改变

首先给html 设置 height:100%;

给body设置

background: url(imgs/1.jpg) no-repeat;

background-size: 100% 100%; 若background-size 值为cover, 此情况下是只要有一边碰到窗口边,就停止, 这种情况下 ,背景图不会等比缩放

同样道理,

body中的元素若想宽高100%,

第一种方式:

先给html设置height:100%; 再给该元素设置width:100%;height:100%;

第二种方式: 给width/height 设置100% 的同时,也要设置position:fixed;

页面若要用到input, 要去掉其默认的 outline 和border, 若使用默认的border,后面js修改时, 第一次交互,会出现微小的像素偏移,建议重置

<linkrel="shortcut icon" href="imgs/favicon.ico"/> 这一句放在<head>中,修改该html网页title中小图标

html中将文字纵向显

对文字对象宽度设置只能排下一个文字的宽度距离,让文字一行排不下两个文字使其文字自动换行,就形成了竖立排版需求

此时需要在该css中加上

word-wrap:break-word; word-break:normal;这个两句 可实现标点换行的,同时整体纵向显示

writing-mode:设置对象书写方向,有两个值,

 1.lr-tb:从左向右,从上往下 ,

2. tb-rl:从上往下,从右向左

运行代码发现,IE显示正常,火狐、谷歌浏览器却不支持,所以不建议使用writing-mode属性。

我自己是一名从事了多年开发的web前端老程序员,目前辞职在做自己的web前端私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的web前端学习干货,各种框架都有整理,送给每一位前端小伙伴,想要获取的可以关注我的头条号并在后台私信我:前端,即可免费获取。