网页背景

1.  设置背景颜色          background-color:#bfa;

设置背景图片               background-image:url(“./img/.....”)

注意:可以同时设置背景图片和背景颜色,这样背景颜色就会变成图片的背景色

  如果背景的图片小于元素,则背景图片会自动在元素中平铺将元素铺满。

  如果背景图片和元素一样大,则会直接正常显示。

设置背景的重复方式   background-repeat

        可选值:repeat:默认值,背景会沿着x轴,y轴双向重复

            repeat-x:沿着x方向重复

            repeat-y:沿着y方向重复

            no-repeat:背景图片不重复

设置背景图片的位置   background-position

    方式:

      (1)通过top,left,right,bittom,center几个表示方位词来设置背景,必须指定两个值,如果只写一个则第二个默认是center

          background-position:top left;在图片的左上角

      (2)通过偏移量来指定背景图片的位置,水平方向的偏移量,垂直方向的偏移量

          background-position:100px 100px;水平偏移(x),垂直偏移(y);

第一个值,水平反向偏移量

正值背景向右移动,负值向左移动

第二个值,垂直方向的偏移量

正值向下走,负值向上走

设置背景范围

背景显示的区域     background-clip

   可选值:

    border-box 背景会延伸到边框的下边

    padding-box 背景会设置到内边距

    content-box 背景只会设置到内容区中

背景图片的偏移量计算的原点     background-origin

      padding-box:默认值,background-position从内边距开始计算

      content-box:背景图片的偏移量从内容区处计算

      border-box:背景图片的变量从边框处开始计算

  例如:background-origin: border-box;

    background-clip: border-box;

设置背景图片的尺寸     background-size

   需要两个值作为参数:宽度 高度

    可选值:

    contain 完整显示背景图片,可能会有位置没有图片

    cover 图片比例不变,使图片将元素填满,可能有部分图片从元素中溢出

      background-size:如果只写一个,则第二个默认是auto;

      background-size:100% auto;  图像比例不变,但是宽度充满

背景图片是否跟随元素移动 background-attachment

    可选值:scroll:默认值,背景图片会跟随元素移动

    fixed背景图片会固定在页面,不会随元素移动

.box1{
width: 500px;
height: 500px;
overflow:auto;
padding:10px;
background-image:url("img/2.jpg");
!*设置背景图片的尺寸*!
background-size:contain;
!*用来设置背景的重复方式*!
background-repeat: no-repeat;
}
.box2{
!*溢出*!
height: 1000px;
width:300px;
background-image: url("img/1.png");
background-repeat: no-repeat;
!*背景图片是否跟随元素移动*!
background-attachment:fixed;
!*设置背景图片的位置*!
background-position: 100px 100px;
!*背景图片的偏移量计算的原点*!
background-origin: border-box;
!*设置背景显示的区域*!
background-clip: border-box;
}

可将所有的值通过background来设置:背景相关的简写属性,所有背景相关的样式都通过该样式来设置,并且样式之间没有顺序

注意:background-size必须写在background-position的后面,并且通过/隔开,background-position/background-size

   background-origin必须在background-clip的前面

  background-color

  background-image

  background-repeat

  background-position

  background-size

  background-origin

  background-clip

  background-attachment

.box3{
width:500px;
height: 500px;
background: #bfa url("img/2.jpg") center/contain border-box content-box no-repeat fixed;
}

2. 问题:当按钮状态从link 切换到hover时 或 从hover切换到 active时,第一次会出现一个闪烁

a:link{

display: block;

width: 93px;

height: 29px;

background: url("btn/btn.png");}

/*鼠标放上去*/

a:hover{

background: url("btn/btn.png"); }

/*点击情况下*/

a:active{

background: url("btn/btn.png");}

原因:图片属于网页中的外部资源,外部资源都需要浏览器单独发送请求加载,浏览器加载外部资源时是按需加载的,用则加载,不用则不加载。

