一、HTML基本语法
下载 Visual Studio Code – > 新建文本文件 --> 选择语言HTML -->复制代码 --> 按下F5运行 --> 选择浏览器。
1)基本结构
<!DOCTYPE html> <!--文档类型声明:用于声明HTML的版本信息,这次为HTML5-->
<html lang="en"> <!--代表整个HTML文档 lang语言种类en(英语)zh-CN(中文)-->
<head> <!--文档的头部-->
<meta charset="UTF-8"> <!--编码格式的设置-->
<title>Hello,World</title><!-- 标题 -->
</head>
<body><!--文档的主体-->
<h1> 标题一 </h1> <!-- 标题标签 -->
</body>
</html>
2)常用标签
HTML中元素分为单标签元素和双标签
双标签结构
<h1> 内容 </h1>
标签格式 | 描述 |
---|---|
< h1 >, …,< h6 > | 标题标签 |
< font > | 字体样式 |
< p > | 段落标签 |
< div > < span > | 盒子标签 |
< br > | 换行 |
< ul > < li > | 无序列表 |
< ol > < li > | 有序列表 |
< strong > < b > | 强调 |
< em > < i > | 斜体 |
< u > | 下划线 |
< a href = “…” download = “文件名”> | 超链接 |
< a href = “contacts.html#Mailing_address” > | 通过 id的超连接 |
< a href = “#Mailing_address” > | 通过 id的超连接 |
< img src=“…” alt =“…” | 图片 |
< dl > < dt > < dd > | 描述 |
< p>The quote element — <q> — is | |
< addr title = “”> | 缩略语 |
< address > | 标记联系方式 |
< sup> < sub > | 上标,下标 |
< time datetime=“2016-01-20”>20 January 2016 | 时间 |
< header > | 页眉 |
< nav > | 导航栏 |
< main > | 主内容 |
< aside > | 侧边栏 |
< footer > | 页脚 |
二、CSS
1)CSS结构
选择器 { 属性 :值;}
声明
2)书写方式
1嵌入式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">
p{
color: red;
font-size: 100px;
}
</style>
</head>
<body>
<p>Hello,World</p>
</body>
</html>
2.外联式
单独写.css文件,然后在中写入
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel = "stylesheet" href="地址">
</head>
<body>
<p>Hello,World</p>
</body>
</html>
3行内式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<p style="background-color: red;">Hello,World</p>
</body>
</html>
3)选择器
通过一定的语法规则选取对应的HTML标记。然后对其设置样式。
1基本选择器
选择器 | 格式 | 含义 | 举例 |
---|---|---|---|
通用选择器 | *{属性:值} | 不建议使用 | |
标签选择器 | 标签名{属性:值} | ||
类选择器 | .class属性值{属性:值} | ||
ID选择器 | #ID属性值{属性:值} |
4)尺寸样式属性
属性 | 值 |
---|---|
height | auto:自动 length:使用px定义高度%百分比 |
width | 同上 |
5)文本与字体属性
属性 | 值 | 含义 |
---|---|---|
height | auto:自动 length:使用px定义高度%百分比 | |
width | 同上 |
6)文本属性
属性名 | 值 含义 | |
---|---|---|
color | #ff0000或red或rgb(3,5,8) | 给文本设置颜色 |
text-align | left(居左)、right(居右)、center(居中) | 设置文本的水平对齐方向 |
text-decoration | none(去掉文本修饰线)、underline(下划线)、overline(上划线)、line-through(删除线) | 设置文本修饰线 |
text - transform | capitalize\uppercase\lowercase | 大小写转换或者首字母大写 |
Line-height | 固定值或百分比 | 设置行高 |
text-indent | px或者em | 设置首行缩进 允许负值 |
latter - spacing | px | 设置字符间距 |
word-spacing | px | 设置单词间距 |
7)字体属性
属性名 | 值 | 功能 |
---|---|---|
font-style | normal(正常)、(italic)斜体 | 设置文本为斜体 |
font-weightr | normal(正常)、bolde | 设置文字粗细 |
font-size | px | 给文本设置大小 |
font-family | 微软雅黑、楷体、宋体… | 给文本设置字体 |
fonte | font:italic bold 14px“微软雅黑 | 写属性能够同时给文本设置斜体、加粗、大小、字体每一个值之间需要使用空格 并且一定要有顺序。 |
8)复合选择器
属性名 | 值 | 功能 |
---|---|---|
选择器1,选择器2{属性:值}多元素选择器 | 多元素选择器同时匹配选择器1和选择器2,多个选择器之间用逗号分隔 | p,h1,h2{marqin:0px} |
E F{属性:值}后代元素选择器 | 后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔 | #slidebar p{font-color:#990000:} |
E>F{属性:值;}子元素选择器 | 子元素选择器,匹配所有E元素的子元素F | div>p{color:#990000;} |
E+F{属性:值;}相邻元素选择器 | 相邻元素选择器,匹配所有紧随E元素之后的同级元素F | div+div{color:#990000;} |
9)列表样式属性
属性名 | 值 | 含义 |
---|---|---|
list-style-type | none (将列表前面的项目符号去掉),disc (实心园),square (实心小方块),circle (空心园) | 设置列表前项目符号的类型。 |
list-style-position | inside , outside | 设置列表项标记的放置位置。 |
list-style-image | url (图像路径) | 将图象设置为列表项标记。 |
list-style | square inside url(arrow.gif) | 在一个声明中设置所有列表属性 |
10)伪类选择器
格式 a:link{ }
选择器 | 含义 |
---|---|
link | 向未被访问的链接添加样式。 |
visited | 向已被访问的链接添加样式。 |
hover | 当鼠标悬浮在元素上方时,向元素添加样式。 |
active | 鼠标放在元素上面时,点击的一瞬间 |
a:hover{
}
11)属性选择器
属性名 | 含义 | 举例 |
---|---|---|
[attr] | 匹配所有具有attr属性的元素,不考虑它的值 | h1[align]{…} input[type][size]{…} |
[attr=val] | 匹配属性等于指定值的所有元素 | h1[align = “center”]{…} |
[attr^ = “val”] | 匹配属性以指定值开头的所有元素 | Font[color^=“#ff" |
[attr$ = “val”] | 匹配属性的值以指定值结束的所有元素 | Font[color$=“00" |
[attr* = “val”] | 匹配属性中包含指定值的所有元素 | Font[color*=“00" |
input[type = “text”]{ font - size : 36px; }
12)继承性
body的子标签会继承body的样式。
1.只有文本与字体样式属性能被继承,其他样式属性不能被继承
2.实际工作中,会给boby标签设置字体大小以及字体颜色,因为body标签是最外层的元素,内层元素会继承外层的元素样式。
13)优先级
行内样式>ID选择器>类选择器>标签选择器
值:1000 > 100 > 10 > 1
14)!important属性
提升属性的权重。其属性的权重无穷大。
格式 选择器{属性:值!important;} (在css里使用)
注意:改属性只是提升 属性的权重,并没有提升选择器的优先级,所以同样的选择器,并无影响
15)一个标签可以携带多个类名
div.div${黑马程序员$}*3
按下Tab,生成三条语句
<div class="div1 div2">黑马程序员3</div>
如果冲突,会以后写的CSS属性值作为值
16)背景样式属性
属性 | 值 | 含义 |
---|---|---|
background-color | #ff0000、red.rgb(255,0,0) | 背景颜色 |
background-image | url(图像路径和名称); | 背景图像 |
background-repeat | repeat、repeat-x、repeat-y、no-repeat | 背景图像是否重复 |
background-position | center center 或 x% y% 或 xpos ypos | 背景图像起始位置 |
background-attachment | scroll (滚动)、fixed (固定) | 设置背景图像是否固定或者随着页面的其余部分滚动。 |
background | url(1.ipga) no-repeat center center fixed | 设器背景的简写形式 |
17)浮动属性
.div{
float: left;
}
18)清除浮动
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">
.clear {
clear: both;
}
.box{
width: 600px;
border: 1px solid yellow;
margin-left: auto;
margin-right: auto;
}
.div1{
width: 100px;
height: 100px;
background-color: red;
float: right;
}
.div2{
width: 100px;
height: 100px;
background-color: green;
float: left;
}
.div3{
width: 100px;
height: 100px;
background-color: blue;
float: left;
}
</style>
</head>
<body>
<div class="box">
<div class="div1">hhh1</div>
<div class="div2">hhh2</div>
<div class="div3">hhh3</div>
<div class="clear"></div>
<p>ffffff</p>
</div>
</body>
</html>
<ul style="overflow:hidden;">
<li> 项目管理1</li>
</ul>>
19)盒子模型
什么是盒子?
盒子是用来存储物品 sI-
思考一下:一个盒子是由哪些部分进行组成 !v 我们可以将一个盒子理解为一个快递的包裹:v
有内容+有填充物+纸盒子 v
那我们如何去理解 csS 中的盒子呢?“
在 css 中一个盒子的组成部分:内容 (content) +内填充 (padding) +边框(border) +外边距( margin) 一个盒子中的主要属性: width、height、padding、border、marginu
width: 指“宽度”的意思﹐但是这里的宽度指的盒子里面的内容的宽度―而不是盒子的宽刻
hegiht: 指“高度”的意思﹐但是这里的高度指的盒子里面的内容的高度而不是盒子的高度v
padding: 是“内填充”的意思,指的盒子里面的内容到盒子边框的距离
border:是“外边框”的意思指的盒子的边框
margin: 是“外边距”的意思指的是盒子与盒子之间的间距。
20)Padding属性
Padding-top:上内填充、Padding-right:右内填充、Padding-bottom:下内填充、Padding-left:左内填充
简写:Padding:10px 20px 30px 40px;表示上为10像素,左为20像素,右为30像素,下为40像素
21)margin的定义
margin-top: 上外边距。margin-right:右外边距,margin-bottom:下外边距。margin-left:左外边距·
margin:10px 20px 30px 40p;表示上外边距为10像素右外边距为20像素下外边距为30像素左外边距为40像素,
注意:
1、在标准的文档流中竖直方向的 margin 值不会叠加它会取较大的值.
2、横着方向是没有 margin 的塌陷现象.
3、浮动元素它是没有 margin 的塌陷现象的·
margin居中
Margin-bottom:100px auto;
22)border
border: 1px solid;
border-top: 上边框、border-right: 右边框、border-bottom: 下边框、border-left: 左边框 用法同上
23)display
Display 属性取值:inline (行内)、block (块级)、none (无)
.box{
width: 100px;
height: 100px;
background-color: #f00;
display: inline;
}
24)position
position 在英文中表示“位置”的意思它主要是用于实现对玩元素的定位,在 CSS 中定位分为三种:
position:fixed 固定定位
position:relative 相对定位, 相对自己的位置
position:absolute 绝对定位 相对于父元素设置定位
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">
.box{
width: 600px;
height: 600px;
border: 1px solid #000;
margin: 100px auto;
}
.box div{
width: 100px;
height: 100px;
}
.div1{
background-color: #f00;
}
.div2{
background-color: #0f0;
position: relative;
left: 100px;
}
.div3{
background-color: #00f;
}
</style>
</head>
<body>
<div class="box">
<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
</div>
</body>
</html>
25)z-index (z轴,越大越好)
Ø z-index 表示谁压盖着谁,数值大的会压盖住数值小的
Ø 只有定位的元素才有 z-index 值 只有设置了固定定位、相对定位、绝对定位了的元素它们才会拥有 z-index
Ø z-index 的值是没有单位的,值是一个正整数,默认的 z-index 的值是0
Ø 如果定位元素没有设置 z-index 属性或者 z-index 值设置一样,那么写在 HTML 后面的定位前面的定位元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">
div{
width: 100px;
height: 100px;
}
.div1{
background-color: #f00;
position: absolute;
left: 100px;
top: 100px;
z-index: 1;
}
.div2{
background-color: #00f;
position: absolute;
left: 150px;
top: 150px;
z-index: 2;
}
</style>
</head>
<body>
<div class="div2"></div>
<div class="div1"></div>
</body>
</html>
26)结构伪类
选择器 | 功能 |
---|---|
E:first-child | 匹配第一个孩子 |
E:last-child | 匹配最后一个孩子 |
E:nth-child(n) | 匹配第n个孩子 |
E:nth-child(2n)或E:nth-child(even) | 匹配偶数的孩子 |
E:nth-child(2n+1) 或E:nth-child(odd) | 匹配奇数的孩子 |
E:only-child | 匹配有且只有一个孩子 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">
.box ul li:first-child{
color:#f00;
width: 100px;
height: 100px;
line-height: 30px;
border: 1px solid #000;
}
</style>
</head>
<body>
<div class="box">
<ul>
<li>黑马</li>
<li>黑马</li>
<li>黑马</li>
</ul>
</div>
</body>
</html>
27)border-collapse
border-collapse : collapse;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">
table{
border-collapse: collapse;
border-color: #ccc;
}
</style>
</head>
<body>
<table width="600" border="1">
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</body>
</html>
28)伪元素
选择器 | 功能 |
---|---|
:first-letter | 操作当前元素中第一个字 |
:first-line | 操作当前元素中第一行 |
::beforerw | 在之前插入,在一个盒子内部的最前面 |
::after | 在之后插入,在一个盒子内部的最后面 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">
.box::first-letter{
color: #9F79EE;
font-size: 40px;
padding: 20px;
}
</style>
</head>
<body>
<div class="box">
ABCDEFG
</div>
</body>
</html>
29)文本阴影
text-shadow :3px,3px,3px,#CD5C5C,第二组
水平 垂直 清晰度 颜色
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">
.box{
font-size: 40px;
font-family: "楷体";
color: #32cd32;
text-shadow: 3px 3px 3px #cd5c5c;
}
</style>
</head>
<body>
<div class="box">
ABCDEFG
</div>
</body>
</html>
30)box-shadow盒子阴影
水平方向阴影、垂直方向阴影、模糊距离、阴影尺寸、阴影颜色、内/外阴影。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">
.box{
width: 400px;
height: 400px;
border: 1px solid #000;
box-shadow: 3px 3px 3px 3px #f00,-4px -4px 2px 2px #da70d6 inset;
}
</style>
</head>
<body>
<div class="box">
</div>
</body>
</html>
31)圆角曲形
border-radius :左上 右上 右下 左下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">
div{
width: 100px;
height: 100px;
background-color: red;
}
div:nth-child(1){
border-radius: 10px 20px 30px 40px;
}
div:nth-child(2){
border-radius: 20px;
}
div:nth-child(3){
border-radius: 20px 0px 0px 40px;
}
</style>
</head>
<body>
<div></div>
<div></div>
<div></div>
</body>
</html>
32)透明度
Rgba(红色,绿色,蓝色,透明度)
a:表示透明度的意思 透明度取值:0~1之间 0表示完全透明 1表示不透明
·背景颜色透明
Background-color:rgba(255,255,255,0.3)
·文件颜色透明
Coler:rgba(255,255,255,0.3
·边框颜色透明
Border:1px soild rgba(255,255,255,0.5)