HTML网页设计基础笔记 • 【第6章 背景和阴影】
全部章节 >>>>
本章目录
6.1 背景属性
一般可以通过设置页面元素的背景颜色或背景图片,来实现网页整体丰富的视觉效果。CSS3中提供以下几种背景样式属性来方便设置背景样式。
属性 |
说明 |
background-color |
用于设置元素的背景颜色 |
background-image |
用于设置元素的背景图片 |
background-repeat |
用于设置元素的背景图片重复方式 |
background-position |
用于设置元素的背景图片位置 |
background-size |
用于设置元素的背景图片大小 |
background |
复合属性,用于设置元素的背景效果 |
6.1.1 背景颜色
一般情况下,常规的页面都会使用背景颜色来突出其基调,通过样式属性 background-color 设置元素的背景颜色。
在使用background-color属性时,取值可以是颜色关键字,如 red 表示红色;也可以是 RGB(红、绿、蓝),如 RGB(255/0/0) 表示红色;还可以是十六进制的数字,如 #ff0000 表示红色。
示例:
#menu ul li {
......
background-color: #EBEBEB;
margin-bottom: 1px;
}
#menu ul li:hover {
background-color: #CDCBCB;
}
#EBEBEB 默认情况下,背景颜色为浅灰色
#CDCBCB 鼠标经过时,背景颜色为灰色
6.1.2 背景图片
网页的背景可以通过 CSS 中的 background-image 属性可以设置标签的背景图片,在使用该属性时,取值可以为所设置图片的 URL。
语法:
background-image: url(图片的url)
在设置元素背景图像的同时设定元素的背景颜色,浏览器会优先显示背景图片,当浏览器不能载入图片时,则显示背景颜色。
示例:
<body>
<div id="adv">
<ul>
<li><a href="#">1. 品质电脑 放心优选 </a></li>
<li><a href="#">2. 数码优选爆款低至 9.9 元 </a></li>
<li><a href="#">3.【0 元试用】白占便宜 </a></li>
<li><a href="#">4. 出游装备低至 17.9</a></li>
</ul>
</div>
</body>
<style type="text/css">
*{padding:0px;margin:0px;}
#adv{
width:400px;
height:170px;
background-image:url(Images/bg.jpg);
border:5px solid black;
}
#adv ul{list-style:none;padding-left:180px; padding-top:30px;}
#adv ul li{line-height:25px;height:25px;}
#adv ul li a{font-size:12px;color:white;text-decoration:none;font-family:"微软雅黑";}
</style>
6.1.3 背景图片的重复方式
默认情况下,背景图片会以元素左上角为起点,沿水平和垂直方向重复出现,最终填满整个区域。设置背景图片平铺可以使用 background-repeat 属性来控制。
语法:
background-repeat: repeat | no-repeat | repeat-x | repeat-y
参数 |
说明 |
repeat |
默认值,表示背景图像在纵向和横向上平铺 |
no-repeat |
表示背景图像不平铺 |
repeat-x |
表示背景图像只在水平方向上平铺 |
repeat-y |
表示背景图像只在垂直方向上平铺 |
示例:
<body>
<div id="calendar">
<h1> 精美日历 </h1>
</div>
</body>
<style type="text/css">
#calendar{
width:600px;height:300px;border:1px solid black;
background-image:url(Images/hrepeat.jpg);
background-repeat:repeat-x;
}
#calendar h1{
text-align:center;margin-top:100px;
}
</style>
background-repeat:repeat-x; 设置背景图片且水平平铺
6.2 背景图片的定位
6.2.1 background-position 属性
默认情况下,背景图片都是从设置了 background 属性的元素的左上角开始出现,可以通过 background-position 属性轻松地调整背景图片的位置
语法:
background-position: 关键字 | 百分比 | 像素值
取值 |
说明 |
关键字 |
水平方向:left、center、right;垂直方向:top、center、bottom。 |
百分比 |
使用百分比表示背景位置,常用的数值: 水平方向:0%(左) 50%(中) 100%(右) 垂直方向:0%(上) 50%(中) 100%(下) |
像素值 |
背景图片左顶点相对于元素左顶点的偏移量,当为正值时,水平向右、垂直向下偏移,当为负值时,水平向左、垂直向上偏移。 |
示例1:
<body>
<div id="container"></div>
</body>
<style type="text/css">
#container{
height:500px;
width:500px;
border:1px solid black;
background-image:url(Images/p1.png),
url(Images/p2.png),
url(Images/p3.png),
url(Images/p4.png),
url(Images/p5.png);
background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;
background-position:right bottom,
0% 100%,
200px 200px,
200px -50px,
-50px 200px;
}
</style>
在使用 background-position 属性的过程中,关键顺序不重要,left bottom 和 bottom left 意义相同。若只设置一个值时,第 1 个值代表水平偏移位置,第 2 个值默认为居中。
示例2:
<body>
<div id="container">
<ul>
<li class="title">玩 • 新鲜</li>
<li class="msg">联想拯救者Y7000</li>
<li class="msg">新品Y神性能怪兽</li>
</ul>
</div>
</body>
<style type="text/css">
*{padding:0px;margin:0px;}
#container{
width:400px;
height:150px;
font-family:"微软雅黑";
background-color:#4967af;
background-image:url(Images/p1.png);
background-repeat:no-repeat;
background-position:210px 15px;
}
#container ul{list-style:none; padding:20px;}
#container ul li.title{color:white;border:2px solid white;width:80px;text-align:center; }
#container ul li.msg{color:white;font-size:12px;margin:15px 0px;
}
</style>
6.2.2 CSS Sprites
CSS Sprites,在国内也称之为 CSS 精灵,是一种图片网页应用处理方式。它允许将一个页面涉及到的所有零星图片均包含到一张大图中。
其实,CSS Sprites 的目的是通过整合图片,减少对服务器的请求数量以及请求的字节数,从而加快页面的加载速度。
示例:
<body>
<ul id="menu">
<li class="titel_1">免输入</li>
<li class="titel_2">更快</li>
<li class="titel_3">更安全</li>
</ul>
</body>
<style type="text/css">
* {padding: 0px;margin: 0px;}
#menu {list-style: none;}
#menu li {line-height: 26px;height: 26px;font-size: 12px;color: gray;width: 40px;
padding-left: 30px;
background-image: url(Images/qr-coagent.png);
background-repeat: no-repeat;
margin: 10px;
}
#menu li.titel_1 {background-position: 0px 0px;}
#menu li.titel_2 {background-position: 0px -26px;}
#menu li.titel_3 {background-position: 0px -52px;}
</style>
6.3 背景的渐变
渐变背景在 Web 页面中是一种常见的视觉元素。使用 CSS3 渐变可以在两种颜色间制造出平滑的渐变效果。用它代替图片,可以加快页面的载入时间、减小带宽占用。
CSS3定义了两种类型的渐变:线性渐变和径向渐变。
6.3.1 线性渐变
创建一个线性渐变需要设置一个起始点和一个方向(指定为一个角度)的渐变效果,还要定义终止色,终止色是平滑过渡后的颜色。n创建一个线性渐变需要设置一个起始点和一个方向(指定为一个角度)的渐变效果,还要定义终止色,终止色是平滑过渡后的颜色。
语法:
background: linear-gradient(<angle> || <direction>,< color_stop>, <color_stop>...);
取值 |
说明 |
<angle> |
通过角度来确定渐变的方向。角度是指水平线和渐变线之间的角度,逆时针方向计算。 |
<direction> |
通过代表方向的关键词来确定渐变的方向。 |
<color_stop> |
用于指定终止色,其中可以设置多个终止色,用于实现多种颜色之间的渐变。 |
示例1:
<div class="container">
<h3>设置方向渐变</h3>
<div id="gradients_1"></div>
</div>
<div class="container">
<h3>设置角度渐变</h3>
<div id="gradients_2"></div>
</div>
<div class="container">
<h3>设置多种颜色渐变</h1>
<div id="gradients_3"></div>
</div>
<div class="container">
<h3>设置渐变的位置</h3>
<div id="gradients_4"></div>
</div>
div.container{float:left; padding:5px;}
div.container div{height:200px; width:200px;}
#gradients_1{
background:linear-gradient(to right,red,black);
}
#gradients_2{
background:linear-gradient(60deg,red,black);
}
#gradients_3{
background:linear-gradient(to right bottom,red,white,black);
}
#gradients_4{
background:linear-gradient(to right bottom,red 40%,white 80%,black);
}
示例2:
<body>
<div id="container"></div>
</body>
<style type="text/css">
#container{
height:133px;
width:400px;
background:linear-gradient(to right,rgba(255,255,255,0),rgba(255,255,255,1)),url(Images/transparent.png);
}
</style>
重复线性渐变
为了实现更为复杂的渐变效果,可以通过repeating-linear-gradient()创建一个由重复线性渐变组成的背景效果,类似linear-gradient函数,并且采用相同的参数,但是它会在所有方向上重复渐变以覆盖其整个容器,因此称之为重复线性渐变。
示例:
<body>
<div id="argentina">
<p>阿根廷男子国家足球队</p>
</div>
</body>
<style type="text/css">
*{padding:0px;margin:0px; }
#argentina{
height:380px;width:300px;
border-radius:20px;
background:url(Images/football.png) no-repeat center center,
repeating-linear-gradient(to right,#43a1d5,#43a1d5 20px,#ffffff 20px,#ffffff 40px);
font:bold 24px "微软雅黑";
text-align:center;padding-top:10px;margin:0 auto;
border:1px solid gray;
}
</style>
第一个渐变效果:颜色从#43a1d至#43a1d5,位置从0px开始至20px结束
第二个渐变效果:颜色从#ffffff至#ffffff,位置从20px开始至40px结束
6.3.2 径向渐变
CSS3 径向渐变是圆形或椭圆形渐变。颜色不再沿着一条直线轴变化,而是从一个起点朝所有方向混合。
语法:
background: radial-gradient (<shape> || <size> at <position>, <color_stop>, ...);
取值 |
说明 |
<position> |
主要用来定义径向渐变的圆心位置。 |
<shape> |
主要用来定义径向渐变的形状。包括两个值“circle”(圆形)和“ellipse”(椭圆形)。 |
<size> |
主要用于设置渐变半径的大小,从而用来确定径向渐变的结束形状大小。可以设置数值、百分比以及关键字。 |
<color_stop> |
径向渐变线上的终止色 |
示例:
<div class="container">
<h3>简单径向渐变</h3>
<div id="gradients_1"></div>
</div>
<div class="container">
<h3>设置中心点的径向渐变</h3>
<div id="gradients_2"></div>
</div>
<div class="container">
<h3>设置渐变形状的径向渐变</h1>
<div id="gradients_3"></div>
</div>
<div class="container">
<h3>设置径向大小的径向渐变</h3>
<div id="gradients_4"></div>
</div>
div.container{float:left;padding:5px;}
div.container div{height:150px;width:250px;}
#gradients_1{
background:radial-gradient(black,white,red);
}
#gradients_2{
background:radial-gradient(at right bottom,black,white,red);
}
#gradients_3{
background:radial-gradient(circle at center,black,white,red);
}
#gradients_4{
background:radial-gradient(300px 100px at 60% 40%,black,white,red);
}
#gradients_1 形状为椭圆形、圆心在元素的中心点,默认大小的径向渐变
#gradients_2 形状为椭圆形、圆心在元素的右下角,默认大小的径向渐变
#gradients_3 形状为圆形、圆心在元素的中心点,默认大小的径向渐变
#gradients_4 水平半径为300px、垂直半径100px,形状为椭圆形
重复径向渐变
在 CSS 中同样可以实现重复径向渐变效果,此时则需要使用 repeating-radial-gradient() 函数。
示例:
<body>
<div id="container"></div>
</body>
<style type="text/css">
#container{
width: 262px;
height: 262px;
border-radius: 50%;
margin:0 auto;
background:
radial-gradient(gray,gray 7px,#da5b33 7px,#da5b33 30px,gray 30px,gray 31px,#da5b33 31px,#da5b33 36px,transparent 36px),
repeating-radial-gradient(#2a2928, #2a2928 4px, #ada9a0 4px, #2a2928 6px);
}
</style>
第一层背景为中心圆盘,由于无任何规律,且显示为圆形,则可使用径向渐变实现,其渐变过程如下:
(1)第一个渐变效果:颜色从gray至gray,位置从0px开始至7px结束。
(2)第二个渐变效果:颜色从#da5b33至#da5b33,位置从7px开始至30px结束。
(3)第三个渐变效果:颜色从gray至gray,位置从30px开始至31px结束。
(4)第四个渐变效果:颜色从#da5b33至#da5b33,位置从31px开始至36px结束。
(5)从位置36px起,显示为transparent。
第二层背景为黑色唱片,通过观察,呈现效果存在规律,且显示为圆形,则可使用重复径向渐变实现,其渐变规律:
(1)第一个渐变效果:#2a2928至#2a2928,从0px开始至4px结束。
(2)第二个渐变效果:#ada9a0至灰白色#ada9a0,从4px开始至5结束。
(3)不断重复以上渐变效果。
6.4 阴影属性
6.4.1 文字阴影
在CSS3中,可以使用text-shadow属性对页面上的文字直接添加阴影效果。
语法:
text-shadow: text-shadow: h-shadow v-shadow blur color;
取值 |
说明 |
h-shadow |
必需,阴影的水平距离。 |
v-shadow |
必需,阴影的垂直距离。 |
blur |
可选,阴影的模糊半径。 |
color |
可选,阴影的颜色。 |
示例:
<body>
<div id="adv">
<p id="title">618 主会场 </p>
<p id="msg"> 时尚跨店 2 件 7.5 折 </p>
</div>
</body>
<style type="text/css">
......
#title {font: bold 54px " 微软雅黑 ";color: white;
text-shadow: 3px 3px 2px #ff379d;
}
#msg {
text-shadow:
2px 0px 3px #ff379d,
-2px 0px 3px #ff379d,
0px 2px 3px #ff379d,
0px -2px 3px #ff379d,
-2px -2px 3px #ff379d,
2px -2px 3px #ff379d,
-2px 2px 3px #ff379d,
2px 2px 3px #ff379d;
......
}
</style>
6.4.2 盒子阴影
盒子阴影指的就是 div 产生的阴影。在 CSS3 中,可以用 box-shadow 属性让 div 标签产生阴影效果。
语法:
box-shadow: h-shadow v-shadow blur spread color;
取值 |
说明 |
h-shadow |
必需,阴影的水平距离。 |
v-shadow |
必需,阴影的垂直距离。 |
blur |
可选,阴影的模糊半径。 |
spread |
可选,阴影的大小 |
color |
可选,阴影的颜色。 |
示例:
<body>
<div id="adv">
<p id="title">手机大牌</p>
<p id="msg">抢618大额神券</p>
</div>
</body>
<style type="text/css">
*{padding:0px;margin:0px;}
#adv{
height:300px;
width:250px;
text-align:center;
font-family:"微软雅黑";
border:1px solid #D8D5D5;
background-image:url(Images/phone.png);
background-repeat:no-repeat;
background-size:200px 200px;
background-position:center 80px;
box-shadow:5px 5px 10px rgba(0,0,0,0.2);
margin:10px;
}
#adv p{margin:10px;}
#title{font-size:16px;}
#msg{color:gray;font-size:14px;}
</style>
总结:
- CSS3 的颜色样式包括颜色属性和背景颜色属性,用于设置文字颜色,以及为标签的背景设置颜色。
- CSS3 的图片样式包括背景图片属性、背景图像的平铺属性,这些属性用于设置标签的背景图像显示效果,并且可以设置背景图像是否随标签内容滚动,指定背景图像在页面中显示的位置,以及背景图像的显示大小等。其中,background 属性可以使用连续的多个属性值
- 在 CSS3 中新增加了标签的阴影显示效果,其中 text-shadow 属性用于创建文字的阴影,box-shadow 属性可以创建 div 的阴影效果。
HTML网页设计基础笔记 • 【第6章 背景和阴影】的更多相关文章
- HTML网页设计基础笔记 • 【目录】
持续更新中- 我的大学笔记>>> 章节 内容 第1章 HTML网页设计基础笔记 • [第1章 HTML5基础] 第2章 HTML网页设计基础笔记 • [第2章 排列页面内容] 第3章 ...
- HTML网页设计基础笔记 • 【第5章 常用的样式属性】
全部章节 >>>> 本章目录 5.1 字体及文本属性 5.1.1 字体属性 5.1.2 文本属性 5.2 边距和填充 5.2.1 边距 5.2.2 填充 5.3 边框属性 ...
- HTML网页设计基础笔记 • 【第4章 CSS3基础】
全部章节 >>>> 本章目录 4.1 CSS 概述 4.1.1 CSS 简介 4.1.2 CSS3 基本语法 4.1.3 样式表的分类 4.2 CSS 基本选择器 4.2. ...
- HTML网页设计基础笔记 • 【第2章 排列页面内容】
全部章节 >>>> 本章目录 2.1 音频标签和视频标签 2.1.1 音频标签 2.1.2 视频标签 2.2 列表.div 以及 span 标签 2.2.1 列表标签 2. ...
- HTML网页设计基础笔记 • 【第7章 盒子模型】
全部章节 >>>> 本章目录 7.1 盒子模型原理 7.1.1 盒子模型概述 7.1.2 盒子的大小 7.1.3 盒子之间的关系 7.2 标准文档流 7.2.1 标准文档流 ...
- HTML网页设计基础笔记 • 【第3章 表单】
全部章节 >>>> 本章目录 3.1 表单 3.1.1 表单概述 3.1.1 表单概述(续) 3.1.2 表单标签 3.1.3 表单数据的提交方式 3.2 输入框和按钮 3 ...
- HTML网页设计基础笔记 • 【第1章 HTML5基础】
全部章节 >>>> 本章目录 1.1 HTML介绍及开发工具 1.1.1 HTML 的基本概念 1.1.2 网页 1.1.3 Web 标准 1.1.4 HTML5 与移动互 ...
- HTML网页设计基础笔记 • 【第8章 页面布局与规划】
全部章节 >>>> 本章目录 8.1 表格布局 8.1.1 表格布局 8.2 流式布局 8.2.1 瀑布流布局 8.2.2 masonry 实现瀑布流布局 8.3 div ...
- [HeadFrist-HTMLCSS学习笔记]第五章认识媒体:给网页添加图像
[HeadFrist-HTMLCSS学习笔记]第五章认识媒体:给网页添加图像 干货 JPEG.PNG.GIF有何不同 JPEG适合连续色调图像,如照片:不支持透明度:不支持动画:有损格式 PNG适合单 ...
随机推荐
- API测试最佳实践 - 身份验证
适用等级:高级 1. 概况 身份验证通常被定义为是对某个资源的身份的确认的活动,这里面资源的身份指代的是API的消费者(或者说是调用者).一旦一个用户的身份验证通过了,他将被授权访问那些期待访问的资源 ...
- mybatis分页插件PageHelper源码浅析
PageHelper 是Mybaties中的一个分页插件.其maven坐标 <!-- https://mvnrepository.com/artifact/com.github.pagehelp ...
- Non-terminating decimal expansion; no exact representable decimal result.
Non-terminating decimal expansion; no exact representable decimal result. 翻译为:非终止十进制扩展; 没有确切的可表示的小数 ...
- mybtis入门
1.编写持久化对象 public class User { private String id;//用户编号 private String username;//用户名 private String ...
- [BUUCTF]PWN——hitcontraining_magicheap
hitcontraining_magicheap 附件 步骤: 例行检查,64位程序,开启了nx和canary 本地试运行一下,经典的堆的菜单 64位ida载入,检索程序里的字符串的时候发现了后门 m ...
- BIT 常态化在线CTF系统 pwn题目
偶然得到这个平台,发现是BIT的CTF平台,应该是平时的阶段性的训练题目.看了看题,其他方向的题目感觉都是入门题,但是pwn题目,发现还是比入门题难一点点的,来记录一下. pwn1 栈上任意位置的读写 ...
- ssm项目中常用的上传文件
在项目中,上传文件一般是必不可少的,所以今天学到新的上传方式,就干脆将学习过的上传方式记录一下 一.表单直接上传图片 表单头要设置 <form action="" metho ...
- Vue2与Vue3的组件通讯对比
Vue2 父传子 父传子比较简单, 主要通过以下步骤实现 父在template中为子绑定属性 <Child :childData='pMsg'/> <!-- 也可以写死 --> ...
- 一站式云原生在线研发平台 StarOS 种子用户邀请计划正式开启!
云时代的开发者,你好: 你是否也曾畅想过,关于云的未来? 不是作为消费者,也不是作为企业,是对于开发者而言,云会变成什么样. 同为开发者,我们常在想,我们开发了一个又一个应用,让太多人因服务在线而获益 ...
- C51单片机0~60计数器
源码 #include<reg51.h> unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, ...