文章目录
一、CSS介绍
1.为什么需要CSS
(1)在没有CSS之前,我们想要修改HTML元素的样式需要为每个HTML元素单独定义样式属性,费心费力。所以CSS就出现了
(2)使用CSS将HTML页面的内容与样式分离提高web开发的工作效率(针对前端开发)
(3)CSS可以让html元素(内容)+ CSS(样式)分离,更好地控制页面
2.CSS快速入门
需求:创建simple_css.html,完成如下网页
--simple_css.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>css快速入门</title>
<!--
1.在head标签内,出现了 <style type="text/css"></style>
2.表示要写css内容
3.div{} 表示对div元素进行样式的指定
4.width: 300px;(属性) 表示对div样式的具体指定,可以有多个
5.如果有多个, 使用 ; 分开, 最后属性可以没有 ; 但是建议写上
6.当运行页面时, div就会被div{}渲染/修饰
7.小经验: 在调试css时,可以通过修改颜色或者大小,来看是否生效
8.idea格式化快捷键: Ctrl + Alt + L, 注意该快捷方式要没有与其他软件里重复
-->
<style type="text/css">
div {
width: 300px;
height: 100px;
background-color: gold;
}
</style>
</head>
<body>
<div>hello 北京</div>
<br/>
<div>hello 上海</div>
<br/>
<div>hello 广州</div>
<br/>
</body>
</html>
3.CSS语法
(1)CSS语法可以分为两部分:①选择器 ②声明
(2)声明由属性和值组成,多个声明之间用分号分隔
(3)说明:最后一条声明可以不加分号(建议加上)
(4)一行每行只描述一个属性
(5)CSS注释:/**/,类似java
二、常用样式
1.字体颜色
-
介绍
颜色可以写颜色名(比如blue),也可以写rgb值 rgb(200,200,200) 或 用十六进制表示(比如#708090)
- 应用实例
<!--color.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>颜色</title>
<style type="text/css">
div {
/*
有三种方式指定颜色:
1.英文
2.16进制 #7CC6FF [使用最多]
3.三原色rgb(1, 1, 1)
*/
color: #7CC6FF
}
</style>
</head>
<body>
<div>韩顺平教育</div>
</body>
</html>
2.边框
-
应用实例
<!--border.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>边框border</title>
<style type="text/css">
div {
width: 300px;
height: 100px;
border: 1px solid blue;
}
</style>
</head>
<body>
<div>韩顺平教育</div>
</body>
</html>
3.高度height/宽度width
- 高度/宽度像素值:100px, 也可以是百分比值:50%
4.背景颜色
-
background-color属性用来设置背景颜色
-
应用实例
<!--bg.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>背景</title>
<style type="text/css">
div {
width: 300px;
height: 100px;
background-color: pink;
}
</style>
</head>
<body>
<div>韩顺平教育</div>
</body>
</html>
5.字体样式
-
介绍
font-size:指定大小,可以按照像素大小
font-weight:指定是否粗体
font-family:指定类型
-
应用实例
<!--font_style.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>字体样式</title>
<style type="text/css">
div {
border: 1px solid black;
width: 300px;
font-size: 30px;
font-weight: bold;
font-family: 微软雅黑;
}
</style>
</head>
<body>
<div>韩顺平教育</div>
</body>
</html>
6.div居中
-
margin-left、margin-right 如果设置为auto,表示左右居中
-
应用实例
需求:创建div_center.html,实现div居中效果
<!--div_center.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>div居中</title>
<style type="text/css">
div {
border: 1px solid black;
width: 300px;
font-size: 30px;
font-weight: bold;
font-family: 微软雅黑;
margin-left: auto;
margin-right: auto;
}
</style>
</head>
<body>
<div>韩顺平教育</div>
</body>
</html>
7.文本居中
- text-align: center 表示文本居中
- 应用实例
<!--text_center.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文本居中</title>
<style type="text/css">
div {
border: 1px solid black;
width: 300px;
font-size: 30px;
font-weight: bold;
font-family: 微软雅黑;
margin-left: auto;
margin-right: auto;
text-align: center;
}
</style>
</head>
<body>
<div>韩顺平教育</div>
</body>
</html>
8.超链接去下划线
- text-decoration: none 表示去掉超链接下划线
- 应用实例
<!--link_none.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>超链接去下划线</title>
<style type="text/css">
a {
text-decoration: none;
}
</style>
</head>
<body>
<a href="http://www.baidu.com">百度</a>
</body>
</html>
9.表格细线
- border-collapse: collapse 表示合并边框,完成表格细线的操作
- 应用实例
<!--table_collapse.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表格细线</title>
<style type="text/css">
/*
设置边框 : border: 1px solid black
将边框合并: border-collapse: collapse;
指定宽度: width
设置边框: 给 td, th 指定即可 border: 1px solid black;
*/
/*
1.table, tr, td 表示组合选择器
2.即table, tr, td使用统一的样式,提高代码的复用性
*/
table, tr, td {
width: 300px;
border: 1px solid black;
border-collapse: collapse;
}
</style>
</head>
<body>
<table>
<tr>
<td align="center" colspan="3">星期一菜谱</td>
</tr>
<tr>
<td rowspan="2">素菜</td>
<td>青草茄子</td>
<td>花椒扁豆</td>
</tr>
<tr>
<td>小葱豆腐</td>
<td>炒白菜</td>
</tr>
<tr>
<td rowspan="2">荤菜</td>
<td>油焖大虾</td>
<td>海参鱼翅</td>
</tr>
<tr>
<td>红烧肉</td>
<td>烤全羊</td>
</tr>
</table>
</body>
</html>
10.无序列表去样式
- list-style: none 表示去掉默认的修饰
- 应用实例
<!--ul_none.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>列表去修饰</title>
<style type="text/css">
ul {
list-style: none;
}
</style>
</head>
<body>
<ul>
<li>三国演义</li>
<li>红楼梦</li>
<li>西游记</li>
<li>水浒传</li>
</ul>
</body>
</html>
三、CSS三种使用方式
1.行内样式
写在标签的style属性中(不推荐)
- 应用实例
<!--css_style1.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>行内样式</title>
</head>
<body>
<div style="width: 300px; height: 100px; background-color: pink">hello 北京</div><br />
<div style="width: 300px; height: 100px; background-color: pink">hello 上海</div><br />
<div style="width: 300px; height: 100px; background-color: pink">hello 天津</div><br />
</body>
</html>
- 问题分析
(1)标签多、样式多,代码量庞大
(2)可读性差
(3)CSS代码没有复用性
2.内嵌样式
写在style标签中(可以写在页面任何位置,但通常约定写在head标签中)
- 应用实例
<!--css_style2.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>内嵌样式</title>
<style type="text/css">
div {
width: 300px;
height: 100px;
background-color: pink;
}
span {
border: 2px solid cornflowerblue;
}
</style>
</head>
<body>
<div>hello 北京</div><br/>
<div>hello 上海</div><br/>
<span>hello world</span>
</body>
</html>
- 问题分析
(1)智能在同一页面用代码维护不方便
(2)实际项目中会有很多页面,需要到对应页面去修改,工作量大
3.外联样式
写在一个单独的.css文件中(需要通过link标签在网页中引入)
- 应用实例
div {
width: 300px;
height: 100px;
background-color: skyblue;
}
span {
border: 2px solid orange;
}
<!--css_style3.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>外联样式</title>
<!--
1.rel 是 relation(关联)
2.href 表示引入的css文件的位置,可以是web的完整路径
3.type="text/css" 可以写,也可以不写
4.推荐使用这种方式(外联样式)
-->
<link rel="stylesheet" type="text/css" href="./css/my.css" />
</head>
<body>
<div>hello 北京</div><br/>
<div>hello 上海</div><br/>
<span>hello world</span>
</body>
</html>
四、CSS选择器
1.CSS元素选择器
(1)最常见的CSS选择器是元素选择器,换句话说,文档的元素就是最基本的选择器。
(2)CSS元素/标签选择器通常是某个HTML元素,比如:p、h1、a等
(3)举例
h1 {color:blue;}
h2 {color:red;}
p {color:blue;}
(4)应用实例
<!--element_selector.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>元素选择器</title>
<!--元素选择器会修饰所有对应的元素-->
<style type="text/css">
h1 {
color: #b6efff;
}
p {
color: #ffcad3;
}
</style>
</head>
<body>
<h1>韩顺平教育</h1>
<p>hello world</p>
</body>
</html>
2.ID选择器
(1)id选择器可以为标有特定id的 HTML 元素指定特定的样式
(2)id选择器以"#"来定义
(3)举例
#css1 {color: red;}
#css2 {color: green;}
(4)应用实例
<!--id_selector.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>id选择器</title>0
<!--
1.使用id选择器,需要先为修饰的元素指定id属性,id值是程序员自己命名的
2.id值是唯一的,不能重复
3.在<style>标签中指定id选择器时,前面需要有#id值
-->
<style type="text/css">
#css1 {
color: gold;
}
#css2 {
color: greenyellow;
}
</style>
</head>
<body>
<h1 id="css1">韩顺平教育</h1>
<p id="css2">hello world</p>
</body>
</html>
3.类选择器
(1)class类选择器,可以通过class属性选择去使用这个样式
(2)基本语法:.class属性值 {属性:值;}
(3)应用实例
<!--class_selector.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>类选择器</title>
<!--
1.使用class选择器,需要在被修饰元素上,设置class属性,属性值由自己指定
2.class属性值可以重复
3.需要在 <style></style> 指定类选择器的具体样式:.类选择器名
-->
<style type="text/css">
.css1 {
color: mediumpurple;
}
.css2 {
color: gold;
}
</style>
</head>
<body>
<h1 class="css1">韩顺平教育</h1>
<h1 class="css1">hsp教育</h1>
<p class="css2">hello world</p>
</body>
</html>
三种选择器的区别
- 元素选择器作用于全部,id选择器作用于唯一一个,类选择器作用于指定的部分
4.组合选择器
(1)组合选择器可以让多个选择器共用同一个css样式代码
(2)语法格式:选择器1,选择器2,选择器n {属性:值;}
(3)应用实例
<!--combination_selector.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>组合选择器</title>
<style type="text/css">
#css1, .class01 {
width: 300px;
height: 100px;
border: 2px solid skyblue;
}
</style>
</head>
<body>
<h1 id="css1">韩顺平教育</h1>
<p class="class01">hello world</p>
</body>
</html>
5.优先级说明
- 行内样式 > id选择器 > class选择器 > 元素选择器