CSS
如何学习
- CSS是什么
- CSS怎么使用(快速入门)
- CSS选择器(重点+难点)
- 美化网页(文字,阴影,超链接,列表,渐变……)
- 盒子模型
- 浮动
- 定位
- 网页动画(特效)
1.1、 什么是CSS
Cascading Style Sheet 层叠样式表
CS:表现(美化网页)
字体 颜色 边距 高度 宽度 背景图片 网页定位 网页浮动……
1.2、发展史
CSS1.0
CSS2.0 DIV(块)+CSS,HTML与CSS结构分离的思想
CSS2.1浮动定位
CSS3.0圆角,阴影,动画 …… 浏览器兼容性
1.3、快速入门
规范
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O0Olr7dG-1614495481000)(C:\Users\lcj\AppData\Roaming\Typora\typora-user-images\image-20210222093027312.png)]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我的第一个css程序</title>
<style>
h1{
color: #ff634c;
}
</style>
<!-- <link rel="stylesheet" href="css/style.css">-->
</head>
<body>
<h1>我是一级标题</h1>
</body>
</html>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-njGoZlF5-1614495481003)(C:\Users\lcj\AppData\Roaming\Typora\typora-user-images\image-20210222111039470.png)]
css的优势:
- 内容和表现分离
- 网页结构表现统一,可以实现复用
- 样式十分丰富
- 建议使用独立于html的css文件
- 利用SEO,容易被搜索引擎收录
Vue框架;不容易被搜索引擎收录
1.4CSS的3种导入方式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我的第一个css程序</title>
<!--内部样式-->
<style>
h1{
color: #ff634c;
}
</style>
<!--外部样式-->
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<!--行内样式-->
<h1 style="color: #1b3cff">我是一级标题</h1>
</body>
</html>
遵从就近原则:离元素进的先表现
拓展:外部样式的第二种方法
导入式:CSS2.1特有的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>导入式</title>
<!--外部样式 导入式-->
<style>
@import url("css/style.css");
</style>
<!--外部样式 链接式-->
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<h1 >我是一级标题</h1>
</body>
</html>
这种方式会出现先出现网页文字框架,后加载样式,然后网页的样式才出现
2、选择器
作用:选择页面上的某一个元素或者某一类元素
2.1、基本选择器
-
标签选择器
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>基本选择器</title> <!-- 标签选择器 通过标签名{}来使用 会选择该页面所有的同类标签--> <style> h1{ color: #892020; background: aqua; border-radius: 24px; } p{ font-size: 80px; } </style> </head> <body> <h1>学java</h1> <h1>学java</h1> <p>练车</p> </body> </html>
-
类选择器 class
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>类选择器</title> <style> /*类选择器 .class名称 可以多个标签归类,可以复用 */ .t1 { color: #4c6dc6; } .t2{ color: #6bc633; } </style> </head> <body> <h1 class="t1">你好</h1> <h1 class="t2">你好</h1> <h1 class="t1">你好</h1> </body> </html>
-
id选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>id选择器</title>
<style>
/*
id选择器
#+id名称{}
id全局为1
这里不遵从就近原则
id选择器>类选择器>标签选择器
*/
#id1{
color: #ff634c;
}
.o2{
color: #1b3cff;
}
h1{
color: aqua;
}
</style>
</head>
<body>
<h1 id="id1"class="o2">标题1</h1>
<!--<h1 id="id1">标题2</h1> 多个元素不可以同一个id-->
<h1 class="o2">标题3</h1>
<h1 class="o2">标题4</h1>
<h1>标题5</h1>
<h1>标题6</h1>
</body>
</html>
优先级:id>类>标签
2.2层次选择器
- 后代选择器:在某个元素的后面 祖父 爷爷 爸爸 我
- 子选择器 一代,儿子
- 相邻兄弟选择器 下面相邻的一个 选择
- 通用选择器 当前选择,的下面所有兄弟类选择
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>层次选择器</title>
<style>
body p{
background: wheat;
}
body>p{
background: #4c6dc6;
}
.t1 + p{
background: red;
}
.t1~p{
background: aqua;
}
</style>
</head>
<body>
<p>1</p>
<p class="t1">2</p>
<p>3</p>
<ul>
<li><p>4</p></li>
<li><p>5</p></li>
<li><p>6</p></li>
</ul>
<p>7</p>
</body>
</html>
2.3结构伪类选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>结构伪类选择器</title>
<style>
/*选择ul的第一个元素*/
ul li:first-child{
background: #6bc633;
}
/*选择ul的最后一个元素*/
ul li:last-child{
background: red;
}
/*body p:first-child{*/
/* background: aqua;*/
/*}*/
p:nth-child(2){/*选择父类的子类里第一个元素,如果不是当前选择的元素类就会不显示效果*/
/*background: blue;*/
}
p:nth-of-type(1){/*选择父类的子类面p类里的第一个元素*/
background: violet;
}
</style>
</head>
<body>
<h1>iii</h1>
<p>p1</p>
<p>p2</p>
<p>p3</p>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</body>
</html>
2.4属性选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>属性选择器</title>
<style>
.demo a{
float: left;/*浮动 向左*/
display: block;/*变成块级元素*/
background: violet;
width: 50px;
height: 50px;
border-radius: 10px;/*圆角*/
text-align: center;
color: gainsboro;
text-decoration: none;
margin-right: 5px;
font: bold 20px/50px Arial;
}
a[id=first]{
background: yellow;
}
a[class*=first]{/*表示选择包含first的*/
background: #ff634c;
}
a[href^=i]{/*选择以什么开头*/
background: black;
}
a[href$=png]{/*选择以什么结尾i*/
background: blueviolet;
}
</style>
</head>
<body class="demo">
<a href="http://www.baidu.com"class="links first">1</a>
<a href=""class="links world"target="_blank"title="i love you">2</a>
<a href="image/123.html"class="world first">3</a>
<a href="mage/123.png">4</a>
<a href="image/123.jpg">5</a>
<a href="image/123.pdf">6</a>
<a href=""id="first">7</a>
<a href="">8</a>
<a href="">9</a>
<a href="">10</a>
</body>
</html>
3、美化网页元素
3.1字体样式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>字体样式学习</title>
<style>
span{
font-size: 50px;
}
body{
font-family:"Arial Black",楷体;/*修改字体 可以添加两种一个英文字体*/
color: #232020;
}
h1{
font-size: 50px;
}
.p1{
font-weight: bolder;/*文字粗细*/
}
a{/*字体风格 字体粗细 字体大小 字体*/
font: oblique bolder 12px "楷体";
}
</style>
</head>
<body>
关键字突出使用 <span>span</span>
<h1>摘要:</h1>
<p class="p1">鱼孩子有一个五颜六色的补丁口袋。这个大口袋是他用捡回的各种塑料,由细软的绿水草缝制而成的,上面还贴着五彩的贝壳。其他小鱼儿都说它像个垃圾箱
</p>
<p>鱼孩子有一个五颜六色的补丁口袋。</p>
<p>这个大口袋是他用捡回的各种塑料,由细软的绿水草缝制而成的,上面还贴着五彩的贝壳。其他小鱼儿都说它像个垃圾箱,鱼孩子说它是个万宝箱,能装许多宝贝。</p>
<p>When I wake up in the morning,
You are all I see;
When I think about you,
And how happy you make me。
You're everything I wanted;
You're everything I need;
I look at you and know;
That you are all to me。
Barry Fitzpatrick</p>
<a href="">鱼孩子有一个五颜六色的补丁口袋。</a>
</body>
</html>
3.2文本样式
- 颜色
- 文本对齐方式
- 首行缩进
- 行高
- 装饰
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
p{
color: rgba(0,252,334,0.9);/*单词 RGB 0~F RGBA 带透明度*/
}
h1{
text-align: center;/*居中排版*/
}
.c1{
text-indent: 2em;/*首行缩进*/
}
.c2{
background: #ff634c;
height: 300px;/* 行高*/
line-height: 300px;
}
.l1{
text-decoration: underline;/*下划线*/
}
.l2{
text-decoration: line-through;/*中划线*/
}
.l3{
text-decoration: overline;/*上划线*/
}
img,span{
vertical-align: middle;/*实现文字在图片的中间*/
}
</style>
</head>
<body>
<img src="image/a..png" alt="askdfaj"><span>asdjfkvsn</span>
<p class="l1">You are all I see;</p>
<p class="l2">When I think about you,</p>
<p class="l3">And how happy you make me。</p>
<h1>摘要</h1>
<p>鱼孩子有一个五颜六色的补丁口袋。</p>
<p class="c1">鱼孩子有一个五颜六色的补丁口袋鱼孩子有一个五颜六色的补丁口袋鱼孩子有
一个五颜六色的补丁口袋鱼孩子有一个五颜六色的补丁口袋鱼孩子有一个五颜六色的补丁口袋鱼孩子有一个五颜六色的补丁口袋。</p>
<p class="c2">When I wake up in the morning,
You are all I see;
When I think about you,
And how happy you make me。
You're everything I wanted;
You're everything I need;
I look at you and know;
That you are all to me。
Barry Fitzpatrick</p>
</body>
</html>
3.3超链接伪类
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>超链接伪类</title>
<style>
a{
text-decoration: none;
color: black;
}
a:hover{/*鼠标悬停的颜色*/
color: blueviolet;
}
a:active{/*鼠标按住未释放的时候*/
color: chartreuse;
}
p{
border-radius: 20px;
background:red;
width: 60px;
/*text-shadow: burlywood 10px 5px 0px; 阴影*/
}
</style>
</head>
<body>
<a href="#"><img src="image/a..png" alt="图片"title="选择浏览器"></a>
<br/>
<a href="#">不同的浏览器</a>
<p>
¥999
</p>
</body>
</html>
3.4列表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>全部商品分类</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div>
<h1>全部商品分类</h1>
<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> <a href="#">数字商品</a></li>
<li><a href="#">图书</a> <a href="#">音像</a> <a href="#">数字商品</a></li>
</ul>
</div>
</body>
</html>
div{
width: 260px;
background:#c6c5c7 ;
}
h1{
font-size: 18px;
font-weight: bold;
text-indent: 3em;
line-height: 35px;
background: red;
}
a{
color: black;
text-decoration: none;
}
a:hover{
color: #166307;
text-decoration: underline;
}
ul li{
list-style: none;/*none 无 ;circle 空心圆;decimal数字;square正方形;*/
height: 30px;
text-indent: 1em;
}
ul{
background: #c6c5c7;
}
设置背景
background: red url("../image/b.png") 235px 14px no-repeat ;
3.5背景
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
width: 1000px;
height: 800px;
border: red 1px solid/*实线*/;
background-image: url("images/1.png");
}
.d1{
background-repeat: repeat-x;/*水平平铺*/
}
.d2{
background-repeat: repeat-y;/*垂直平铺*/
}
.d3{
background-repeat: no-repeat;/*不平铺*/
}
</style>
</head>
<body>
<div class="d1"></div>
<div class="d2"></div>
<div class="d3"></div>
</body>
</html>
3.6渐变
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hCHPkZOM-1614495481006)(C:\Users\lcj\AppData\Roaming\Typora\typora-user-images\image-20210222222632292.png)]
background-image: linear-gradient(19deg,#21D4FD 0%,#B721FF 100%);