CSS
1.CSS引入方式
内嵌式: CSS写在style标签中
- 提示: style标签 虽然可以写在页面任意位置,但是通常约定写在head标签中
外联式: CSS写在一个单独的.css文件中
- 提示:需要通过link标签在网页中引入
行内式: CSS写在标签的style属性中
- 提示:不推荐使用,之后会配合js使用
1.1内嵌式示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
p{
color: brown;
}
</style>
</head>
<body>
<p>这是一个p标签</p>
</body>
</html>
1.1内嵌式效果:
1.2外联式示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./1.css">
</head>
<body>
<p>这是一个p标签</p>
</body>
</html>
1.2外联式效果:
1.3行内式示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p style="color: green; font-size: 40px;">这是一个p标签</p>
</body>
</html>
1.3行内式效果:
2.标签选择器:
结构:标签名{ css属性名:属性值; }
作用:通过标签名,找到页面中所有这类标签,设置样式
注意点:
- 标签选择器选择的是一类标签, 而不是单独某一个
- 标签选择器无论嵌套关系有多深,都能找到对应的标签
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
p{
color: red;
}
</style>
</head>
<body>
<p>pppppppppp</p>
<p>pppp</p>
<p>pp</p>
</body>
</html>
效果:
类选择器:
结构: .类名{ css属性名:属性值; }
作用:通过类名,找到页面中所有带有这个类名的标签,设置样式
注意点:
- 所有标签上都有class属性,class属性的属性值称为类名(类似于名字)
- 类名可以由数字、字母、下划线、 中划线组成,但不能以数字或者中划线开头
- 一个标签可以同时有多个类名,类名之间以空格隔开
- 类名可以重复, 一个类选择器可以同时选中多个标签
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.red{
color: red;
}
.size{
font-size: 60px;
}
</style>
</head>
<body>
<div class="red">变化</div>
<div class="size">百变</div>
<div class="red">学院</div>
<div class="red size">逍遥</div>
</body>
</html>
效果:
3.id选择器:
结构: #id属性值{ Css属性名:属性值; }
作用:通过id属性值,找到页面中带有这个id属性值的标签,设置样式
注意点:
- 所有标签上都有id属性
- id属性值类似于身份证号码, 在一个页面中是唯一的, 不可重复的!
- 一个标签上只能有一个id属性值
- 一 个id选择器只能选中一个标签
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#red{
color: red;
}
#size{
font-size: 60px;
}
</style>
</head>
<body>
<div id="red">变化</div>
<div id="size">百变</div>
</body>
</html>
效果:
4.通配符选择器:
结构: { css属性名:属性值; }
作用:找到页面中所有的标签,设置样式
注意点:
- 开发中使用极少,只会在极特殊情况下才会用到
- 在一些小页面中可能会用于去除标签默认的margin和padding
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{
color: red;
font-size: 50px;
}
</style>
</head>
<body>
<div>变化</div>
<p>百变</p>
</body>
</html>
效果:
5.文字基本样式:
属性名: font-size
取值:数字+px
注意点:
- 谷歌浏览器默认文字大小是16px
- 单位需要设置,否则无效
5.1字体粗细
属性名: font-weight
关键字 | 取值 |
---|---|
正常 | normal |
加粗 | bold |
纯数字 | 100~900的整百数: |
---|---|
正常 | 400 |
加粗 | 700 |
注意点:
- 不是所有字体都提供了九种粗细,因此部分取值页面中无变化
- 实际开发中以:正常、加粗两种取值使用最多。
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.qg{
font-weight: bold;
}
.sf{
font-weight: normal;
}
.q{
font-weight: 400;
}
.s{
font-weight: 700;
}
</style>
</head>
<body>
<p>奇怪</p>
<p><strong>舒服</strong></p>
<p class="sf">舒服</p>
<p class="qg">奇怪</p>
<div class="s">舒服</div>
<div class="q">奇怪</div>
</body>
</html>
效果:
5.2字体倾斜:
属性名:font-style
关键字 | 取值 |
---|---|
正常(默认值) | normal |
倾斜 | italic |
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.qg{
font-style: normal;
}
.sf{
font-style: italic;
}
</style>
</head>
<body>
<p>奇怪</p>
<p><em>舒服</em></p>
<p class="qg">奇怪</p>
<p class="sf">舒服</p>
</body>
</html>
效果:
5.3字体系列font-family
#### 示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
font-family: 楷体,微软雅黑, 黑体, sans-serif;
}
</style>
</head>
<body>
<div>字体大小</div>
</body>
</html>
效果:
5.6样式的层叠问题
**问题:**给同一个标签设置了相同的样式,此时浏览器会如何渲染呢?
结果:如果给同一个标签设置了相同的属性,此时样式会层叠(覆盖),写在最下面的会生效
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
color: red;
color: blue;
}
</style>
</head>
<body>
<div>字体颜色</div>
</body>
</html>
效果:
字体颜色
5.7字体font相关属性的连写:
属性名: font (复合属性)
取值:
- font : style weight size family;
省略要求:
- 只能省略前两个,如果省略了相当于设置了默认值
注意点: 如果需要同时设置单独和连写形式
- 要么把单独的样式写在连写的下面
- 要么把单独的样式写在连写的里面
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
/*style weight size family*/
font: italic bold 60px 宋体;
}
p{
font: italic bold 60px 宋体;
font: italic 700 60px 微软雅黑;
}
</style>
</head>
<body>
<div>这是div标签</div>
<p>这是p标签</p>
</body>
</html>
效果:
5.8文本缩进
属性名:text-indent
取值:
- 数字+px
- 数字+em(推荐:1em=当前标签的font-size的大小)
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
textarea{
text-indent: 2em;
}
</style>
</head>
<body>
<textarea cols="30" rows="10">士大夫顶顶顶顶顶顶顶顶顶顶顶顶顶反对看来感觉方格弗兰克给发</textarea>
</body>
</html>
效果:
5.9水平对齐方式(左,中,右)
text-align : center能让哪些元素水平居中?
- 文本
- span标签、a标签
- input标签、 img标签
注意点:
如果需要让以上元素水平居中,text-align: center需要给以上元素的父元素设置
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
p{
text-align: center ;
}
</style>
</head>
<body>
<p>我当放规范</p>
</body>
</html>
效果:
我当放规范
5.10文本修饰线
属性名: text-decoration
属性值 | 效果 |
---|---|
underline | 下划线(常用) |
line-through | 删除线(不常用) |
overline | 上划线(几乎不用) |
none | 无装饰线(常用) |
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
text-decoration: underline;
}
p{
text-decoration: line-through;
}
h1{
text-decoration: overline;
}
a{
text-decoration: none;
}
</style>
</head>
<body>
<div>我是div</div>
<p>我是p标签</p>
<h1>我是h1</h1>
<a href="../day1/1.html">我是超链接</a>
</body>
</html>
效果:
5.11行高
作用:控制一行的上下行间距
属性名: line-height
取值:
- 数字+ px
- 倍数(当前标签font-size的倍数)
应用:
- 让单行文本垂直居中可以设置line-height :文字父元素高度
- 网页精准布局时, 会设置line-height: 1可以取消上下间距
行高与font连写的注意点:
- 如果同时设置了行高和font连写,注意覆盖问题,
- font : style weight size/line-height family ;
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
p{
text-indent: 2em;
/*style weight size/line-height family*/
font: italic 700 40px/2 宋体;
/*斜体 加粗 40px的大小 2倍行高 宋体*/
}
</style>
</head>
<body>
<p>1916年,德国天文学家卡尔·史瓦西通过计算得到了爱因斯坦场方程的一个真空解,这个解表明,如果一个静态球对称星体实际半径小于一个定值,
其周围会产生奇异的现象,即存在一个界面——“视界”,一旦进入这个界面,即使光也无法逃脱。
这个定值称作史瓦西半径,这种“不可思议的天体”被美国物理学家约翰·阿奇博尔德·惠勒命名为“黑洞”。
黑洞无法直接观测,但可以借由间接方式得知其存在与质量,
并且观测到它对其他事物的影响。借由物体被吸入之前的因黑洞引力带来的加速度导致的摩擦而放出x射线和γ射线的“边缘讯息”,可以获取黑洞存在的讯息。
推测出黑洞的存在也可借由间接观测恒星或星际云气团绕行轨迹来得出,还可以取得其位置以及质量。</p>
</body>
</html>
5.12 标签水平居中方法总结margin: 0 auto
如果需要让div. p. h (大盒子)水平居中
可以通过margin: 0 auto ;实现
注意点:
- 如果需要让div、p、h (大盒子) 水平居中,直接给当前元素本身设置即可
- margin: 0 auto 一般针对于固定宽度的盒子,如果大盒子没有设置宽度,此时会默认占满父元素的宽度
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
p{
width: 400px;
height: 400px;
text-indent: 2em;
margin: 0 auto;
background-color: brown;
}
</style>
</head>
<body>
<p>1916年,德国天文学家卡尔·史瓦西通过计算得到了爱因斯坦场方程的一个真空解,这个解表明,如果一个静态球对称星体实际半径小于一个定值,
其周围会产生奇异的现象,即存在一个界面——“视界”,一旦进入这个界面,即使光也无法逃脱。
这个定值称作史瓦西半径,这种“不可思议的天体”被美国物理学家约翰·阿奇博尔德·惠勒命名为“黑洞”。
黑洞无法直接观测,但可以借由间接方式得知其存在与质量,
并且观测到它对其他事物的影响。借由物体被吸入之前的因黑洞引力带来的加速度导致的摩擦而放出x射线和γ射线的“边缘讯息”,可以获取黑洞存在的讯息。
推测出黑洞的存在也可借由间接观测恒星或星际云气团绕行轨迹来得出,还可以取得其位置以及质量。
</p>
</body>
</html>