构成 | 语言 | 说明 |
---|---|---|
结构 | HTML | 页面元素和内容 |
表现 | CSS | 网页元素的外观和位置的页面形式 |
行为 | JavaScript | 网页模型的定义和页面交互 |
<strong>我爱你<\strong>
<html>//根标签
<head>
<title>我是帅哥title>//网页标题
head>
<body>body>
html>
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>
head>
<body>
写代码是快乐的事情
body>
html>
DOCTYPE html>:文档类型声明,告诉浏览器使用哪种的html版本显示网页
//不是html标签,是给整个文档做声明
lang:定义当前文档的显示语言
//en:英语 zh-CN:中文 英文和中文网站都可以互写,用来起到警示作用
字符集charset:字符的集合,以便于计算机能够识别和存储文字。
<meta charset="UTF-8">
UTF-8:万国码(不会出现乱码)
<h1>真好h1>//一级标题
<h2>啊h2>//二级标题
<p>好呢p>
<hr>
b | 加粗 |
---|---|
u | 下划线 |
i | 倾斜 |
s | 删除线 |
strong | 加粗 |
---|---|
ins | 下划线 |
em | 倾斜 |
del | 删除线 |
<img src=""alt="">
(5)图像标签可以有多个属性,必须写在标签名的后面,属性之间不分顺序,必须用空格隔开。属性采用键值对的格式,key=“value”,属性=属性值。
相对路径分类 | 符号 | 说明 |
---|---|---|
同一级路径 | 图像文件相对于html在同一级
|
|
下一级路径 | / | 图像文件相对于html文件的下一级
|
上一级路径 | …/ | 图像文件相对于html文件的上一级
|
<img src="目标文件.gif">
<img src="./目标文件.gif">
<img src="文件名/目标文件.gif">//进入下一级
<img src="../目标文件.gif">//..有几层就是向下面走几层
src | 音频的路径 |
---|---|
controls | 显示播放的控件 |
autoplay | 自动播放(部分浏览器不支持) |
---|---|
loop | 循环播放 |
<video src="" controls>video>
好啊
<a href="jieshao.html">a>
<a href="www.zip">a>
<a href="./目标文件">目标文件a>
<a href="跳转目标" target="目标窗口的弹出方式">文本或者图像a>
<ul>
<li>苹果li>
<li>香蕉li>
<li>葡萄li>
ul>
有序列表:比如放手机性能的排序,排名类的列表
<ol>
<li>苹果li>
<li>香蕉li>
<li>葡萄li>
ol>
自定义列表:一个主标题下有好多小标题。用于对术语和名词进行解释和描述,定义列表的列表项前面没有项目符号。
dl | 表示自定义列表的整体,用于包裹dt/dd标签 |
---|---|
dt | 表示自定义列表的主题 |
dd | 表示自定义列表的针对主题的每一项内容 |
<dl>
<dt>账户管理dt>
<dt>购物指南dt>
dl>
用于展示显示数据,因为它可以使得数据显示的非常规整,可读性很好,不是布局的。
表格相关属性:
属性名 | 属性值 | 描述 |
---|---|---|
align | left,right,center | 规定表格相对周围元素的对齐方式 |
border | 1或者“” | 规定表格单元是否有边框,默认为“”没有边框 |
cellpadding | 像素值 | 规定单元格与内容之间的空白,默认2像素 |
cellspacing | 像素值 | 规定单元格之间的空白,默认2像素 |
width | 像素值或者百分比 | 规定表格的宽度 |
<td rowspan="2">100td>
border | 数字 | 边框宽度 |
---|---|---|
width | 数字 | 表格宽度 |
height | 数字 | 表格高度 |
thead | 表格头部 |
---|---|
tbody | 表格主题 |
tfoot | 表格底部 |
<table border="1" width="500">
<caption><strong>学生成绩单strong>caption>
<thead>
<tr>
<td>姓名td>
<td>成绩td>
<td>评语td>
tr>
thead>
<tbody>
<tr>
<td>小哥哥td>
<td>100td>
<td>好看td>
tr>
tbody>
table>
会把它范围内的表单元素信息提交给服务器<form action="url地址" method="提交方式" name="表单域名称">
各种表单元素控件
form>
表单元素:
1.input输入表单元素,单标签,根据取值的不同,展示出不同的效果。
属性 | 属性值 | 描述 |
---|---|---|
name | 用户自定义 | 定义input元素的名称 |
type | ||
value(placeholder) | 用户自定义 | 规定input元素的值 |
checked | checked | 规定此input元素首次加载时应当被选中 |
maxlength | 正整数 | 规定输入字段中的字符最大长度 |
<input type="text">
type的取值:
标签名 | type属性值 | 说明 |
---|---|---|
input | text | 文本框,用于输入文本 |
input | password | 密码框,用于输入密码 |
input | radio | 单选框,用于多选一 |
input | checkbox | 用于多选多 |
input | file | 文件选择,用于之后上传文件。定义输入字段和”浏览“按钮,供文件上传 |
input | submit | 提交按钮,用于提交,把表单域的内容送给服务器 |
input | reset | 重置按钮,用于重置 |
input | placeholder | 占位符,用于提示用户加入提示文字 |
input | button | 定义可点击按钮(多数情况下,通过javaScript启动脚本) |
<input type="file" multplay> //上传多个文件
<input type="text" placeholder="请输入用户名">
//name是表单元素名字,这里性别单选按钮必须有相同的名字name才能实现多选一
性别:<input type="radio" name="sex">男 <input type="radio" name="sex">女
name和value是每个表单元素都有的属性值,主要给后台人员使用。
name是表单元素的名字,要求单选按钮和复选框要有相同的name值。
submit | 提交按钮,提交之后给了服务器 |
---|---|
reset | 重置按钮,点击之后恢复表单默认值 |
button | 普通按钮,默认无功能,之后配合js添加功能 |
2.textarea文本域标签 双标签
场景:提供可输入多行文本的表单控件,常见于留言板评论等等。常见的cols规定了文本域的可见宽度,rows规定了文本域的可见行数。
<textarea cols="50" rows="5">
文本内容
texyarea>
3.label标签:
标签为input元素定义标注,绑定内容与表单标签的关系。当点击这个标签的时候,浏览器会自动转到对应的表单元素上。
(法一)使用label标签包裹内容,在label标签的for属性设置对应的id属性值,然后在input里面设置相应的id.for里面的值和id里面的值要一模一样。
(法二)直接把lable绑定
<input type="radio" name="sex" id="nan"> <lable for="nan">男lable>
<lable><input type="radio" name="sex"> 女lable>
4.select下拉表单元素
场景:页面中有多个选项让用户选择,但是想要去节约控件,可以使用来下拉列表。
<select>
<option>选项1option>
<option>选项2option>
select>
<option selected="selected">火星option>
//默认选中项
没有语义化的标签:实际网页开发会用到-div和-span标签,只是一个盒子,用来装内容
div:独占一行的标签——>大盒子
span标签:一行可以显示多个——>小盒子
有语义化的标签:做手机端网页。
网页不认识多个空格,只认识一个。若想要实现多个空格,可以添加字符实体的标签,来显示特殊的符号效果。并且有一些符号不太容易显示,所以可以使用某些标签代替。
p {
color: red;
font-size: 12px;
}
//外联式在html中引入:
<link rel="stylesheet" href="css文件路径">
根据不同的需求选出不同的标签。就是选择标签的作用。
基础选择器:由单个选择器组成,包括以下四类:
<style>
.red{
color:red;
}
.bb{
font-size:29px;
}
style>
<p class="red bb">222p>
#red{
color:red;
}
<div id="red">id选择器div>
*{
color:red;
}
6.文字垂直居中:文字的行高等于盒子的高度。
height=line-height
font:italic 700 66px 宋体;
文本属性:
1.文本缩进 text-indent :数字px或者数字em(1em=当前标签font-size的大小)
常用于文本第一行的缩进(通常是段落的首行缩进)
2.文本水平对齐方式text-align:可以让文本,span标签,a标签,input标签,img标签所在的盒子水平居中对齐。
left | 左对齐 |
---|---|
center | 居中对齐 |
right | 右对齐 |
div {
color:pink;
}
underline | 下划线(常用) |
---|---|
line-through | 删除线 |
overline | 上划线 |
none | 无装饰线 |
生成标签:直接输入标签名按tab即可
div*3
父子级标签:ul>li
兄弟级标签:div+p
生成带有类名或者id名的:.demo/#two(默认生成盒子)
div有顺序:自增符号$
复合选择器是由俩个或者多个基础选择器组成的,可以准确高效选择目标元素。
后代选择器又称包含选择器,可以选择父类中的元素,其写法就是外层标签写在前面,内层标签写在后面,中间用空格隔开。
(可以有子代,可以有孙代)
语法:父代选择器1 子代选择器2{css语句}
结果:在选择器1中找到其包含的选择器2
div p {
color:red;
}
只能选最近一级的元素(亲儿子))
div>a {
color:red;
}
作用:同时选择多组标签,设置相同的格式。
语法:选择器1,选择器2{ css文本 }
注意:
(1)并集选择器中的每组选择器之间通过,分离。
(2)并集选择器的每组选择器可以是基础选择器或者复合选择器。
div,p,.pig li{
color:red;
}
选中页面中同时满足多个选择器的标签。选择器1选择器2{css}
p.box {
color:red;
}
作用:选择鼠标悬停在元素上的状态
注意点:
1.伪类选择器选中的元素的某种状态。
2.任何标签都可以添加伪类。
1)链接伪类选择器:
a:linked | 选择未被访问的链接 |
---|---|
a:visited | 选择已经被访问的链接 |
a:hover | 选择鼠标指在它上面的链接 |
a:active | 选择活动链接(鼠标按下未弹起的链接) |
(2)顺序插入(LVHA)–>love hate
(3)因为a链接在浏览器中有默认样式,所以实际工作中需要给链接单独设定样式。
a:hover {
color:red;
}
2):focus伪类选择器
选取获得焦点的表单元素。
焦点就是光标,一般情况下input表单元素才能获取,因此这个主要针对于表单元素。
input:front {
back-ground:yellow;
}
div{
background-color:pink;
}
div{
background-image:url(路径);
}
repeat | 默认水平和竖直方向都平铺 |
---|---|
no-repeat | 不平铺 |
repeat-x | 沿着水平方向平铺 |
repeat-y | 沿着竖直方向平铺 |
background-position:center center;
背景固定:background-attachment
默认是scroll,背景随着内容滚动。但是fixed可以使得背景图像固定。
背景相关属性的连写
1)background: color image repeat attachment position
2)可以按照要求省略。
3)在pc端,如果盒子大小和背景图片的大小一样,此时可以直接写成background: url()。
4)img标签和背景图片的区别:img用于实现比较重要的图片。
背景颜色半透明:background:rgba(0,0,0,0.3);
最后一个是alpha透明度,取值范围是在0-1之间。
块级元素:独占一行+宽度默认是父元素的宽度,高度默认由内容展开+可以设置宽高+是一个盒子,里面可以放行内或者块级元素。div p h系列
但是:p h等文字类标签里面不能再放div盒子
行内元素(内联元素):一行可以显示多个+宽度和高度默认由内容展开+不可以设置宽高,尺寸和内容的大小相同+行内元素内部只能容纳文本或者其他行内元素。 a span b u系列。
行内块元素:一行可以显示多个+默认宽度是它本身内容的宽度+高度行高外边距等等都可以控制。input,textarea,button,img系列。
元素显示模式转换:
属性 | 效果 | 使用频率 |
---|---|---|
display:block | 转换成块级元素 | 较多 |
display:inline-block | 转换为行内块元素 | 较多 |
display:inline | 转换为行内元素 | 极少 |
a {
width:400;
display:block;
}
块级元素一般作为大容器,可以嵌套:文本,块级元素,行内元素,行内块元素。但是p标签不要嵌套div,p,h等块级元素。
a标签可以嵌套任意元素,但是a不要嵌套a标签。
body {
font:12px/1.5;
}
div {
font-size:12px;
}
//表示行高是文字大小的1.5倍即21
选择器 | 权重 |
---|---|
继承或者* | 0.0.0.0 |
元素选择器 | 0.0.0.1 |
类选择器(伪类选择器) | 0.0.1.0 |
id选择器 | 0.1.0.0 |
行内模式 | 1.0.0.0 |
!important | 无穷大 |
div {
color:pink !important
}
note:
(1)权重是有四位数字组成的,但是不会出现进位。
(2)判断权重的时候,从左向右判断大小
3.复合选择器:权重叠加
按顺序比较行内样式的个数,id选择器,类选择器,标签选择器个数。
div ul li:0,0,0,3
.nav ul li:0,0,1,2
a:hover 0,0,1,1
.nav a:0,0,1,1
(1)权重虽然会叠加,但永远不会产生进位的问题。
(2)继承的权重是0
!important如果不是继承,则权重最高,天下第一!