一、HTML

news2024/12/24 12:35:12

一、基础概念

        1、浏览器相关知识

        这五个浏览器市场份额都非常大,且都有自己的内核。 

        什么是内核:
        内核是浏览器的核心,用于处理浏览器所得到的各种资源。
        例如,服务器发送图片、视频、音频的资源,浏览器就需要使用内核来进行处理这些资源。内核处理完这些资源之后,我们才能看到页面。这五大浏览器都有自己的内核。

        五大浏览器,四大内核。不在这五个之中的统称为其他浏览器。其他浏览器就是在上述的内核的基础上,加上了一些精美的UI界面,实用的小功能等等。

        2、网页相关概念

        一个网页由那几部分组成:
        结构:HTML用于搭建网页的结构。
        表现:CSS让结构都具有表现力
        行为:JavaScript 让网页由交互的效果。

        3、HTML是什么

        全称:HyperText Markup Language
        译为:超文本标记语言

        超文本:可以理解为:暂时理解为 ’超级的文本‘,和普通文本比,内容更丰富。
        标记:文本变成超文本,就需要用到各种标记符号
        语言:每一个标记的写法、读音、使用规则,构成标记语言。
 

        4、HTML发展史

        

二、HTML基础

        1、 html标签:

        标签又称元素,是html的基本组成单位。
        标签名不区分大小写!但是推荐使用小写。
        标签有单标签和双标签,单标签比较少!
        标签也可以进行嵌套!

        2、HTML属性:


        1)用于给标签提供附加信息。
        2)可以写在:其实其实标签 或 单标签中,形式如下:
        

        3)有些特殊属性,没有属性名,只有属性值。
             例如:<imput disabled> 
         4)注意点:
              1、不同的标签,有不同的属性,也有一些通用的属性在任何标签中都能写。
              2、属性名、属性值不能乱写。都是w3c规定好的
              3、属性名、属性值,都不区分大小写,但推荐小写。
              4、双引号,也可以写成单引号,甚至不写都行,但还是推荐写双引号
              5、标签中不要出现同名属性,否则后写的会失效,

        3、HTML基本结构:

        1、在网页中,点击鼠标右键,选择检查,可以查看某段具体代码
        2、检查 和 查看网页源代码 的区别:

        查看网页源代码看到的是:程序员编写的源代码。
        检查看到的是:经过浏览器处理后的源代码
        备注:日常开发中,检查用的最多

        3、网页的基本结构如下:

        1、想要呈现在网页中的内容写在body标签中
        2、head标签中的内容不会出现在网页中
        3、head标签中的title标签可以指定网页的标题。
        4、图示:

        

        4、HTML注释

        1、特点:注释的内容会被浏览器所忽略,不会呈现到页面中,但源代码中依然可见
        2、作用:对代码进行解释和说明
        3、写法:

        <!-- 下面的文字只能滚动一次 -->

        <marquee loop="1" > hello world! </marquee>

        4、注释不可以嵌套

        5、HTML文档声明

        1、作用:告诉浏览器当前网页的版本
        2、写法:
                旧写法:要依网页所用的HTML版本而定,写法有很多,具体写法请参考:W3C官网-文档声明。

                新写法:

        <!DOCTYPE html> 生命这个就代表这个代码是h5版本的。

         3、注意:文档声明,必须在网页的第一行,且在html标签的外侧。

        6、HTML字符编码

        1、计算机对数据的操作:
                存储时,对数据进行:编码
                读取时,对数据进行:解码
        2、编码、解码,会遵循一定的规范 --  字符集
        3、字符集有很多,常见的有:

        ASCII:大写字母、小写字母、数字、一些符号,共计128个。
        ISO 8859-1:在ASCII基础上,扩充了一些希腊字符等,共计是256个。
        GB2312:继续扩充,收录了6773个常用汉字,682个字符
        GBK:收录了的汉字和符号达到20000+,支持繁体中文。
        UTF-8:包含世界上所有的语言,所有文字与符号。-- 很常用

        4、使用原则:
        原则1:存储时务必使用合适的字符编码,否则无法存储,数据会丢失!
        原则2:存储时采用哪种方式编码,读取时就采用哪种方式解码。否则数据会错乱,乱码。
        

        5、总结:
        平时写代码时,统一采用UTF-8编码 最稳妥。
        为了让浏览器在渲染html文件时,不犯错误,可以通过meta标签配合 charset属性指定字符集:

        <head>

                <meta charset="UTF-8"/>
        </head>

        7、HTML设置语言

        长按 shift + 网页左上角刷新按钮,可以强刷页面。

        1、主要作用:让浏览器显示对应的翻译提示,有利于搜索引擎优化。
        2、具体写法:

        <html lang"zh-CN">

        3、扩展知识:lang属性的编写规则

        第一种写法(语言-国家/地区):
        zh-CN:中文-中国大陆(简体中文)
        zh-TW:中文-中国台湾(繁体中文)
        zh:中文
        en-U:英语-美国
        en-GB:英语-英国

        第二种写法(语言-具体种类)以不推荐使用:
        zh-Hans:中文-简体
        zh-Hant:中文-繁体

        w3School上的说明:语言代码参考手册
        w3c官网上的说明:略

        

        8、HTML标准结构

        在vscode中,输入 ! 再回车可以直接生成标准结构:

<!DOCTYPE html> <!-- 文档声明,代表这是h5页面 -->
<html lang="zh-CN"> <!-- 设置语言为中文,可以在设置红调整该选项 -->
<head>
    <meta charset="UTF-8"> <!-- 设置字符编码 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- 暂未用到,跟移动端网页有关 -->
    <title>这是一个标题</title> <!-- 标题,在网页上面显示的网页名称 -->
</head>
<body>
    <h1> hello world! </h1>
</body>
</html>

        9、超文本的真正含义

               是一种组织信息的方式,通过超链接将不同空间的文字、图片、等各种信息组织在一起,能从当前阅读的内容,跳转到超链接所指向的内容。  
               内容是指:页面、文件、锚点、应用等。

        10、开发者文档学习网站

        推荐 MDN:https://developer.mozilla.org/zh-CN/

        可以查看相关html标签!

