HTML + CSS + JavaScript
结构 + 表现 + 交互
1、什么是CSS
如何学习?
1、CSS是什么?
2、CSS怎么用(快速入门)
3、CSS选择器(重点 + 难点)
4、美化网页(文字,阴影,超链接,列表,渐变…)
5、盒子模型
6、浮动
7、定位
8、网页动画(特效)
9、学习网站:菜鸟教程、W3C
1.1、什么是CSS
Cascading Style Sheet 层叠级联样式表
CSS:表现(美化网页)
字体、颜色、边距、高度、宽度、背景图片、网页定位、网页浮动…
1.2、发展史
CSS1.0
CSS2.0 DIV (块)+ CSS,HTML与CSS结构分离的思想,网页变得简单,SEO
CSS2.1 浮动,定位
CSS3.0 圆角,阴影,动画…… 浏览器兼容性~
1.3、快速入门
style
基本入门
HTML与CSS未分离:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title>
<style> h1{ color: red; } </style> </head> <body>
<h1>我是标题</h1>
</body> </html>
|
HTML与CSS分离(建议使用这种规范):
css的优势:
1、内容和表现分离
2、网页结构表现统一,可以实现复用
3、样式十分丰富
4、建议使用独立于html的css文件
5、利用SEO,容易被搜索引擎收录!
1.4、css的三种导入方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title>
<style> h1{ color: green; } </style>
<link rel="stylesheet" href="css/style.css"> </head> <body>
<h1 style="color: red">我是标题</h1>
</body> </html>
|
拓展:外部样式的两种写法
链接式
html
1 2
| <link rel="stylesheet" href="css/style.css">
|
导入式
@import 是 CSS2.1特有的!
1 2 3 4
| <style> @import url(css/style.css); </style>
|
2、选择器
作用:选择页面上的某一个或者某一类元素
2.1、基本选择器
1、标签选择器:
选择一类标签 标签{}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> h1{ color: #1a4572; background: red; border-radius: 24px; } p{ font-size: 80px; } </style> </head> <body>
<h1>学Java</h1> <h1>学Java</h1> <p>听Java</p> </body> </html>
|
2、类选择器 class:
选择所有class属性一致的标签,跨标签 .class{}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title>
<style>
.feilong{ color: #8d5151; } .qianlong{ color: purple; } </style>
</head> <body>
<h1 class="feilong">标题1</h1> <h1 class="qianlong">标题2</h1> <h1 class="feilong">标题3</h1>
<p class="qianlong">P标签</p>
</body> </html>
|
3、Id选择器:
全局唯一! #id{}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title>
<style>
#feilong{ color: red; } .style1{ color: blue; } h1{ color: green; } </style>
</head> <body> <h1 id="feilong" class="style1">标题1</h1> <h1 class="style1">标题2</h1> <h1 class="style1">标题3</h1> <h1>标题4</h1> <h1>标题5</h1> </body> </html>
|
优先级:id > class > 标签
2.2、层次选择器
1、后代选择器:
在某个元素的后面,祖爷爷,爷爷,爸爸,你
1 2 3 4
| body p{ background: red; }
|
2、子选择器
只有一代,儿子
1 2 3 4
| body>p{ background: cornflowerblue; }
|
3、相邻兄弟选择器
同辈(弟弟选择器)
1 2 3 4
| .active+p{ background: #1a4572; }
|
4、通用选择器
(所有弟弟选择器)
1 2 3 4
| .active~p{ background: blue; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .active~p{ background: blue; } </style> </head> <body> <p>p0</p> <p class="active">p1</p> <p>p2</p> <p>p3</p> <ul> <li> <p>p4</p> </li> <li> <p>p5</p> </li> <li> <p>p6</p> </li> </ul> </body> </html>
|
2.3、结构伪类选择器
伪类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!-- 避免使用class,id选择器 --> <style> ul li:first-child{ background: blue; } ul li:last-child{ background: red; }
p:nth-child(1){ background: green; } p:nth-of-type(2){ background: yellow; } </style> </head> <body> <!--<a href="https://www.baidu.com">打开百度</a>--> <!--<h1>h1</h1>--> <p>p1</p> <p>p2</p> <p>p3</p> <ul> <li>li1</li> <li>li2</li> <li>li3</li> </ul> </body> </html>
|
2.4、属性选择器(重要、常用)