link会首先加载,而hover和active会在指定状态触发时才会加载。加载和显示之间存在一个时间差,这样在图片加载千会出现没有背景图片的情况,导致闪烁

解决方式:可以将多个按钮保存到一个图片中,这样我们一次性加载所有的图片,然后通过偏移量来修改需要显示的图片即可。这个技术称为CSS Sprite(CSS精灵),这种图称为雪碧图

优点:

  1. 将多个图片保存到一个图片中,降低发送请求的次数,增加用户的访问速度。
  2. 将多个图片保存到一个图片里,也会降低图片的总大小,增快记载速度。

a:link{

display: block;

width: 93px;

height: 29px;

background: url("btn/btn.png");

}

/*鼠标放上去*/

a:hover{

background-position: -93px 0;

/*background: url("btn/btn.png");*/

}

/*点击情况下*/

a:active{

background-position: -186px 0;  /*在同一个图上移动*/

/*background: url("btn/btn.png");*/

}

3. 雪碧图的使用步骤:

  1. 先确定要使用的图标
  2. 测量图标的大小,创建一个元素
  3. 将雪碧图设置为元素的背景
  4. 设置背景的偏移量,使其可以显示图标

.box1{

/*创建同图标大小一样的元素*/

width: 128px;

height: 46px;

/*将雪碧图设置为元素的背景*/

background-image: url("img/amazon-sprite_.png");

/*设置背景的偏移量,使其可以显示图标*/

background-position:0 0;

}

.box2{

width: 42px;

height: 30px;

background-image: url("img/amazon-sprite_.png");

background-position: -58px -338px;

}

4.渐变:通过渐变可以设置一些复杂的背景颜色,可以实现从一个颜色向其他颜色过滤的效果!!

渐变是图片,需要通过background-image来设置

线性渐变,颜色沿着一条直线发生变化:linear-gradient(颜色1--颜色2)

    注:默认情况,自上而下;

        to right  to left  to bottom  to top

        xxxdeg:deg表示度数    0:to top  180:to buttom  90:to right

        1turn:转一圈=to top;0.5turn:转半圈=to buttom

    可以指定多种颜色:几种颜色平均分布

    也可以手动指定渐变的分布情况

            background-image: linear-gradient(red 50px,green 100px,yellow 150px);

    重复出现效果:background-image: repeating-linear-gradient(red 50px,yellow 100px)

径向渐变:放射性效果background-image: radial-gradient()

    默认情况下,径向渐变的形状根据元素的形状来计算

      正方形:圆形

      长方形:椭圆形

  (1)手动指定径向渐变的大小:background-image: radial-gradient(100px 100px,red yellow)

        circle正圆;ellipse椭圆;

    background-image: radial-gradient(circle,red,yellow)

    重复出现效果:background-image:repeating- radial-gradient(100px 100px,red,yellow)

  (2)手动指定渐变位置:background-image: radial-gradient(100px 100px at 0 0,red,yellow)

    background-image: radial-gradient(closest-side at 100px 100px,red,yellow)

    background-image: radial-gradient(farthest-side at 100px 100px,red yellow)

