标签的分类
1. 单标签
img br hr
<img />
2. 双标签
a h p div <a></a>
3. 按照标签属性分类
1. 块儿标签
h1-h6 p div
2. 行内(内联)标签
a span u i b s
div标签和span标签
这两个标签它是没有任意意义的,主要用来'布局' 页面
div一般用在占位置布局
span一般用在占文本布局
标签的嵌套
标签之间是可以互相嵌套的,标签套标签
块儿级元素是可以嵌套所有的标签的
p标签不能够嵌套块儿级元素,但是它可以嵌套行内元素
行内元素只能嵌套行内元素,不能够嵌套块儿级元素,非写了嵌套,也不报错,只不过是没有效果
"""针对于前端来说,不会轻易的报错! 如果你写的不对,只会没有对应的效果"""
img标签
展示图片的
https://img2.baidu.com/it/u=464791776 ,3312333293 &fm=253 &app=138 &size=w931&n=0 &f=JPEG&fmt=auto?sec=1698771600 &t=9777764d1fe6560f394478126fb7563b
<img src="123.png" title="你看我好看吗" width="200px" alt="" >
src:
1. 内部的图片地址
2. 写外链的地址
title:
鼠标悬浮的时候显示的内容(是所有标签都要的)
width: 图片的宽度
height:图片的高度
alt:当图片不存在的时候,显示的内容
a标签
<a href="http://www.oldboyedu.com" target="_blank" >点我</a>
href属性指定目标网页地址。该地址可以有几种类型:
● 绝对URL - 指向另一个站点(比如 href="http://www.jd.com)
● 相对URL - 指当前站点中确切的路径(href=" index.htm")
● 锚URL - 指向页面中的锚(href="
target:
● _blank表示在新标签页中打开目标网页
● _self表示在当前标签页中打开目标网页
标签的两个自带重要属性
id 值: 相当于是人的身份证,一个文档中,id 值不能够重复,必须唯一
class 值 :是可以有多个的,一个标签可以有多个class 值,一个class 值也可以被多个标签拥有
<div id ="d1" class ='c1 c2 c3' ></div>
<div id ="d2" class ='c2' ></div>
<div id ="d3" class ='c3' ></div>
<div id ="d3" class ='c1' ></div>
.c1
要想使用id 值,必须使用
要想使用class 值,必须使用 .开头
列表
1. 无序列表
<ul type ="disc" >
<li>第一项</li>
<li>第二项</li>
</ul>
type 属性:
● disc(实心圆点,默认值)
● circle(空心圆圈)
● square(实心方块)
● none(无样式)
2. 有序列表
3. 标题列表
表格
id name age gender salary
1 kevin 20 male 2000
1 kevin 20 male 2000
1 kevin 20 male 2000
1 kevin 20 male 2000
1 kevin 20 male 2000
1 kevin 20 male 2000
table标签
<table>
<thead>
<tr>
<th>序号</th>
<th>姓名</th>
<th>爱好</th>
</tr>
</thead>
<tbody>
<tr>
<td>1 </td>
<td>jason</td>
<td>杠娘</td>
</tr>
<tr>
<td>2 </td>
<td>Yuan</td>
<td>日天</td>
</tr>
</tbody>
</table>
属性:
● border: 表格边框.
● cellpadding: 内边距
● cellspacing: 外边距.
● width: 像素 百分比.(最好通过css来设置长宽)
● rowspan: 单元格竖跨多少行
● colspan: 单元格横跨多少列(即合并单元格)
<form action="" >
<p>
<label for ="inp1" >
username: <input type ="text" id ="inp1" >
</label>
</p>
<p>
<label for ="inp2" >
password: <input type ="password" id ="inp2" >
</label>
</p>
<p>
<label for ="inp3" >
password: <input type ="date" id ="inp3" >
</label>
</p>
<p>
<input type ="checkbox" name="hobby" > read
<input type ="checkbox" name="hobby" > music
<input type ="checkbox" name="hobby" > tangtou
</p>
<p>
<input type ="checkbox" name="hobby1" > read1
<input type ="checkbox" name="hobby1" > music1
<input type ="checkbox" name="hobby1" > tangtou1
</p>
<p>
<input type ="radio" name="gender" > 男
<input type ="radio" name="gender" > 女
<input type ="radio" name="gender" > 未知
</p>
<p>
<input type ="hidden" value="123" >
</p>
<p>
<input type ="file" multiple>
</p>
<p>
<select name="" id ="" >
<option value="" >上海</option>
<option value="" >北京</option>
<option value="" >河南</option>
</select>
</p>
<textarea name="" id ="" cols="30" rows="10" >
</textarea>
<p>
<input type ="submit" value="登录" >
<input type ="reset" value="重置" >
</p>
</form>
属性说明:
● name:表单提交时的“键”,注意和id 的区别
● value:表单提交时对应项的值
○ type ="button" , "reset" , "submit" 时,为按钮上显示的文本年内容
○ type ="text" ,"password" ,"hidden" 时,为输入框的初始值
○ type ="checkbox" , "radio" , "file" ,为输入相关联的值
● checked:radio和checkbox默认被选中的项
● readonly:text和password设置只读
● disabled:所有input 均适用
select属性
属性说明:
● multiple:布尔属性,设置后为多选,否则默认单选
● disabled:禁用
● selected:默认选中该项
● value:定义提交时的选项值
<form action="" >
action:
"""写朝后端提交的地址"""
这里你写什么地址就朝这个地址提交数据,应该填写后端的地址
1. 什么都不写:朝当前地址提交
2. 全写:http://127.0 .0 .1 :5000 /index/ 朝这个地址提交
3. 只写后缀
/index/-------->IP:PORT/index
"""form表单要想把数据提交到后端,每一个标签都要有一个name属性."""
name的属性值就是提交到后端数据的key值,用户输入的内容就是value值
针对于复选框、单选框标签都应该有一个value属性,用于区别前端用户选择的哪个选项
1. 请求方式必须是post
2. 数据编码方式:
1. application/x-www-form-urlencoded
2. multipart/form-data
3. json
3. 编码方式必须是multipart/form-data才能提交问价
4. urlencoded只能够提交不是文件的数据,form-data是可以提交普通数据和文件数据
5. urlencoded形式的数据长什么样子:
username=&password=&date=&hidden=123 &myfile=&city=
6. form-data编码格式的数据:
username=&password=&date=&hidden=123 &myfile=&city=
boundary=----WebKitFormBoundaryhwrBD6WMC3rBJXOy
文件数据
"""对于form-data提交的数据,后端还是在form里面去普通数据,而在files里面去文件数据"""
7. form表单不能够提交json数据
8. 如果想提交json格式的数据:Ajax技术、第三方的api工具postman
CSS介绍
CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素。
当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。
"""CSS就是对HTML标签做样式的,让不好看的变得更加的好看"""
CSS语法:
选择器 {
属性名1 :属性值;
属性名2 :属性值;
属性名3 :属性值;
属性名4 :属性值;
属性名5 :属性值;
}
CSS注释:
/*这是注释*/
HTML注释:
<!-- 这是注释 -->
注释符号的快捷键是:ctrl + ?
CSS的几种引入方式:
行内样式:
<p style="color: red" >Hello world.</p>
内部样式:
<head>
<meta charset="UTF-8" >
<title>Title</title>
<style>
p {
background-color:
}
</style>
</head>
外部样式:
<link href="mystyle.css" rel="stylesheet" type ="text/css" />
CSS选择器
"""如何学习CSS?"""
1. 先学习如何找到标签
2. 找到标签之后在进行属性操作
选择器种类非常之多,但是,大多数都是了解的,用的最多的也就几个,对我们来说,只需要掌握这几个就可以了
基本选择器:
ID选择器
类选择器
元素选择器
通用选择器
组合选择器
后代选择器
"""
我们使用亲戚关系表示标签之间的关系
<div id="div1"> div是p的父亲,p是div 的儿子
<p class="c1"> p是a的父亲,a是p的儿子,a是div的孙子
<a href="">点我把</a>
<a href="">点我把</a>
<a href="">点我把</a>
</p>
div
<a href="">我会不会变颜色呢</a> a是p的兄弟
</div>
<p> p是div的兄弟
<a href="">哈哈哈哈</a>
</p>
"""
属性选择器
通过标签的属性来查找标签,标签都有属性
<div class ="c1" id ="d1" ></div>
id 值和class 值是每个标签都自带的属性,还有另外一种:自定义属性
<div class ="c1" id ="d1" username='kevin' password='123' ></div>
针对于username='kevin' password='123' 属性就是div标签的自定义属性
分组和嵌套选择器
分组选择器使用逗号隔开,所有的选择器都是并列的
组合(嵌套)选择器使用的是空格隔开,选择器不是并列的,最终生效的还是最后一个选择器
伪类选择器
/* 未访问的链接 */
a:link {
color:
}
/* 鼠标移动到链接上 */
a:hover {
color:
}
/* 选定的链接 */
a:active {
color:
}
/* 已访问的链接 */
a:visited {
color:
}
/*input 输入框获取焦点时样式*/
input :focus {
outline: none;
background-color:
}
伪元素选择器
p:first-letter {
font-size: 48px;
color: red;
}
/*在每个<p>元素之前插入内容*/
p:before {
content: "你好啊" ;
color: red;
}
/*在每个<p>元素之后插入内容*/
p:after {
content: "[?]" ;
color: blue;
}
before和after多用于清除浮动。它可以解决浮动中得父标签塌陷问题!!!
选择器的优先级
比较选择器的优先级高低
1. 选择器相同的情况下:
2. 选择器不同的情况下:
行内选择器 >>> id 选择器 >>> 类选择器 >>> 标签选择器
CSS属性相关
宽和高
宽和高
width属性可以为元素设置宽度。
height属性可以为元素设置高度。
"""默认情况下,只有块儿级元素才能设置长、宽,内联元素不能设置,设置了也不错,就是没有效果而已"""
字体属性
font-weight用来设置字体的字重(粗细)。
值 描述
normal 默认值,标准粗细
bold 粗体
bolder 更粗
lighter 更细
100 ~900 设置具体粗细,400 等同于normal,而700 等同于bold
inherit 继承父元素字体的粗细值
文本颜色
颜色属性被用来设置文字的颜色。
颜色是通过CSS最经常的指定:
● 十六进制值 - 如: #FF0000
● 一个RGB值 - 如: RGB(255 ,0 ,0 )
● 颜色的名称 - 如: red
还有rgba(255 ,0 ,0 ,0.3 ),第四个值为alpha, 指定了色彩的透明度/不透明度,它的范围为0.0 到1.0 之间。
text-align 属性规定元素中的文本的水平对齐方式。
left 左边对齐 默认值
right 右对齐
center 居中对齐
text-decoration
none 默认。定义标准的文本。
underline 定义文本下的一条线。
overline 定义文本上的一条线。
line-through 定义穿过文本下的一条线。
/*背景颜色*/
background-color: red;
/*背景图片*/
background-image: url('1.jpg' );
/*
背景重复
repeat(默认):背景图片平铺排满整个网页
repeat-x:背景图片只在水平方向上平铺
repeat-y:背景图片只在垂直方向上平铺
no-repeat:背景图片不平铺
*/
background-repeat: no-repeat;
/*背景位置*/
background-position: left top;
/*background-position: 200px 200px;*/
background:
边框属性
● border-width
● border-style
● border-color
border: 2px solid red;
}
border-radius
用这个属性能实现圆角边框的效果。
将border-radius设置为长或高的一半即可得到一个圆形。
display属性
值 意义
display:"block" 默认占满整个页面宽度,如果设置了指定宽度,则会用margin填充剩下的部分。
display:"inline" 按行内元素显示,此时再设置元素的width、height、margin-top、margin-bottom和float 属性都不会有什么影响。
display:"inline-block" 使元素同时具有行内元素和块级元素的特点。
CSS盒子模型
以快递盒为例
1. 快递盒和快递盒之间的举例称为是外边距,用margin值表示
2. 快递盒和里面物品之间的举例称为是内边距,用padding来表示
3. 盒子的厚度我们称为是边框,用border来表示
4. 物品的实际大小称为是content
float浮动
三种取值
left:向左浮动
right:向右浮动
none:默认值,不浮动
clear
clear属性规定元素的哪一侧不允许其他浮动元素。
值 描述
left 在左侧不允许浮动元素。
right 在右侧不允许浮动元素。
both 在左右两侧均不允许浮动元素。
none 默认值。允许浮动元素出现在两侧。
inherit 规定应该从父元素继承 clear 属性的值。
清除浮动
清除浮动的副作用(父标签塌陷问题)
主要有三种方式:
● 固定高度
● 伪元素清除法
● overflow:hidden
伪元素清除法(使用较多):
.clearfix:after {
content: "" ;
display: block;
clear: both;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通