三、HTML常用标签

        1、排版标签

        h1 - h6 标题标签:

    <h1>一级标题</h1>

    <h2>二级标题</h2>

    <h3>三级标题</h3>

    <h4>四级标题</h4>

    <h5>五级标题</h5>

    <h6>六级标题</h6>

         <p> 段落标签

    <p>我是一个段落!</p>
    <p>我是一个段落!</p>
    <p>我是一个段落!</p>

        <div> 块标签,没有任何含义,用于整体布局(生活中的包装袋)。

        1)h1 最好写一个
        2)h1 - h6 不能互相嵌套,例如 h1 标签中最好不要写 h2 标签了。
        3)p标签很特殊,它里面不能有:h1 - h6 、 p 、 div标签。

        示例:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>排版标签</title>
</head>
<body>
    <h1>把个人信息安全"安全提"筑牢</h1>
    <p> 2022-06-21 07:34  · 1347条评论</p>
    <div>
        <p>置身移动互联网时代,人们在享受只能设备带来的便利的同时,也在一些场景中面临个人信息泄露风险,随着时间推移,这样的风险日益呈现出新的表现形式。</p>
        <p>一些app生成看视频,玩游戏甚至走路都能赚钱,但用户想提现却难上加难,还容易泄露个人信息;新型不法软件图标透明,没有名称,在手机屏幕上十分隐蔽,不仅不停推送广告,还会收集并转卖用户隐私信息;个人信息和隐私保护话题引发关注,正说明其涉及群众切身利益,问题不容小觑</p>
    </div>
</body>
</html>

        2、语义化标签 

        概念:用特定的标签,去表达特定的含义。
        原则:标签的默认效果不重要(后期可以通过CSS随便控制效果),语义最重要!
        举例:对于h1标签,效果是文字很大,语义是网页主要内容。
        优势:
                1)代码结构清晰可读性强。
                2)有利于SEO(搜索引擎优化)
                3)方便设备解析(如屏幕阅读器,盲人阅读)

        意思就是说,h1标签的实现效果就加粗文字,但其实文字的粗细程度并不是h1标签的主要功能,而是说,h1 代表的是一个网页最重要的信息,所以它的语义比较重要。当在网页中使用 h1 就代表它是这个网页的标题之类的最显著的信息。

        3、块级元素与行内元素

        1)块级元素:独占一行(排版标签都是块级元素)
        2)行内元素:不独占一行(目前只学了input ,稍后会学习更多)
        3)一些特定的规则: h1 - h6 不能互相嵌套 ,p中不要写块级元素,以后还会有更多特殊的规则,但不会很多。

        4)备注说明:

marquee元素设计的初衷是:让文字有动画效果,但如今我们可以通过css来实现了,而且还可以实现的更加炫酷,所以marquee 标签已经过时了,不推荐使用,我们只是在开篇的时候,用他做了一个引子而已,在后续的学习过程中,这些已经废弃的标签,我们直接跳过。

        

        4、文本标签

        1)用于包裹:词汇,短语等。
        2)通常写在排版标签里面。例如 h1 - h6 ,p,div
        3)排版标签更宏观(大段的文字),文本标签更微观(词汇、短语)。
        4)文本标签通常都是行内元素。

           常用的:

标签名标签语义

单/双 标签

em要着重阅读的内容
strong十分重要的内容(语气比em要强)
span没有语义,用于包裹短语的通用容器

        em标签的效果是可以让文本更突出,文字变成斜体,但其实这个标签的功能并不是最重要的,重要是的如果你的文本中有这种标签,就代表这个非常重要的部分,重要的是这个语义!
        strong标签 也是突出十分重要的内容,但其实语气比em要更强一点。但其实日常使用过程中,只要表达的东西是重要的em 跟 strong 都行。字体会加粗。
        span其实没有任何的语义,就是起到一个包裹的作用,可以理解为 div是大包装袋,span是小包装袋。用排版标签时使用 div ,用文本标签时使用 span。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=<device-width>, initial-scale=1.0">
    <title>常用文本标签</title>
    <style>
        span{
            color: red;
        }
    </style>
</head>
<body>
    <p>预防电信诈骗,请安装:<em>国家反炸中心app。</em></p>
    <p>当我们出门的时候,一定要<strong>关好门窗!</strong></p>
    <p>前端三个框架为:<span>Angular,React,Vue。</span></p>
</body>
</html>

                          

          不常用的:

标签名标签语义单/双 标签
cite作品标题(书籍、歌曲、电影、电视节目、绘画、雕塑等)
dfn特殊术语,或专属名词
del 与 ins删除的文本 与 插入的文本
sub 与 sup下标文字 与 上标文字
code一段代码
kbd键盘文本,便是文本是通过键盘输入的,经常用在与计算机相关的手册中
abbr缩写,最好配合上title属性
bdo更改文本方向,要配合dir属性,可选值:ltr(默认值)、rtl
var标记变量,可以与code标签一起使用
small附属细则,例如:包括版权、法律文本。--很少使用
b摘要中的关键字、评论中的产品名称 -- 很少使用
i本意是:人物的思想活动、所说的话等等。
现在多用于:呈现字体图标(后面要讲的内容)
u与正常内容有反差文本,例如:错的单词、不合适的描述等。--很少使用
q短引用 -- 很少使用
blockquote长引用 -- 很少使用
address地址信息

后面两个是块元素,前面的都是行内元素!
备注:

1、这些不常用的文本标签,编码时不用过于纠结(酌情而定,不用也没毛病)。
2、blockquote 与 address 是块级元素,其他的文本标签,都是行内元素。

3、有些语义感不强的标签,我们很少使用,例如:small、b、u、q、blockquote
4、HTML标签太多了!记住那些:重要的、语义感强的标签即可:例如:
h1 - h6 ,p,div,em,strong,span

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>不常用的文本标签</title>
</head>
<body>
    <p>这首<cite>《光辉岁月》</cite>,非常的好听!</p>
    <p><dfn>耗子尾汁</dfn>,是一个网络流行语,意思同<dfn>好自为之</dfn>。</p>
    <p>商品原价:<del>199</del>,显示秒杀:<ins>99</ins>!</p>
    <p>水的化学方程式是:H<sub>2</sub>O,8的三次方是这么写的:8<sup>3</sup></p>
    <p>等过了一段我们学习了JS,你就会发现这段代码很有意思:<code>alert(1)</code></p>
    <p>手机突然提示,<samp>支付宝到账100万元!</samp></p>
    <p>保存的快捷键是:<kbd>ctrl + s</kbd></p>
    <p><abbr title="英雄联盟">LOL</abbr>这个游戏非常好玩!</p>
    <p>你是年少的欢喜,这句话反过来念就是:<bdo dir="rtl">你是年少的欢喜</bdo></p>
    <p>等过一段我们学习了JS,我们就知道要这样定义变量了:<code>let <var>a</var> = 1</code></p>
    <p><small>本网站所有资料、图表仅供参考,涉及投资项目所造成的盈亏与本网站无关。</small></p>
    <p>我也买过<b>罗技GPW二代</b>这个鼠标,确实好用!</p>
    <p>猪头声嘶力竭的喊着:<i>“燕子,没有你我怎么活啊!”</i></p>
    <p>张三把“你好”的英文写成了:<u>heelo</u>,这是不对的!</p>
    <p>屈原曾经说过:<q>路漫漫其修远兮,吾将上下而求索。</q></p>
    <p>有一首歌,歌词是这样的:<blockquote>后来,我总算学会了如何去爱,可惜你早已远去消失在人海,后来终于在眼泪中明白,有些人一旦错过就不在。</blockquote></p>
    <p>我们学校的地址是:<address>北京科技园</address></p>
</body>
</html>

        5、图片标签

        1)基本使用:

标签名标签语义常用属性单/双 标签
img图片src:图片路径(又称:图片地址),图片的具体位置
alt:图片描述
width:图片宽度,单位是像素,例如:200px 或 200
height:图片高度,单位是像素,例如:200px 或 200

         总结:

        1、像素 px 是一种单位,学到css时,我们会详细讲解
        2、尽量不同时修改图片的宽和高,可能会造成比例失调。
        3、暂且认为img是行内元素(学到css时,会认识到一个新的元素分类,目前咱们只知道:块、行内)。
        3、alt属性的作用:

  • 搜索引擎通过alt属性,得知图片的内容。 -- 最主要的作用
  • 当图片无法展示的时候,有些浏览器会呈现alt属性的值。
  • 盲人阅读器会朗读alt属性的值。

        2) 路径的分类:
        1 相对路径:以当前位置作为参考点,去建立路径。

已有结构符号含义举例
./同级引入 灰太狼.jpeg :
<img src="./灰太狼.jpeg" alt="灰太狼">
 
/下一级引入喜羊羊:
<img src="./a/喜羊羊.jpeg" alt="喜羊羊">
 
../上一级引入 aaa.jpg :

<img src="../aaa.jpg" alt="一个头像">

        注意点:

  • 相对路径的 ./ 可以省略不写
  • 相对路径依赖的是当前位置,后期若调整了文件位置,那么文件中的路径也要修改。

         2 绝对路径 : 以根位置作为参考点,去建立路径。
         本地绝对路径:E:a/b/c/奥特曼.jpg (很少使用)
         网络绝对路径:http://www.aaa.com/images/index_new/aaa.png 。

注意点:

使用本地绝对路径,一旦更换设备,路径处理起来比较麻烦,所以很少使用
使用网络绝对路径,确实方便,但要注意:若服务器开启了防盗链,会造成图片引入失败。

        3 常见的图片格式

1、jpg 格式
概述:扩展名为 .jpg 或 .jpeg ,是一种有损的压缩格式(把肉眼不容易观察出来的细节丢弃了)。
主要特点:支持的颜色丰富,占用空间较小,不支持透明背景、不支持动态图。
使用场景:对图片细节没有极高要求的场景,例如:网站的产品宣传图等。 -- 该格式网页中很常见。

2、png 格式:
概述:扩展名为 .png ,是一种无损的压缩格式,能够更高质量的保存图片
主要特点:支持的颜色丰富、占用空间略大、支持透明背景、不支持动态图。
使用场景:1、想让图片有透明背景 ;2、想更高质量的呈现图片 ;例如:公司logo图、重要配图等。


3、bmp 格式:
概述:扩展名为 .bmp ,不进行压缩的一种格式,在最大程度上保留图片更多细节。
主要特点:支持的颜色丰富、保留的细节更多,占用空间极大、不支持透明背景、不支持动态图。
使用场景:对图片细节要求极高的场景,例如:一些大型游戏公司中的图片。(网页中很少使用)

4、gif 格式:
概述:扩展名为  .gif ,仅支持256中颜色,色彩呈现不是很完整。
主要特点:支持的颜色较少、支持简单透明背景、支持动态图。
使用场景:网页中的动态图片。

5、webapp格式:

概述:扩展名为 .webp,谷歌推出的一种格式,专门用来在网页中呈现图片。
主要特点:具备上述几种格式的优点,但兼容性不太好,一旦使用务必要解决兼容性问题。
使用场景:网页中的各种图片。

6、base64格式:
1、本质:一串特殊的文本,要通过浏览器打开,传统看图应用通常无法打开。
2、原理:把图片进行base64编码,形成一串文本。
3、如何生成:靠一些工具或网站。
4、如何使用:直接作为img标签的src属性的值即可,并且不受文件位置的影响。
5、使用场景:一些较小的图片,或者需要网页一起加载的图片。

图片格式非常多,上面只是一些常见的!

        6、超链接:

           主要作用:从当前页面进行跳转。

标签名标签语义常用属性单\双 标签
a超链接href:要跳转的具体位置
target:跳转时如何打开页面,常用值如下:
        _self:在本页签中打开
        _blank:在新页签中打开

         1) 跳转到页面

    <!-- 在本页面中打开-->
    <a href="https://www.baidu.com" target="_self">本页面打开百度!</a>
    <!-- 在其他页面打开 -->
    <a href="https://www.baidu.com" target="_blank">新页面打开百度!</a>

注意点:         
1、代码中的多个空格,多个回车,都会被浏览器解析成一个空格!
2、虽然a是行内元素,但a元素可以包括除它自身外的任何元素!
想展示多个回车或空格,后面会说!

        2)跳转到文件

    <!-- 浏览器能直接打开的文件-->
    <a href="./resource/灰太狼.jpeg" target="_blank">一个图片</a>
    <a href="./resource/git动图.gif" target="_blank">一个动图</a>
    <a href="./resource/pdf文件.pdf" target="_blank">一个pdf</a>
    
    <!-- 浏览器不能打开的文件,就会自动触发下载-->
    <a href="./resource/压缩文件.zip"></a>

    <!-- 强制触发下载-->
     <a href="./resource/pdf文件.pdf" download="一个pdf.pdf" >下载pdf文件</a>

        注意:
        1、若浏览器无法打开文件,则会引导用户下载。
        2、若想强制触发下载,请使用 download 属性,属性值即为下载文件的名称。

         3)跳转锚点

           什么是描点?-- 网页中的一个标记点。
           具体使用方式:

           第一步:设置锚点

    第一种方式,a标签配合name属性!
    <a name="htl"></a>

     第二种方式,其他标签配合id属性
    <p id="dt">一个动图</p>

     注意:
        1、具有href 属性的 a 标签是超链接,具有 name属性 的 a 标签是锚点!
        2、name 和 id 都是区分大小写的,且 id 最好别是数字开头。

            第二步:跳转锚点

     跳转到 htl 、dt 对应的锚点。  
    
<a href="#htl">看灰太狼</a>

    <a href="#dt">看一个动图</a>


     跳转到本页顶部

    <a href="#">回到顶部</a>

     跳转到其他页面锚点
    <a href="./图片标签.html#tp">看其他页面图片</a>

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>跳转锚点</title>
</head>
<body>

    <a href="#htl">看灰太狼</a> 
    <a href="#dt">看一个动图</a>

    <p>喜羊羊图片</p>
    <img src="./path_test/a/喜羊羊.jpeg" alt="喜羊羊">

    <p>一个头像图片</p>
    <img src="./aaa.jpg" alt="一个头像">

    <a name="htl"></a>
    <p>灰太狼图片</p>
    <img src="./path_test/灰太狼.jpeg" alt="灰太狼">


    <p id="dt">一个动图</p>
    <img src="./resource/git动图.gif">

    <p>全部都看完了!</p>
    <a href="#">回到顶部</a>
    
    <a href="">刷新页面</a>

    <a href="./图片标签.html#tp">看其他页面图片</a>

    <a href="javascript:alert(666);">点我弹窗</a>

</body>
</html>

         4)唤起指定应用
        通过a标签,可以唤起设备应用程序。

    <a href="tel:10086">电话联系</a>
    <a href="mailto:10086@qq.com">邮件联系</a>
    <a href="sms:10086">短信联系</a>

        7、列表:

        1)有序列表:
        概念:有顺序或侧重顺序的列表。

    <!-- 有序列表-->
    <h2>把大象放入冰箱需要几步?</h2>
    <ol>
        <li>把冰箱门打开</li>
        <li>把大象放进去</li>
        <li>把冰箱门关上</li>
        <!-- 列表嵌套超链接-->
        <li>
            <a href="https://www.baidu.com">去百度</a>
        </li>
    </ol>

        2)无序列表 
        概念:无顺序或不侧重顺序的列表。

    <!-- 无序列表-->
    <h2>我想去的几个城市</h2>
    <ul>
        <li>成都</li>
        <!-- 列表进行嵌套 -->
        <li>
            <span>上海</span>
            <ul>
                <li>外滩</li>
                <li>
                    <span>东方明珠</span>
                    <ul>
                        <li>xxx</li>
                        <li>xxx</li>
                    </ul>
                </li>
                <li>迪士尼乐园</li>
            </ul>
        </li>
        <li>北京</li>
        <li>广州</li>
    </ul>

        3)列表嵌套
        概念:列表中的某项内容,有包含一个列表(注意:嵌套时,请务必把结构写完整)
        注意:li标签最好写在 ul 或 ol中,不要单独使用。

        4)自定义列表

        概念:所谓自定义列表,就是一个包含 术语名称 以及 术语描述 的列表。
        一个dl 就是一个自定义列表,一个dt 就是一个术语名称,一个dd就是术语描述(可以有多个)。

    <!-- 自定义列表 -->
     <h2>如果更好学习</h2>
    <dl>
        <dt>做好笔记</dt>
        <dd>笔记是我们以后复习的一个抓手</dd>
        <dd>笔记可以是电子版,也可以是纸质版</dd>
        <dt>多加练习</dt>
        <dd>只有敲出来的代码,才是自己的</dd>
        <dt>别怕出错</dt>
        <dd>错很正常,改正后并记住,就是经验</dd>
    </dl>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>列表</title>
</head>
<body>

    <!-- 有序列表-->
    <h2>把大象放入冰箱需要几步?</h2>
    <ol>
        <li>把冰箱门打开</li>
        <li>把大象放进去</li>
        <li>把冰箱门关上</li>
        <!-- 列表嵌套超链接-->
        <li>
            <a href="https://www.baidu.com">去百度</a>
        </li>
    </ol>

    <!-- 无序列表-->
    <h2>我想去的几个城市</h2>
    <ul>
        <li>成都</li>
        <!-- 列表进行嵌套 -->
        <li>
            <span>上海</span>
            <ul>
                <li>外滩</li>
                <li>
                    <span>东方明珠</span>
                    <ul>
                        <li>xxx</li>
                        <li>xxx</li>
                    </ul>
                </li>
                <li>迪士尼乐园</li>
            </ul>
        </li>
        <li>北京</li>
        <li>广州</li>
    </ul>


    <!-- 自定义列表 -->
     <h2>如果更好学习</h2>
    <dl>
        <dt>做好笔记</dt>
        <dd>笔记是我们以后复习的一个抓手</dd>
        <dd>笔记可以是电子版,也可以是纸质版</dd>
        <dt>多加练习</dt>
        <dd>只有敲出来的代码,才是自己的</dd>
        <dt>别怕出错</dt>
        <dd>错很正常,改正后并记住,就是经验</dd>
    </dl>

</body>
</html>

        8、表格

        1)基本结构:
              一个完整的表格由:表格标题、表格头部、表格主体、表格脚注。四部分组成。

         2)表格涉及的标签:
              table:表格
              caption:表格标题
              thead:表格头部
              tbody:表格主体
              tfoot:表格注脚
              tr:每一行
              th、td:每一个单元格(备注:表格头部中用th,表格主体、表格脚注中用:td)

         3)具体代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>表格</title>
