CSS笔记02
美化网页元素
为什么要美化网页
- 目的:
- 有效的传递页面信息
- 美化网页、页面漂亮、才能吸引用户
- 突显页面的主题
- 提高用户的体验
span标签
-
span
标签是短语内容的通用行内容器,它本身并没有任何特殊语义。 -
通常我们使用
span
标签来把我们想要重点要突出的行内内容套起来,再通过使用类或者Id等选择器给其添加我们想要实现的某些样式。 -
span
标签与div
标签很相似,但div
是一个块元素,而span
则是一个行内元素 。 -
示例:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
/* id选择器 */
#test {
font-size: 50px;
}
</style>
<body>
<!-- span标签的使用 -->
欢迎学习<span id="test">Java</span>
</body>
</html>
- 查看网页效果:
字体样式
- 常用的修饰字体样式的 CSS 属性:
- 字体:
font-family
- 字体大小:
font-size
- 字体粗细:
font-weight
- 字体:
- 下面我们通过写代码的方式来学习如何美化字体样式:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<!-- 字体样式
font-family: 字体(中英文的字体都可以定义,还能定义字体风格)
font-size: 字体大小
font-weight: 字体粗细
color: 字体颜色
-->
<style>
body {
font-family: "Arial Black", "楷体", serif;
color: chocolate;
}
h1 {
font-size: 50px;
}
.p1 {
font-weight: bold;
}
</style>
<body>
<h1>作品简介:</h1>
<p class="p1">
《肖申克的救赎》是美国作家斯蒂芬·埃德温·金的中篇小说,也是其代表作。收录于小说合集《四季奇谭》中,副标题为"春天的希望"。
</p>
<p>
该作讲述银行家安迪,被当作杀害妻子的凶手送上法庭。妻子的不忠、律师的奸诈、法官的误判、狱警的凶暴、典狱长的贪心与卑鄙,将正处在而立之年的安迪一下子从人生的巅峰推向了人间地狱。安迪在狱中在忍受了多年的磨难之后,终于在一个雷电交加的夜晚,越狱而出,重获自由。当翌日典狱长打开安迪的牢门时,发现他已不翼而飞,预感到末日来临的典狱长在检察人员收到安迪投寄的罪证之前,畏罪自杀。
</p>
<p>
监狱作为故事背景带有寓意性,以安迪、典狱长、狱警和囚犯们所构成的这个世界,本身就是错谬、混乱的。安迪是一个无罪的好人,却被关进监狱接受改造。肖申克的几任典狱长没有一个是清白的,但他们却在那里颐指气使,教化训导着无罪的安迪。在这样一个错谬、黑白颠倒的世界,现代派作家笔下的人物通常会自甘堕落或精神崩溃,而斯蒂芬·金塑造的安迪却像一只浴火后重生的火凤凰,健康自信地飞出了炼狱的火坑。这样的结果同样寄托着作者要使荒原上的人们坚守善良人性并"振奋"起来的创作主旨。
</p>
<h1>英文诗歌:</h1>
<p>
I offer you lean streets, desperate sunsets, the moon of the jagged suburbs.
</p>
<p>
I offer you the bitterness of a man who has looked long and long at the lonely moon.
</p>
<p>
I offer you my ancestors, my dead men, the ghosts that living men have honoured in marble: my father's father killed in the frontier of Buenos Aires, two bullets through his lungs, bearded and dead, wrapped by his soldiers in the hide of a cow;
</p>
<p>
my mother's grandfather -just twenty four- heading a charge of three hundred men in Perú, now ghosts on vanished horses. I offer you whatever insight my books may hold. whatever manliness or humour my life.
</p>
</body>
</html>
- 查看网页效果:
- 补充:
font
- 可以用来作为以上 CSS 属性的简写
- 在实际的网页设计开发中,我们通常不会像上面的代码中那样将字体样式写得那么分散,我们通常直接使用
font
一次定义多个字体样式的属性,如下面代码所示:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
p {
font: oblique bold 20px "楷体"; /* 风格 粗细 大小 字体 */
}
</style>
</head>
<body>
<p>
《肖申克的救赎》是美国作家斯蒂芬·埃德温·金的中篇小说,也是其代表作。收录于小说合集《四季奇谭》中,副标题为"春天的希望"。
</p>
<p>
该作讲述银行家安迪,被当作杀害妻子的凶手送上法庭。妻子的不忠、律师的奸诈、法官的误判、狱警的凶暴、典狱长的贪心与卑鄙,将正处在而立之年的安迪一下子从人生的巅峰推向了人间地狱。安迪在狱中在忍受了多年的磨难之后,终于在一个雷电交加的夜晚,越狱而出,重获自由。当翌日典狱长打开安迪的牢门时,发现他已不翼而飞,预感到末日来临的典狱长在检察人员收到安迪投寄的罪证之前,畏罪自杀。
</p>
<p>
监狱作为故事背景带有寓意性,以安迪、典狱长、狱警和囚犯们所构成的这个世界,本身就是错谬、混乱的。安迪是一个无罪的好人,却被关进监狱接受改造。肖申克的几任典狱长没有一个是清白的,但他们却在那里颐指气使,教化训导着无罪的安迪。在这样一个错谬、黑白颠倒的世界,现代派作家笔下的人物通常会自甘堕落或精神崩溃,而斯蒂芬·金塑造的安迪却像一只浴火后重生的火凤凰,健康自信地飞出了炼狱的火坑。这样的结果同样寄托着作者要使荒原上的人们坚守善良人性并"振奋"起来的创作主旨。
</p>
</body>
</html>
- 查看网页效果:
文本样式
-
常用的修饰文本样式的 CSS 属性:
- 文本颜色:
color
- 文本对齐方式:
text-align
- 段落首行缩进:
text-indent
- 文本装饰性线条:
text-decoration
- 文本颜色:
-
下面我们通过写代码的方式来学习如何美化文本样式:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--
颜色 - color:
1.直接用 单词 表示颜色,例如 color: blue;
2.使用 #号 + 十六进制符号(0 ~ F) 或者 rgb()函数 来表示RGB颜色,例如 color: #0000FF; / color: rgb(0,0,255)
3.补充: 还可以使用rgba()函数来给我们的文本颜色加上透明度
对齐方式 - text-align:
center/left/right -- 居中/居左/居右
段落首行缩进 - text-indent:
em 与 px -- 1em表示一个字符的宽度,而1px表示一个像素格的宽度
行高 - line-height:
当 行高 与 块 的高度相同时,就可以实现上下居中
装饰性线条 - text-decoration:
underline/line-through/overline/none -- 下划线/中划线/上划线/去除装饰性线条
-->
<style>
h1 {
color: rgba(0,0,255,50%);
text-align: center;
}
.p1 {
text-indent: 2em;
}
.p3 {
background: skyblue;
height: 150px;
line-height: 150px;
}
.li1 {
text-decoration: underline;
}
.li2 {
text-decoration: line-through;
}
.li3 {
text-decoration: overline;
}
a {
text-decoration: none;
}
</style>
</head>
<body>
<!-- a标签默认样式是有下划线的 -->
<a href="">abc123456</a>
<p class="li1">abc123456</p>
<p class="li2">abc123456</p>
<p class="li3">abc123456</p>
<h1>作品简介:</h1>
<p class="p1">
《肖申克的救赎》是美国作家斯蒂芬·埃德温·金的中篇小说,也是其代表作。收录于小说合集《四季奇谭》中,副标题为"春天的希望"。
</p>
<p>
该作讲述银行家安迪,被当作杀害妻子的凶手送上法庭。妻子的不忠、律师的奸诈、法官的误判、狱警的凶暴、典狱长的贪心与卑鄙,将正处在而立之年的安迪一下子从人生的巅峰推向了人间地狱。安迪在狱中在忍受了多年的磨难之后,终于在一个雷电交加的夜晚,越狱而出,重获自由。当翌日典狱长打开安迪的牢门时,发现他已不翼而飞,预感到末日来临的典狱长在检察人员收到安迪投寄的罪证之前,畏罪自杀。
</p>
<p class="p3">
监狱作为故事背景带有寓意性,以安迪、典狱长、狱警和囚犯们所构成的这个世界,本身就是错谬、混乱的。安迪是一个无罪的好人,却被关进监狱接受改造。肖申克的几任典狱长没有一个是清白的,但他们却在那里颐指气使,教化训导着无罪的安迪。在这样一个错谬、黑白颠倒的世界,现代派作家笔下的人物通常会自甘堕落或精神崩溃,而斯蒂芬·金塑造的安迪却像一只浴火后重生的火凤凰,健康自信地飞出了炼狱的火坑。这样的结果同样寄托着作者要使荒原上的人们坚守善良人性并"振奋"起来的创作主旨。
</p>
</body>
</html>
- 查看网页效果:
- 补充:垂直居中对齐行内元素(文本、图片等):
- 首先我们准备一张图片:
cat.jpg
- 然后我们让与该图片处在同一行的文字与它垂直居中对齐:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<!-- 垂直对齐行内的图片或者文字 - vertical-align: middle; -->
<style>
img,span {
vertical-align: middle;
}
</style>
<body>
<p>
<img src="images/cat.png" alt="cat">
<span>这是一只可爱的小猫</span>
</p>
</body>
</html>
- 查看网页效果:
超链接伪类
-
下面是一些超链接伪类:
:hover
- 用户将光标(鼠标指针)悬停在元素上时生效【常用】:active
- 用户使用鼠标按下按键到松开按键之间这段时间内生效【不常用】:linK
- 元素尚未被用户访问时生效【不常用,不做演示】:visited
- 在用户访问链接后生效【不常用,不做演示】
-
下面我们通过写代码的方式来学习如何使用超链接伪类:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
a {
text-decoration: none;
color: black; /* a标签中默认的文本颜色为黑色 */
font-size: 17px; /* a标签中默认的文本大小为17px */
}
/* a标签的伪类 */
/* :hover -- 鼠标悬停在a标签中的文本上时的状态 */
a:hover {
color: orange; /* 鼠标悬停在a标签中的文本上时字体变为橘色 */
font-size: 20px; /* 鼠标悬停在a标签中的文本上时字体放大为20px */
}
/* :active -- 鼠标按住a标签中的文本且未释放时的状态 */
a:active {
color: red; /* 鼠标按住a标签中的文本且未释放时字体变为红色 */
}
</style>
<body>
<a href="#">
<img src="images/book.jpg" alt="book">
</a>
<p>
<a href="#">码出高效:Java开发手册</a>
</p>
<p>
<a href="#">作者:杨冠宝 / 高海慧</a>
</p>
<p>
¥99.0
</p>
</body>
</html>
- 查看默认网页效果:
- 鼠标悬停在
a
标签中的文本上时的网页效果:
- 鼠标按住
a
标签中的文本且未释放时时的网页效果:
文本的阴影效果【拓展】
-
为文字添加阴影:
text-shadow
-
下面我们通过写代码的方式来学习如何实现文本的阴影效果:
- 给上一个网页中的文本
¥99.0
添加一个阴影效果:
- 给上一个网页中的文本
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
a {
text-decoration: none;
color: black;
font-size: 17px;
}
a:hover {
color: orange;
font-size: 20px;
}
a:active {
color: red;
}
/* 文本的阴影效果 -- text-shadow: 水平偏移量 垂直偏移量 阴影模糊半径 阴影颜色 */
#price {
text-shadow: 3px 3px 3px red;
}
</style>
<body>
<a href="#">
<img src="images/book.jpg" alt="book">
</a>
<p>
<a href="#">码出高效:Java开发手册</a>
</p>
<p>
<a href="#">作者:杨冠宝 / 高海慧</a>
</p>
<p id="price">
¥99.0
</p>
</body>
</html>
- 查看网页效果:
- 以上面的网页为例,关于阴影的偏移量和模糊半径的理解可以参照下图:
列表样式练习
- 下面是一个购物网站首页侧边的列表部分的 HTML 代码:
index.html
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h2 class="title">全部商品分类</h2>
<ul>
<li><a href="#">图书</a> <a href="#">音像</a> <a href="#">数字商品</a></li>
<li><a href="#">家用电器</a> <a href="#">手机</a> <a href="#">数码</a></li>
<li><a href="#">电脑</a> <a href="#">办公</a></li>
<li><a href="#">家居</a> <a href="#">家装</a> <a href="#">厨具</a></li>
<li><a href="#">服饰鞋帽</a> <a href="#">个性化妆</a></li>
<li><a href="#">礼品箱包</a> <a href="#">钟表</a> <a href="#">珠宝</a></li>
<li><a href="#">食品饮料</a> <a href="#">保健食品</a></li>
<li><a href="#">彩票</a> <a href="#">旅行</a> <a href="#">充值</a> <a href="#">票务</a></li>
</ul>
</body>
</html>
- 查看默认网页效果:
- 下面我们运用先前学习的知识来给上面的页面添加一些样式,让他看起来更像一个真正的购物网站首页侧边的列表:
index.html
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link href="css/style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- div标签定义网页中的一个分隔区块或者一个区域部分 -->
<!-- div标签常用于组合块级元素,以便通过CSS来对这些元素进行格式化 -->
<div id="nav">
<h2 class="title">全部商品分类</h2>
<ul>
<li><a href="#">图书</a> <a href="#">音像</a> <a href="#">数字商品</a></li>
<li><a href="#">家用电器</a> <a href="#">手机</a> <a href="#">数码</a></li>
<li><a href="#">电脑</a> <a href="#">办公</a></li>
<li><a href="#">家居</a> <a href="#">家装</a> <a href="#">厨具</a></li>
<li><a href="#">服饰鞋帽</a> <a href="#">个性化妆</a></li>
<li><a href="#">礼品箱包</a> <a href="#">钟表</a> <a href="#">珠宝</a></li>
<li><a href="#">食品饮料</a> <a href="#">保健食品</a></li>
<li><a href="#">彩票</a> <a href="#">旅行</a> <a href="#">充值</a> <a href="#">票务</a></li>
</ul>
</div>
</body>
</html>
style.css
css
#nav {
width: 300px;
background: lightgrey;
}
.title {
font-size: 18px;
font-weight: bold;
text-indent: 1em;
line-height: 35px;
background: darkorange;
}
/*
list-style:
none - 去除列表元素的标记(比如圆点、符号、或者自定义计数器样式等)
disc - 实心圆点(li标签默认)
circle - 空心圆点
decimal - 自定义计数器(1. 2. 3. ...)
square - 实心正方形
*/
ul li {
height: 30px;
list-style: none; /* 去除列表前的实心圆点 */
text-indent: 1em;
}
a {
text-decoration: none;
font-size: 14px;
color: black;
}
a:hover {
color: darkorange;
text-decoration: underline;
}
- 查看此时的网页效果:
背景
-
背景颜色:
- 设置背景颜色:
background-color
- 设置背景颜色:
-
背景图片:
- 设置背景图片:
background-image
- 设置背景图片的重复方式:
background-repeat
- 设置背景图片:
-
补充:以上三种设置背景的 CSS 属性都可以直接用
background
简写 -
示例:
-
首先准备一张图片:
dog.jpg
- 然后我们编写一个网页,练习如何将上图设置成网页中块元素的背景图片,以及如何设置我们想要的图片重复方式:
index.html
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div {
width: 1000px;
height: 700px;
border: 2px solid red;
/* 背景图片默认是重复铺满整个div的 - background-repeat: repeat */
background-image: url("images/dog.jpg");
}
.div2 {
/* 设置背景图片不重复 */
background-repeat: no-repeat;
}
.div3 {
/* 设置背景图片在水平方向上重复 */
background-repeat: repeat-x;
}
.div4 {
/* 设置背景图片在垂直方向上重复 */
background-repeat: repeat-y;
}
</style>
</head>
<body>
<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
<div class="div4"></div>
</body>
</html>
- 查看网页效果:
列表样式练习【补充】
- 学习了如何设置背景图片之后,下面我们继续完善我们之前写的列表颜色练习中的页面,给我们的列表上添加箭头图标:
- 首先准备两张透明背景的箭头的图片:
- 然后我们补充之前列表样式练习的 CSS 代码:
style.css
css
#nav {
width: 300px;
background: lightgrey;
}
.title {
font-size: 18px;
font-weight: bold;
text-indent: 1em;
line-height: 35px;
/* background: 背景颜色 背景图片地址 背景图片位置(x y) 背景图片重复方式 */
background: darkorange url("../images/DownArrow.png") 265px 12px no-repeat;
}
ul li {
height: 30px;
list-style: none;
text-indent: 1em;
/* background-image: 背景图片地址 */
background-image: url("../images/RightArrow.png");
/* background-repeat: 背景图片重复方式 */
background-repeat: no-repeat;
/* background-position: 背景图片位置(x y) */
background-position: 230px 2px;
}
a {
text-decoration: none;
font-size: 14px;
color: black;
}
a:hover {
color: darkorange;
text-decoration: underline;
}
- 查看网页效果:
渐变【拓展】
- 渐变效果的实现我们仅作为了解即可,这里推荐一个开源网站:Grabient 。此网站提供了多样且免费的 CSS 渐变效果,我们可以直接复制这个网站上的 CSS 代码到我们自己的网站上以达到我们想要实现的渐变效果:
- 示例:
- 在 Grabient 上选择我们想要实现的渐变效果,复制 CSS 代码:
- 粘贴到我们自己网页的代码中:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- 径向渐变,圆形渐变 -->
<style>
body {
/*background-color: #0093E9;*/
background-image: linear-gradient(160deg, #0093E9 0%, #80D0C7 100%);
}
</style>
</head>
<body>
</body>
</html>
- 查看网页效果: