zoukankan      html  css  js  c++  java
  • 前端学习 之 HTML

    一.HTML 介绍

    超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言,它不是一种编程语言。

    HTML使用标签来描述网页。不像python编程语言一样,有逻辑什么的,这个标记语言是没有逻辑的.

    网页文件的扩展名:.html.htm

    二.HTML文档结构

    当创建一个初始的html文件时,会产生如下的内容:

    <!DOCTYPE html>
    
    <html lang="en">
    
    <head>
    
    <meta charset="UTF-8">
    
    <title>Title</title>
    
    </head>
    
    <body>
    
     
    
    </body>
    
    </html>

    以下对上面结构进行解释:

    1.<!DOCTYPE html>声明为HTML5文档。

    2.<html>、</html>是文档的开始标记和结束的标记。

    HTML页面的根元素,在它们之间是文档的头部(head)和主体(body)。

    3.<head>、</head>定义了HTML文档的开头部分。其中lang="en"就是说,你整个文档的内容以英文为主为主,如果整个内容与中文为主可改为:lang="zh-CN"。

    它们之间的内容不会在浏览器的文档窗口显示。

    包含了文档的元(meta)数据,配置信息等,是给浏览器看的,你看到的是在body标签里面写的。

    4.<title>、</title>定义了网页标题,在浏览器标题栏显示。

    (修改一下title中的内容,然后看一下浏览器,你就会发现title是什么了)

    5.<body>、</body>之间的文本是可见的网页主体内容。

    注意:对于中文网页需要使用 <meta charset="utf-8"> 声明编码,否则会出现乱码。有些浏览器会设置 GBK 为默认编码,则你需要设置为 <meta charset="gbk">。

    三.常用标签介绍

    标签分类:

    双标签(双闭合)

    <h1>dfdsfsdf</h1>

    单标签(单闭合)

    <img>

    1.注释标签

    <!-- --> 

    #找到一行内容ctrl+/就能注释,注释的内容不会在网页上显示出来,

    这个标签不影响网页内容,起到注释的作用。

    2.head标签以及head里的标签(网站的配置信息)

    定义了HTML文档的开头部分。(在二有详细介绍)

    下面这些标签可用在 head 部分:

    <link>:定义文档与外部资源的关系。

    <meta> :提供有关页面的基本信息。

    <script>:既可以包含脚本语句,也可以通过 src 属性指向外部脚本文件。

    <style>:用于为 HTML 文档定义样式信息。

    <title>:定义文档的标题。

    以下是head标签内有相关的标签介绍:

    3.body标签以及body内的常用标签

    <body>、</body>之间的文本是可见的网页主体内容。

    <body> 元素包含文档的所有内容(比如文本、超链接、图像、表格和列表等等。)

    (1)h系列(***)

    <hr> #就是单独个一个水平线

    h1-----h6

    代码例子:

    <h1>我的第一个网页</h1>

    <h2>我的第一个网页</h2>

    <h3>我的第一个网页</h3>

    <h4>我的第一个网页</h4>

    <h5>我的第一个网页</h5>

    <h6>我的第一个网页</h6>

    效果图:

    (2)b标签加粗

    代码例子:

    字体没有加粗

    <b>字体加粗了</b>

    <strong>字体加粗了</strong>

    效果图:

    (3)u标签 下划线;sdel 中划线

    <u> 标签可定义下划线文本。

    <s> 标签可定义加删除线文本定义。

    代码例子:

    <!--u标签 下划线-->
    
    <u>字体下面有下划线</u>
    
    <br>
    
    <!--s和del 中划线-->
    
    <s>字体下面有中划线</s>
    
    <br>
    
    <del>字体下面有中划线</del>

    效果图:

    (4)上标<sup>和下标<sub>

    <sup> 标签可定义上标文本。

    <sub> 标签可定义下标文本。

    代码例子

    4<sup>2</sup>
    
    5<sub>3</sub>

    效果:

    (5)p标签(***)

    <p> 标签定义段落。

    段落:是英文paragraph的缩写。

    HTML标签是分等级的。HTML将所有的标签分为两种:

    文本级标签:pspanabiuem。文本标签里只能放文字、图片、表单元素。

    容器级标签:divh系列、lidtdd。容器级标签里可以放任何东西。

    请死死记住:p标签是一个文本级标签,p里面只能放文字、图片、表单元素。其他的一律不能放。

    只能放文本/图片/表单元素.

    属性:align='属性值':对齐方式。属性值包括:leftcenterright

    代码例子:

    <p>
    
    <div>
    
    <a href="https://www.baidu.com">去百度</a>
    
    <img src="pic3.jpg">
    
     
    
    </div>
    
    </p>

    (6)div标签(***)

    块级标签,独占一行.页面排版时,当做容器使用

    <div>可定义文档中的分区或节

    (7)span标签(***)

    内联标签,作为页面提示信息使用

    <span> 标签被用来组合文档中的行内元素。

    <span><div>唯一的区别在于:<span>是不换行的,而<div>是换行的。

    如果单独在网页中插入这两个元素,不会对页面产生任何的影响。这两个元素是专门为定义CSS样式而生的。或者说,DIV+CSS来实现各种样式。

    代码例子1:

    <div>
    
    第一个div
    
    </div>
    
    <div>
    
    第二个div
    
    </div>
    
    <span>第一个span</span>
    
    <span>第二个span动力</span>

    效果图:

    (8)pre标签

    定义预格式化的文本

    就是将原来的格式输出

    <pre>
    
    望庐山瀑布
    
    作者:李白
    
    日照香炉生紫烟,遥看瀑布挂前川。
    
    飞流直下三千尺,疑是银河落九天。
    
    </pre>

    效果:

    (9)a标签(***)文本级标签

    超链接标签,所谓的超链接是指从一个网页指向一个目标的连接关系,这个目标可以是另一个网页,也可以是相同网页上的不同位置,还可以是一个图片,一个电子邮件地址,一个文件,甚至是一个应用程序。

    跳转到指定地址

    跳转至锚点(nameid,注意一下)

    跳转至顶部(#)

    写静态页面是,建议给a加上 <a href="javascript:void(0);"

    javascript:是伪协议,表示url的内容通过javascript执行。void(0)表示不作任何操作,这样会防止链接跳转到其他页面。这么做往往是为了保留链接的样式,但不让链接执行实际操作.

    例子1:

    <h1>我的第一个网页</h1>
    
    <h3 id="title-h3">我的第一个网页</h3>
    
    <p id="aaa">字体没有加粗</p>
    
    <a href="one.html">跳到one.html网页</a>
    
    <!--跳转到百度-->
    
    <a href="http://www.baidu.com">百度一下</a>
    
    <!--跳转到id = "#title-h3" 的标签 -->
    
    <a href="#title-h3">跳至h3</a>
    
    <a href="#">跳至顶部</a>
    
    <!--跳转到id = "aaa" 的标签-->
    
    <a href="#aaa">跳至aaa</a>

    例子2:

    <a href="javascript:alert('hsz');" title="弹出框">不跳转,显示hsz</a>
    
    <a href="javascript:void(0);">点击2</a>
    
    <a href="javascript:;">点击3</a>

    (10)img标签(***)

    src 图片的地址(url,绝对路径,相对路径)

    宽和高,只设置一个时,会按照图片的原始比例,进行缩放.

    title 鼠标悬浮时,显示的提示性的文本.

    alt 图片加载失败时,提示信息.提高用户的体验度.

    a标签可以包裹img,点击img时,进行跳转.

    高矮不齐,底边对齐

    例子:(前提是在这个网页的同一个文件夹下放pic3.jpg名字的图片)

    <img src="pic3.jpg" alt="走丢了" width="120" height="100" title="妖精的尾巴">
    
    <img src="pic3.jpg" alt="走丢了" width="250" height="200" title="妖精的尾巴">
    
    <img src="pic3.jpg" alt="走丢了" width="450" height="400" title="妖精的尾巴">
    
    <img src="pi3.jpg" alt="走丢了" width="100" height="200" title="妖精的尾巴">

    前三个只要将鼠标移动到图片位置就会显示"妖精的尾巴",第四个是没有这个图标,会返回alt的内容"走丢了"

    (11)ul标签(***)无序列表

    li标签,不能单独使用.容器级标签.

    一般会结合css,进行页面排版.

    type属性:

    disc(实心圆点,默认值)

    circle(空心圆圈)

    square(实心方块)

    none(无样式)

    1:(注意不同属性)

    <ul type="disc">
    
    <li>张三</li>
    
    <li>李四</li>
    
    <li>赵五</li>
    
    </ul>
    
    <ul type="circle">
    
    <li>张三</li>
    
    <li>李四</li>
    
    <li>赵五</li>
    
    </ul>

    效果图:

    2:(嵌套的ul)

    <ul>
    
    <li><b>北京</b>
    
    <ul>
    
    <li>朝阳区</li>
    
    <li>东城区</li>
    
    <li>西城区</li>
    
    </ul>
    
    </li>
    
    </ul>
    
    <ul>
    
    <li><b>广东</b>
    
    <ul>
    
    <li>广州市</li>
    
    <li>佛山市</li>
    
    <li>深圳市</li>
    
    </ul>
    
    </li>
    
    </ul>

    效果图:

    (12)ol标签 有序列表

    1:(从第二项开始)

    <ol type="1" start="2">

    <li>第一项</li>

    <li>第二项</li>

    </ol>

    设置type,自定制序号

    type属性: start是从数字几开始

    1 数字列表,默认值

    A 大写字母

    a 小写字母

    大写罗马

    小写罗马

    配合li标签.

    (13)dl标签

    定义列表

    dt标签,顶头显示.

    dd标签,在左侧有缩进

    例:

    <dl>
    
    <dt>第一条规则</dt>
    
    <dd>不准睡觉</dd>
    
    <dd>不准交头接耳</dd>
    
     
    
    <dt>第二条规则</dt>
    
    <dd>可以泡妞</dd>
    
    <dd>可以找妹子</dd>
    
    </dl>

    效果:

    (14)table标签

    tr标签,

    td标签,

    th标签,(td+b)

    thead标签,表头

    tbody标签,表内容

    tfoot标签,表页脚.

    合并单元格:

    纵向合并rowspan

    横向合并colspan

    例子:

    <!--表格 3行4列-->
    
    <table border="1" style="border-collapse:collapse;">
    
    <tr>
    
    <th>姓名</th>
    
    <th>年龄</th>
    
    <th>性别</th>
    
    <td><b>地区</b></td> <!-- th相当于td+b -->
    
    </tr>
    
    <tr>
    
    <td>夏波</td>
    
    <td>22</td>
    
    <td></td>
    
    <td rowspan="2">中国</td>
    
    </tr>
    
     
    
    <tr>
    
    <td>小岳岳</td>
    
    <td>35</td>
    
    <td></td>
    
    <!-- <td>河南</td>-->
    
    </tr>
    
    <tr>
    
    <td>邓紫棋</td>
    
    <td>33</td>
    
    <!-- <td colspan="2">女</td> <!– 横向 –>-->
    
    <td></td>
    
    <td>中国香港</td>
    
    </tr>
    
    </table>

    效果图:

    (15)form表单(***)

    属性:

    - action 数据提交的服务器地址

    - method 数据提交的方式,默认get,指定post,当你写错的时候,还是按照get

    input标签

    type:

    - text, 默认,文本,用于输入用户名等信息(***)

    - password, 用于用户密文输入密码(***)

    - radio , 单选框,必须name值一致.(***)

    - CheckBox, 复选框,(***)

    - button, 普通按钮,配合js使用(***)

    <button>按钮</button>
    View Code

    - submit, 提交按钮.(***)

    - reset, 重置form表单内的内容

    - file, 上传文件(***)

    <input type="file" value='上传文件'>
    View Code

    - hidden, 隐藏的input标签

    默认选中,checked

    (16)select标签(***)

    name是提交过去的key,option的value属性是提交过去的值.

    option标签 value属性,

    默认选中,selected

    textarea标签

    多行文本输入框

    (17)label标签(***)

    提高用户的体验度

    for属性,必须制定的对方的id值.

    如果以get 的方式,比较不安全,因为输入的信息在提交过程中都显示跳转的网址上了,以下有个例子是为了方便查看提交的信息所有先用get,

    一般用post,post方式提交的信息在请求体,相对安全

    例子:

    <h3>用户注册</h3>
    <!--method 一般用post,此处是为了方便查看-->
    <form action="https://www.baidu.com" method="get">
    
    <p><label for="username">昵称:</label><input type="text" name="username" id="username"></p>
    <!--type="password"表示输入的密码为密文显示-->
    <p>密码:<input type="password" name="pwd"></p>
    <p>性别:
    <!--checked 如果没有选择默认选择男-->
    <input type="radio" name="sex" value="male" checked><input type="radio" name="sex" value="female"><input type="radio" name="sex" value="secret"> 保密
    </p>
    <p>爱好:
    <input id="chui" type="checkbox" name="hobby" value="chui"> <label for="chui">吹管乐</label>
    <input type="checkbox" name="hobby" value="la"> 拉二胡
    <input type="checkbox" name="hobby" value="tan"> 弹吉他
    <input type="checkbox" name="hobby" value="chang"> 唱京剧
    </p>
    <p>
    学历:
    <select name="xueli" id="sel1" size="3" multiple>
    <option value="g">高中</option>
    <option value="d">大专</option>
    <option value="b" selected>本科</option>
    <option value="s">硕士</option>
    </select>
    </p>
    <div>
    <!--多行文本输入框cols="40" rows="5" 5行40列-->
    <p>个性签名:
    <textarea name="" id="" cols="40" rows="5"></textarea>
    </p>
    </div>
    <!--hidden1 隐藏了不显示-->
    <input type="hidden" value="sdfsdfsdf">
    <!--如果reset不写value的值,默认为重置-->
    <input type="reset" value='重置'>
    <input type="submit" value='注册'>
    
    </form>

    效果截图:

    输入信息后截图:

    提交后跳转到百度,百度网址后跟着一串的提交值,(平常一般用于将着一串值传给服务端)

     上面有从另外一个网页提交的各种信息

  • 相关阅读:
    MSSQL—列记录合并
    MSSQL—字符串分离(Split函数)
    如何在ASP.NET Core中自定义Azure Storage File Provider
    从零开始实现ASP.NET Core MVC的插件式开发(六)
    对ASP.NET程序员非常有用的85个工具
    vs-code 配置
    idea-plugin
    VirtualBox中CentOS遇到的问题
    监听器
    线程组复杂场景
  • 原文地址:https://www.cnblogs.com/hszstudypy/p/11061731.html
Copyright © 2011-2022 走看看