</head>
<body>
    
    <table border="1">
         <!-- 表格标题 -->
         <caption>学生信息</caption>

         <!-- 表格头部 -->
         <thead>
            <tr>
                <th>姓名</th>
                <th>性别</th>
                <th>年龄</th>
                <th>民族</th>
                <th>政治面貌</th>
            </tr>
         </thead>

         <!-- 表格主体-->
         <tbody>
            <tr>
                <td>张三</td>
                <td>男</td>
                <td>18</td>
                <td>汉族</td>
                <td>团员</td>
            </tr>
            <tr>
                <td>李四</td>
                <td>女</td>
                <td>20</td>
                <td>满族</td>
                <td>群众</td>
            </tr>
            <tr>
                <td>王五</td>
                <td>男</td>
                <td>19</td>
                <td>回族</td>
                <td>党员</td>
            </tr>
            <tr>
                <td>赵六</td>
                <td>女</td>
                <td>21</td>
                <td>壮族</td>
                <td>团员</td>
            </tr>
         </tbody>
         <!-- 表格属性-->
         <tfoot>
            <tr>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td>共计:4人</td>
            </tr>
         </tfoot>
    </table>

</body>
</html>

        4)常用属性

标签名标签语义常用属性单\双 标签
table表格width:设置表格宽度
height:设置表格最小高度,表格最终高度可能比设置的值大。
border:色湖之表格边框宽度。
cellspacing:设置单元格之间的间距。
thead表格头部height:设置表格头部高度
align:设置单元格的水平对齐方式,可选值如下:
         1、left:左对齐
         2、center:中间对齐
         3、right:右对齐
valign:设置单元格的垂直对齐方式,可选值如下:
        1、top:顶部对齐
        2、middle:中间对齐
        3、bottom:底部对齐
tbody表格主体常用属性与thead相同。
tr常用属性与thead相同
tfoot表格脚注常用属性与thead相同
td普通单元格width:设置单元格的宽度,同列所有单元格全都受影响
heigth:设置单元格的高度,同行所有单元格全都受影响。
align:设置单元格的水平对齐方式
valign:设置单元格的垂直对齐方式
rowspan:指定要跨的行数
coslspan:指定要跨的列数。
th表头单元格常用属性与td相同

        注意点:

1、<table>元素的border属性可以控制表格边框,单border值的大小,并不控制单元格边框的宽度。只能控制表格最外侧边框的宽度。这个问题后期要靠CSS解决。
2、给某个th 或 td 设置宽度之后,他们所在的那一列的宽度就确定了。
3、给某人 th 或td 设置了高度之后,他们所在那一行的高度就确定了。

         5)跨行跨列
              rowspan:指定要跨的行数。
              colspan:指定要跨的列数。

         课程表效果:

         

         代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>表格-跨行与跨列</title>
</head>
<body>
    <table border="1" cellspacing="0">
        <caption>课程表</caption>
        <thead>
            <tr>
                <th>项目</th>
                <th colspan="5">上课</th>
                <th colspan="2">活动与休息</th>
            </tr>
        </thead>

        <tbody>
            <tr>
                <td>星期</td>
                <td>星期一</td>
                <td>星期二</td>
                <td>星期三</td>
                <td>星期四</td>
                <td>星期五</td>
                <td>星期六</td>
                <td>星期日</td>
            </tr>
            <tr>
                <td rowspan="4">上午</td>
                <td>语文</td>
                <td>数学</td>
                <td>英语</td>
                <td>英语</td>
                <td>物理</td>
                <td>数学竞赛</td>
                <td rowspan="4">休息</td>
            </tr>
            <tr>
                <td>数学</td>
                <td>语文</td>
                <td>化学</td>
                <td>物理</td>
                <td>英语</td>
                <td>篮球比赛</td>
            </tr>
            <tr>
                <td>化学</td>
                <td>语文</td>
                <td>体育</td>
                <td>历史</td>
                <td>地理</td>
                <td>每周一考</td>
            </tr>
            <tr>
                <td>体育</td>
                <td>化学</td>
                <td>语文</td>
                <td>数学</td>
                <td>英语</td>
                <td>社会实践</td>
            </tr>
            <tr>
                <td rowspan="2">下午</td>
                <td>语文</td>
                <td>英语</td>
                <td>数学</td>
                <td>物理</td>
                <td>数学</td>
                <td>英语角</td>
                <td rowspan="2">休息</td>
            </tr>
            <tr>
                <td>化学</td>
                <td>物理</td>
                <td>地理</td>
                <td>生物</td>
                <td>体育</td>
                <td>自由活动</td>
            </tr>
        </tbody>
    </table>
</body>
</html>

        

        9、常用标签补充
标签名标签含义单/双 标签
br换行
hr分割
pre按原文显示(一般用于在页面中嵌入一大段代码)

       注意点:
        1 不要使用 br 来增加文本之间的行间隔,后面使用css 来实现。
        2 hr 的语义使分割,如果不想要语义,只想画一条水平线,那么应当使用css完成。

               10、表单

                1)基本结构:

标签名标签语义常用属性单/双 标签
form表单action:用于指定表单的提交地址(需要与后端人员沟通后确定)。
target:用于控制表单提交后,如何打开网页,常用值如下:
             _self:在本窗口打开。
             _blank:在新窗口打开。
method:用于控制表单的提交方式,暂时只需了解,在后面的ajax中会详细讲。
input输入框type:设置输入框的类型,目前用到的值使text,表示普通文本。
name:用于指定提交数据的名字,(需要与后端人员沟通后确定)
button按钮
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>表单-基本概念</title>
</head>
<body>

    <form action="https://www.baidu.com/s">
        <input type="text" name="wd">
        <button>搜索</button>
    </form>
    <hr>
    <form action="https://search.jd.com/search" target="_blank" method="get">
        <input type="text" name="keyword">
        <button>去京东搜索</button>
    </form>

</body>
</html>

         2)表单的常用控件

文本输入框:
        <input type="text" name="account" value="zhangsan" maxlength="10"><br>

常用属性如下:
name属性:数据的名称。
value属性:输入框的默认输入值。
maxlength属性:输入框最大可输入长度。

密码输入框:
        <input type="password" name="pwd"  maxlength="6">
常用属性如下:
name:数据的名称
value属性:输入框的默认输入值(密码输入框一般不用,没有意义)
maxlength:输入框最大可输入长度。

 

单选框:

        <input type="radio" name="gender" value="male">男

        <input type="radio" name="gender" value="famale" checked>女
name属性:数据的名称,注意:想要单选效果,多个radio的name属性值要保持一致
value属性:提交时的参数名。
checked属性:默认选中的选项

复选框:

        <input type="checkbox" name="hobby" value="smoke" checked>抽烟

        <input type="checkbox" name="hobby" value="drink">喝酒

        <input type="checkbox" name="hobby" value="perm" checked>烫头
name属性:数据的名称,多个checkbox的name属性值要保持一致
value属性:提交时的参数名。
checked属性:默认选中的选项


隐藏域:
        <input type="hidden" name="tag" value="123">
name属性:指定数据的名称。
value属性:指定的是真正提交的数据。


提交按钮:

         <button>确认</button> 

         <input type="submit" value="确认">

button标签type属性的默认值是submit,不要指定name属性。
input 标签编写的按钮,使用value属性指定按钮文字。


重置按钮:

         <button type="reset">重置</button>

         <input type="reset" value="重置">
与提交按钮只有 type 类型不一致,其他一样。

普通按钮:

        <button type="button">检测账户是否被注册</button>

普通按钮的type 值为 button ,若不写type属性时,默认是submit会引起表单提交。


文本域:
         <textarea name="other" cols="23" rows="3"></textarea><br>
rows属性:指定默认的行数,会影响文本域的高度
cols属性:指定默认显示的列数,会影响文本域的宽度。
没有type属性,其他属性与普通文本输入框一致。

下拉框:

       <select name="place">

            <option value="冀">河北</option>

            <option value="鲁">山东</option>

            <option value="沪" selected>上海</option>

            <option value="京">北京</option>

        </select>
name属性:
指定数据的名称。
option标签:value属性,如果没有value属性,提交的数据时option中间的文字,如果设置了value属性,提交的数据就是value值。设置selected,表示默认选中。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>表单-常用控件</title>
</head>
<body>
    <form action="https://search.jd.com/search" >
        <!-- 输入框 -->
        <!-- type = text 代表输入类型是输入框
             name = account 当表单提交时,输入框中值,会拼接在 account = xxx 进行提交代表后端的字段。
             value = zhangsan 代表输入框的默认值
             maxlength = 10  代表输入的最大长度是 10 -->
        账户:<input type="text" name="account" value="zhangsan" maxlength="10"><br>
        <!-- type = password 代表这个输入框就是要输密码的,在页面会显示成黑点,隐藏输入值-->
        密码:<input type="password" name="pwd"  maxlength="6"><br>
        

        <!-- 单选按钮 -->
        <!-- 单选按钮也要使用 input 输入框标签,但是type要选择 radio
             name 属性代表关联属性,统一个name属性 代表统一个单选
             value 属性代表参数值,伴随表单提交时的参数值,参数值就是后端接收的参数
             checked 代表默认选项-->
        性别:
        <input type="radio" name="gender" value="male">男
        <input type="radio" name="gender" value="famale" checked>女
        <br>

        <!-- 多选框-->
        <!-- 多选框也是 input,type选择 checkbox,name、value、checked 与单选框一致-->
        爱好:
        <input type="checkbox" name="hobby" value="smoke" checked>抽烟
        <input type="checkbox" name="hobby" value="drink">喝酒
        <input type="checkbox" name="hobby" value="perm" checked>烫头
        <br>
        
        <!-- 文本域 -->
        <!-- textarea 标签代表文本域 ,cols 代表宽度,也就是列数 rows 代表高度也就是行数
             textarea 没有type属性,也就代表只能代表 输入文本
             name = other 就代表,参数名,可以带着表单一起提交。-->
        其他:
        <textarea name="other" cols="23" rows="3"></textarea><br>

        <!-- 下拉框 -->
        <!-- select  代表多选框,其中option 是每个选项
             select 中的name值代表 参数名 ,option中 value 代表属性值。
             selected 代表默认选择的。-->
        籍贯:
        <select name="place">
            <option value="冀">河北</option>
            <option value="鲁">山东</option>
            <option value="沪" selected>上海</option>
            <option value="京">北京</option>
        </select>
        <br>

        <!-- 隐藏域 -->
        <!-- 页面上看不到的部分,可以设置默认值跟随表单一起提交-->
        <input type="hidden" name="tag" value="123">
         

        <!-- 确认按钮 第一种写法 -->
        <!-- button 标签的默认属性就是 type = submit 代表提交-->
        <!-- <button>确认</button> -->
        <!-- 确认按钮 第二种写法 -->
        <!-- 当input标签的 type类型是 submit 时,代表这个是一个提交按钮
             value值代表按钮的名字,不要带name属性,带上name属性就当成 name = value 参数值一起提交 -->
         <input type="submit" value="确认">

        <!-- 重置按钮 第一种写法-->
        <!-- type = reset 时,代表重置按钮 
             重置按钮会清空页面的操作,相当于一次刷新-->
         <!-- <button type="reset">重置</button> -->
        <!-- 重置按钮 第二种写法 -->
        <!-- input标签 当type = reset 就是重置按钮 value时按钮的名字!-->
        <input type="reset" value="重置">

        <!-- 普通按钮 -->
        <!-- type = button 时代表普通按钮 -->
        <button type="button">检测账户是否被注册</button>
    </form>
</body>
</html>

         3)禁用表单控件
         表单控件的标签中添加 disabled属性 即可禁用表单控件。

imput、textarea、button、select、option 都可以设置 disabled 属性。

        4)label 标签 
        label 标签可与表单控件相关联,关联之后点击文字,与之对应的表单控件就会获取焦点。
        两种与label 关联方式如下:

  1、让 label 标签的 for 属性值等于表单控件的 id。

  2、把表单控件套在 label 标签的里面。

        <!-- label标签  获取焦点,label 通过for标签中的值 与 对应标签中的id值对应,
             当点击label标签中的文字时,会自动跳转到对应标签的输入框或者选项上--> 
        <label for="zhanghu">账户:</label><input id="zhanghu" type="text" name="account" value="zhangsan" maxlength="10"><br>

        <!-- label中的第二种方式,直接将关联的元素包裹在 label标签内,
             这样选到密码时,也会自动选到输入框中-->
        <label>
            密码:<input id="mima" type="password" name="pwd"  maxlength="6" ><br>
        </label>
        

        性别:
        <input type="radio" name="gender" value="male" id="nan">
        <label for="nan">男</label>

        <input type="radio" name="gender" value="famale" id="nv">
        <label for="nv">女</label>
        <br>


        爱好:
        <label>
            <input type="checkbox" name="hobby" value="smoke" >抽烟
        </label>
        <label>
            <input type="checkbox" name="hobby" value="drink" >喝酒
        </label>
        <label>
            <input type="checkbox" name="hobby" value="perm" >烫头
        </label>
        <br>
        
        <label for="qita">其他:</label>
        <textarea name="other" cols="23" rows="3"  id="qita"></textarea><br>

        5)fieldset 与 legend 的使用(了解)

        fieldset 可以为表单控件分组 , legend 标签是分组的标题。

