前端

标签的分类

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="#top")

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>
#d1
.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表单标签

<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表单朝后端提交数据

<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: #2b99ff;
                }
            </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: #FF0000
}

/* 鼠标移动到链接上 */
a:hover {
  color: #FF00FF
} 

/* 选定的链接 */ 
a:active {
  color: #0000FF
}

/* 已访问的链接 */
a:visited {
  color: #00FF00
} 

/*input输入框获取焦点时样式*/
input:focus {
  outline: none;
  background-color: #eee;
}

伪元素选择器

 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.01.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:#336699 url('1.png') no-repeat left top;
    
# 边框
边框属性 
● border-width
● border-style
● border-color
#i1 {
  border: 2px solid red;
}

border-radius
用这个属性能实现圆角边框的效果。
将border-radius设置为长或高的一半即可得到一个圆形。

display属性

值	意义
## display:"none"	HTML文档中元素存在,但是在浏览器中不显示。一般用于配合JavaScript代码使用。
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;
}
posted @   jntmwl  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示