为什么出现CSS?
- HTML满足不了设计者的需求
- HTML操作属性不方便
- HTML里面添加样式带来的是臃肿和繁琐
CSS
CSS:层叠样式表 设置网页外观的样式
css的书写方式
行内样式表
通过style的属性值来设置元素的样式
<标签名 style="属性1:属性值1; 属性2:属性值2;">内容</标签名>
注意事项
- style便是元素的属性
- 属性与属性值之间用:相隔
- 多组属性值之间用;相隔
- 没有实现元素样式和结构相分离
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>行内样式表</title>
</head>
<body>
<h2 style="font-family: '楷体'; color: blue; ">行内样式表</h2>
</body>
</html>
内联样式表
将CSS代码写在<head></head>之间 并用style标签定义
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>内联样式表</title>
<style>
p {
color:red;
font-family: '楷体';
}
</style>
</head>
<body>
<p>内联样式表</p>
</body>
</html>
外部样式表
将样式表放入一个或多个以.css扩展名的文件中 ,用link标签将样式表引入html文件中
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>外链样式表</title>
<link rel="stylesheet" href="./stylesheet.css">
</head>
<body>
<p>外链样式表</p>
</body>
</html>
stylesheet.css
p {
color: red;
font-size: 25px;
font-family:'楷体';
}
CSS样式表总结
选择器
作用:找到特定的页面HTML元素
标签选择器
优点: 能够快速为某一类元素设置样式
缺点: 不能设计差异化样式。
选择器 {属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>标签选择器</title>
<style>
h2 {
color: red;
font-size: 25px;
font-family: '楷体';
}
</style>
</head>
<body>
<h2>标签选择器</h2>
</body>
</html>
类选择器
可为一个或某几个元素设置相同的样式 类名用英语表示,见命之意。
.类名 {
属性1:属性值1;
属性2:属性值2;
属性3:属性值3;
属性4:属性值4;
}
<标签 class="类名" >内容</标签>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>类选择器</title>
<style>
.c-red {
color: red;
}
</style>
</head>
<body>
<div class="c-red">Hello Word</div>
<span class="c-red">hello Word</span>
</body>
</html>
谷歌案例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Google案例</title>
<style>
span {
font-size: 100px;
}
.c-blue {
color: blue;
}
.c-red {
color: red;
}
.c-yellow {
color: yellow;
}
.c-green {
color: green;
}
</style>
</head>
<body>
<span class="c-blue">G</span>
<span class="c-yellow">o</span>
<span class="c-red">o</span>
<span class="c-blue">g</span>
<span class="c-green">l</span>
<span class="c-red">e</span>
</body>
</html>
多类名选择器
标签可以拥有多个类名,以达到更好的目的。类名之间用空格相隔开。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>多类名选择器</title>
<style>
.c-red {
color: red;
}
.f-family {
font-family: '楷体';
}
</style>
</head>
<body>
<div class="c-red f-family"> 多类名选择器</div>
</body>
</html>
id选择器
#id名 { 属性1:属性值1;
属性2:属性值2;
属性3:属性值3;
属性4:属性值4;
}
<标签 id="id名">内容</标签>
注意事项
- ID选择器是唯一的,一个标签只能拥有一个id名
- id选择器和类选择唯一的区别在于使用次数上
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ID选择器</title>
<style>
#c-red {
color: red;
}
</style>
</head>
<body>
<div id='c-red'>ID选择器</div>
</body>
</html>
通配符选择器
选择页面中所有的标签设置相同的样式,建议不要轻易使用
* {
属性1:属性值1;
属性2:属性值2;
属性3:属性值3;
属性4:属性值4;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>通配符选择器</title>
<style>
* {
color: red;
}
</style>
</head>
<body>
<div>Hello word</div>
<p>Hello Word</p>
<span>Hello Word</span>
</body>
</html>
CSS字体
font-size
作用:设置字号
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
body {
font-size: 16px;
}
h1 {
/* em:当前对象的文本尺寸 */
font-size: 2em;
}
</style>
</head>
<body>
<h1>Hello Word</h1>
</body>
</html>
注意事项
不同浏览器的默认字号都不一样,因此直接给body设置默认字号。
font-family
font-family:设置字体
{font-family: "agency fb","microsoft yahei",'楷体';}
注意事项
- 可以指定多个字体,字体之间用英文状态下逗号相隔
- 英文的字体要用""包裹
unicode字体
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
padding:0;
}
h2 {
font-family: "agency fb","microsoft yahei",'楷体'
}
</style>
</head>
<body>
<h2>Hello word</h2>
</body>
</html>
fon-weight
font-weiht:字体粗细
注意事项
可以用HTML实现加粗效果 也可以用css实现 但没有语义
样式
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
span:nth-of-type(1){
font-weight: bold;
}
span:nth-of-type(2){
font-weight: normal;
}
</style>
</head>
<body>
<span>Hello Word</span>
<span>Hello MyWord</span>
</body>
</html>
font-style
font-style:字体倾斜
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
p:nth-of-type(1){
font-style: normal;
}
p:nth-of-type(2){
font-style: italic;
}
</style>
</head>
<body>
<p>hello word</p>
<p>hello word</p>
</body>
</html>
font综合写法
选择器 {font:font-style font-weight font-size/line-height font-family}
注意事项
不能省略font-size font-family两个属性
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
p {
font:normal normal 50px '楷体'
}
</style>
</head>
<body>
<p>WEB前端</p>
</body>
</html>
CSS外观属性
color
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
h2 {
color: red;
}
h4 {
color: #00ff00;
}
h6 {
color: rgb(255,0,0);
}
</style>
</head>
<body>
<h2>Hello Word</h2>
<h4>Hello Word</h4>
<h6>Hello Word</h6>
</body>
</html>
在这里插入图片描述
text-align
text-align:文本水平对齐方式
注意事项
是让盒子的内容水平居中 而不是让盒子水平居中
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
h2 {
text-align: center;
}
</style>
</head>
<body>
<h2>Hello Word</h2>
</body>
</html>
line-height
line-height:行高
一般情况下 行高比默认字体大7 8像素即可
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
body {
font-size: 16px;
}
p {
line-height: 25px;
}
</style>
</head>
<body>
<p>赤道略略鼓,两极稍稍扁。自西向东转,时间始变迁。南北为纬线,相对成等圈。东西为经线,独成平行圈;赤道为最长,两极化为点。</p>
<p>赤道略略鼓,两极稍稍扁。自西向东转,时间始变迁。南北为纬线,相对成等圈。东西为经线,独成平行圈;赤道为最长,两极化为点。</p>
</body>
</html>
text-indent
text-indent:首行缩进 一般用em表示 1em等于一个汉字的宽度
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
p {
text-indent: 2em;
}
</style>
</head>
<body>
<p>赤道略略鼓,两极稍稍扁。自西向东转,时间始变迁。南北为纬线,相对成等圈。东西为经线,独成平行圈;赤道为最长,两极化为点。</p>
<p>赤道略略鼓,两极稍稍扁。自西向东转,时间始变迁。南北为纬线,相对成等圈。东西为经线,独成平行圈;赤道为最长,两极化为点。</p>
</body>
</html>
text-decoration
text-decoration:文本装饰
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
p:nth-of-type(1){
text-decoration: none;
}
p:nth-of-type(2){
text-decoration: underline;
}
p:nth-of-type(3){
text-decoration: overline;
}
p:nth-of-type(4){
text-decoration: line-through;
}
</style>
</head>
<body>
<p>hello word</p>
<p>hello word</p>
<p>hello word</p>
<p>hello word</p>
</body>
</html>
css外观总结
开发工具
快捷方式
- f12
- ctrl+shift+I
- 右击检查 即可打开
注意事项
左侧是结构 右侧是样式