<form action="https://search.jd.com/search" >

        <fieldset>
            <legend>主要信息</legend>
            <label for="zhanghu">账户:</label><input id="zhanghu" type="text" name="account" value="zhangsan" maxlength="10"><br>
            <label>
                密码:<input id="mima" type="password" name="pwd"  maxlength="6" ><br>
            </label>
            性别:
            <input type="radio" name="gender" value="male" id="nan">
            <label for="nan">男</label>
    
            <input type="radio" name="gender" value="famale" id="nv">
            <label for="nv">女</label>
            <br>    
        </fieldset>

        <fieldset>
            爱好:
            <label>
                <input type="checkbox" name="hobby" value="smoke" >抽烟
            </label>
            <label>
                <input type="checkbox" name="hobby" value="drink" >喝酒
            </label>
            <label>
                <input type="checkbox" name="hobby" value="perm" >烫头
            </label>
            <br>
            
            <label for="qita">其他:</label>
            <textarea name="other" cols="23" rows="3"  id="qita"></textarea><br>
    
            籍贯:
            <select name="place" >
                <option value="冀" >河北</option>
                <option value="鲁">山东</option>
                <option value="沪" >上海</option>
                <option value="京">北京</option>
            </select>
            <br>
        </fieldset>

        <input type="hidden" name="tag" value="123">
        <input type="submit" value="确认" >
        <input type="reset" value="重置">
        <button type="button" >检测账户是否被注册</button>

    </form>

                 

标签名
标签语义常用属性单/双 标签
form表单action属性:表单要提交的地址。
target属性:跳转的新地址的打开方式;值_self、_blank
method属性:请求方式,可选值:get、post
input多种形式的表单控件

type属性:指定表单控件的类型。
      可选值:text、password、radio、checkbox、hidden、submit、reset、button 等。
name属性:指定数据名称
value属性:
        对于输入框:指定默认输入的值。
        对于单选和复选框:实际提交的数据。
        对于按钮:显示按钮的文字。
disable属性:设置表单控件不可用。
maxlength属性:用于输入框,设置最大可输入长度。
checked属性:用于单选按钮和复选框,默认选中。

textarea文本域name属性:指定数据名称
rows属性:指定默认显示的行数,影响文本域的高度。
cols属性:自定默认显示的列数,影响文本域的宽度。
disabled属性:设置表单控件不可用。
select下拉框name属性:指定数据名称
disabled属性:设置整个下拉框不可用。
option下拉框的选项disabled属性:设置下拉选项不可用
value属性:该选项事件提交的数据(不指定value,会把标签中的内容作为提交数据)
selected:默认选中。
button下拉框的选项disabled属性:设置按钮不可用。
type属性:设置按钮的类型,值:submit(默认)、reset、button
label与表单控件做关联for属性:要与关联的表单控件的id值相同。
fieldset表单控件分组
legend分组名称

                11、框架标签
标签名功能和语义属性单/双 标签
iframe框架(在网页中嵌入其他文件)name:框架名字,可以与target属性配合。
width:框架的宽。
height:框架的高度。
f'rameborder:是否显示边框,值:0或者1.

        iframe标签的实际应用:
        1、在网页中嵌入广告
        2、与超链接或表单的target配合,展示不同的内容。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>框架标签</title>
</head>
<body>

    <!-- 使用iframe标签嵌入一个普通网页 -->
    <!-- src 是嵌入网页的地址, width是嵌入网页的宽 height 是高 frameborder 是嵌入网页是否右边框 -->
    <iframe src="https://www.taobao.com/" width="900" height="300" frameborder="0"></iframe><br>

    <!-- 使用iframe 嵌入图片-->
    <iframe src="./resource/git动图.gif" frameborder="0"></iframe><br>

    <!-- 与超链接的 target 属性配合,做成点击超链接进入嵌入网页-->
    <a href="https://www.taobao.com/" target="bb">点我看淘宝</a><br>
    <a href="https://www.tmall.com/" target="bb">点我看天猫</a><br>

    <!-- 与表单的target属性配合使用  使用表单提交的数据会直接 调用别的网页的接口,并将网页嵌入到自己的iframe 当中-->
     <form action="https://so.toutiao.com/search" target="bb">
        <input type="text" name="keyword">
        <input type="submit" value="搜索">
     </form>
    <iframe name="bb" frameborder="0" width="300"></iframe>
</body>
</html>

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2241584.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VRRP HSRP GLBP 三者区别

1. VRRP&#xff08;Virtual Router Redundancy Protocol&#xff0c;虚拟路由冗余协议&#xff09; 标准协议&#xff1a;VRRP 是一种开放标准协议&#xff08;RFC 5798&#xff09;&#xff0c;因此支持的厂商较多&#xff0c;通常用于多种网络设备中。主备模式&#xff1a;…

Elasticsearch:管理和排除 Elasticsearch 内存故障

作者&#xff1a;来自 Elastic Stef Nestor 随着 Elastic Cloud 提供可观察性、安全性和搜索等解决方案&#xff0c;我们将使用 Elastic Cloud 的用户范围从完整的运营团队扩大到包括数据工程师、安全团队和顾问。作为 Elastic 支持代表&#xff0c;我很乐意与各种各样的用户和…

Java集合(Collection+Map)

Java集合&#xff08;CollectionMap&#xff09; 为什么要使用集合&#xff1f;泛型 <>集合框架单列集合CollectionCollection遍历方式List&#xff1a;有序、可重复、有索引ArrayListLinkedListVector&#xff08;已经淘汰&#xff0c;不会再用&#xff09; Set&#xf…

大数据如何助力干部选拔的公正性

随着社会的发展和进步&#xff0c;干部选拔成为组织管理中至关重要的一环。传统的选拔方式可能存在主观性、不公平性以及效率低下等问题。大数据技术的应用&#xff0c;为干部选拔提供了更加全面、精准、客观的信息支持&#xff0c;显著提升选拔工作的科学性和公正性。以下是大…

EHOME视频平台EasyCVR多品牌摄像机视频平台监控视频编码H.265与Smart 265的区别?