HTML基础-06的更多相关文章

  1. javaSE基础06

    javaSE基础06 一.匿名对象 没有名字的对象,叫做匿名对象. 1.2匿名对象的使用注意点: 1.我们一般不会用匿名对象给属性赋值的,无法获取属性值(现阶段只能设置和拿到一个属性值.只能调用一次方 ...

  2. javascript基础06

      javascript基础06 splice var del_arr = del.splice(0,2); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返 ...

  3. Flask基础(06)-->视图常用逻辑

    Flask基础(06)-->视图常用逻辑 返回json 重定向:url_for 自定义状态码 返回json:在使用 Flask 写一个接口时候需要给客户端返回 JSON 数据,在 Flask 中 ...

  4. PHP语言基础06 MySql By ACReaper

    上篇介绍了如用PHP连接上MySql进行,并进行sql语句的执行.但是我们没有介绍,如何输出处理的结果,如何获得处理的结果. 这里要先说明Mysql有两种查询处理模式,一种是有缓冲的查询处理模式,一种 ...

  5. xBIM 基础06 将STEP物理文件转换为XML

    系列目录    [已更新最新开发文章,点击查看详细]  一.STEP标准简介 STEP,它是Standard for the Exchange of Product model data的缩写.产品数 ...

  6. python基础06 循环

      循环用于重复执行一些程序. for循环  for循环需要预先设定循环的次数n,然后执行隶属于for的语句. 基本构造是 for 元素 in 序列: statement 如: for a in [1 ...

  7. node基础06:回调函数

    1.Node异步编程 Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,No ...

  8. php基础06:运算符

    <?php //1.PHP 字符串运算符: 串接 $str1 = "gao"; $str1 = $str1."xiong"; echo $str1; ec ...

  9. MSSQLServer基础06(变量,case,选择语句)

    变量 声明:declare @UserName nvarchar(50) 赋值1:set @UserName=N'杨':修改 赋值2:select @UserName=N'牛':修改 输出:print ...

  10. SQL从入门到基础 - 06 限制结果集范围

    一.限制结果集行数 1. Select top 5* from T_Employee order by FSalary DESC 2. (*)检索按照工资从高到低排序检索从第六名开始一共四个人的信息: ...

随机推荐

  1. 实践使用nodejs获取用户真实IP?

    先上代码 var http = require('http') var server = http.createServer(function (req,res) { console.log(req. ...

  2. ES6标准中的import和export

    在ES6前, 前端使用RequireJS或者seaJS实现模块化, requireJS是基于AMD规范的模块化库,  而像seaJS是基于CMD规范的模块化库,  两者都是为了为了推广前端模块化的工具 ...

  3. 设计模式:command模式

    目的:将命令设计成类的形式,并可以组织成队列 优点: 在需要的情况下,可以比较容易地将命令记入日志 可以容易的实现对请求的撤销和重做 由于新的具体命令类不影响其他的命令类,因此增加新的具体命令类很容易 ...

  4. 016.Nginx HTTPS

    一 HTTPS概述 1.1 HTTPS介绍 超文本传输安全协议HTTPS(Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合,用以提供加密通讯 ...

  5. Monster Audio 使用教程 (六) 发送音轨的设置

    因为最近有些用户,不太清楚怎么发送给混响音轨,所以这里我简单介绍一下. Monster Audio的音轨,主要分为两种类型: 1.白色推子:表示普通音轨 2.蓝色推子:表示“可接收发送音轨”,其他音轨 ...

  6. DJANGO-天天生鲜项目从0到1-014-订单-订单评论

    本项目基于B站UP主‘神奇的老黄’的教学视频‘天天生鲜Django项目’,视频讲的非常好,推荐新手观看学习 https://www.bilibili.com/video/BV1vt41147K8?p= ...

  7. Docker 概念-1

    阅读本文大概需要15分钟,通过阅读本文你将知道一下概念: 容器 什么是Docker? Docker思想.特点 Docker容器主要解决什么问题 容器 VS 虚拟机 Docker基本概念: 镜像(Ima ...

  8. ST表解决RMQ问题

    RMQ问题: RMQ(Range Minimum/Maximum Query),区间最值查询.对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间 ...

  9. Mac Sourcetree克隆项目提示无效的url

    之前用SoucreTree拉去过另一个账号的git项目,今天创建了一个新的码云账号,克隆里面的项目是一直报错误 > 错误如下: > 原因以及解决方案:

  10. Day05_企业权限管理(SSM整合)

    学于黑马程序员和传智播客联合做的教学项目 感谢 黑马程序员官网 传智播客官网 个人根据教程的每天的工作进度的代码和资料 密码:cti5 b站在线视频 微信搜索"艺术行者",关注并回 ...