在视频监控领域&#xff0c;技术的不断进步推动着行业向更高效、更智能的方向发展。特别是在编码技术方面&#xff0c;Smart 265作为一种新型的视频编码技术&#xff0c;相较于传统的H.265&#xff0c;有明显优势。这种技术的优势在EasyCVR视频监控汇聚管理平台中得到了充分的体…

Docker:查看镜像里的文件

目录 背景步骤1、下载所需要的docker镜像2、创建并运行临时容器3、停止并删除临时容器 背景 在开发过程中&#xff0c;为了更好的理解和开发程序&#xff0c;有时需要确认镜像里的文件是否符合预期&#xff0c;这时就需要查看镜像内容 步骤 1、下载所需要的docker镜像 可以使…

【Vitepress报错】Error: [vitepress] 8 dead link(s) found.

原因 VitePress 在编译时&#xff0c;发现 死链接(dead links) 会构建失败&#xff01;具体在哪我也找不到… 解决方案 如图第一行蓝色提示信息&#xff0c;设置 Vitepress 属性 ignoredeadlinks 为 true 可忽略报错。 .vuepress/config.js export default defineConfig(…

HTB:Squashed[WriteUP]

目录 连接至HTB服务器并启动靶机 使用rustscan对靶机TCP端口进行开放扫描 使用nmap对靶机开放端口进行脚本、服务扫描 使用浏览器访问靶机80端口页面 使用showmount列出靶机上的NFS共享 新建一个test用户 使用Kali自带的PHP_REVERSE_SHELL并复制到一号挂载点 尝试使用c…

数据分析-48-时间序列变点检测之在线实时数据的CPD

文章目录 1 时间序列结构1.1 变化点的定义1.2 结构变化的类型1.2.1 水平变化1.2.2 方差变化1.3 变点检测1.3.1 离线数据检测方法1.3.2 实时数据检测方法2 模拟数据2.1 模拟恒定方差数据2.2 模拟变化方差数据3 实时数据CPD3.1 SDAR学习算法3.2 Changefinder模块3.3 恒定方差CPD3…

ThriveX 博客管理系统前后端项目部署教程

前端 前端项目地址&#xff1a;https://github.com/LiuYuYang01/ThriveX-Blog 控制端项目地址&#xff1a;https://github.com/LiuYuYang01/ThriveX-Admin Vercel 首先以 Vercel 进行部署&#xff0c;两种方式部署都是一样的&#xff0c;我们以前端项目进行演示 首先我们先…

Seata源码笔记(三)

Seata源码笔记&#xff08;三&#xff09; RPC部分基础接口AbstractNettyRemotinginit方法send方法&#xff08;仅看sendSync&#xff09;sendSync中的钩子 AbstractNettyRemotingClient 基于incubator-seata-2.x RPC部分 基础接口 AbstractNettyRemoting init方法 主要设置…

Verilog HDL学习笔记

Verilog HDL&#xff08;Hardware Description Language&#xff09;是在一种硬件描述语言&#xff0c;类似于计算机的高级编程设计语言&#xff0c;它具有灵活性高&#xff0c;容易学习和使用等特点&#xff0c;同时Verilog能够通过文本的形式来描述数字系统的硬件结构和功能。…

java-Day07 包装类 异常+自定义异常

包装类 包装类:将基本数据类型包装成引用数据类型 int-Integer char-Character double-Double 其余都大写 包装类好处 1.包装类的存在弥补了基本数据类型的不足。在集合类中&#xff0c;无法将int 、double等类型放进去&#xff0c;因为集合的容器要求元素是Object类型。…

10款高效音频剪辑工具,让声音编辑更上一层楼。

音频剪辑在音频&#xff0c;视频&#xff0c;广告制作&#xff0c;游戏开发&#xff0c;广播等领域中都有广泛的应用。通过音频剪辑&#xff0c;创作者可以通将不同的音频片段进行剪切、拼接、混音等操作&#xff0c;创作出风格各异的音乐作品。如果你也正在为音频创作而努力的…

释放高级功能:Nexusflows Athene-V2-Agent在工具使用和代理用例方面超越 GPT-4o

在不断发展的人工智能领域&#xff0c;Nexusflows 推出了 Athene-V2-Agent 作为其模型系列的强大补充。这种专门的代理模型设计用于在功能调用和代理应用中发挥出色作用&#xff0c;突破了人工智能所能达到的极限。 竞争优势 Athene-V2-Agent 不仅仅是另一种人工智能模型&…

SRP 实现 Cook-Torrance BRDF

写的很乱&#xff01; BRDF&#xff08;Bidirectional Reflectance Distribution Function&#xff09;全称双向反射分布函数。辐射量单位非常多&#xff0c;这里为方便直观理解&#xff0c;会用非常不严谨的光照强度来解释说明。 BRDF光照模型&#xff0c;上反射率公式&#…

SDF,一个从1978年运行至今的公共Unix Shell

关于SDF 最近发现了一个很古老的公共Unix Shell服务器&#xff0c;这个项目从1978年运行至今&#xff0c;如果对操作系统&#xff0c;对Unix感兴趣&#xff0c;可以进去玩一玩体验一下 SDF Public Access UNIX System - Free Shell Account and Shell Access 注册方式 我一…

机器学习基础02_特征工程

目录 一、概念 二、API 三、DictVectorize字典列表特征提取 四、CountVectorize文本特征提取 五、TF-IDF文本1特征词的重要程度特征提取 六、无量纲化预处理 1、MinMaxScaler 归一化 2、StandardScaler 标准化 七、特征降维 1、特征选择 VarianceThreshold 底方差…

[前端面试]javascript

js数据类型 简单数据类型 null undefined string number boolean bigint 任意精度的大整数 symbol 创建唯一且不变的值&#xff0c;常用来表示对象属性的唯一标识 复杂数据类型 object&#xff0c;数组&#xff0c;函数,正则,日期等 区别 存储区别 简单数据类型因为其大小固定…

[DEBUG] 服务器 CORS 已经允许所有源,仍然有 304 的跨域问题

背景 今天有一台服务器到期了&#xff0c;准备把后端迁移到另一台服务器上&#xff0c;结果前端在测试的时候&#xff0c;出现了 304 的跨域问题。 调试过程中出现的问题&#xff0c;包括但不限于&#xff1a; set the request’s mode to ‘no-cors’Redirect is not allow…