前端基础之HTML

概要:

  • 前端介绍

  • HTML文档结构(head内常用标签,body内标签)

  • HTML基本标签

  • HTML特殊符号

  • HTML常用标签

  • HTML之form表单


 一、什么是前端:

  1、任何能够直接跟用户打交道的交互界面都可以称之为前端,有前必有后,后端就是我们以前学的服务端。

    所谓Python全栈开发,就是前端与后端都写。

    而说到前端后端就得提到:

    软件开发架构:

      C/S架构     client  server

      B/S架构     browser  server

    本质上B/S架构也是C/S架构,因为浏览器也算一种客户端

  2、我们浏览器输入网址回车后浏览器做了哪些事:

      1.输入网址

      2.向服务端发送请求

      3.服务器接收请求并查询浏览器想要的数据,返回给浏览器

      4.浏览器拿到数据展示页面

  3、HTTP协议:

      超文本传输协议

      客户端服务端在数据交互的时候必须遵循的一套协议

二、HTML

  1、HTML又名《超文本标记语言》,重点关键字在于:标记,也就是说这门语言是针对网页的创建过程而产生的,好比你要写一个网页就必须要使用这种标记语言。

  2、HTML文档结构:

    我们用pycharm创建一个html页面文件的时候,pycharm会默认给一个html结构框架:

    这里补充一下:html语言里的注释用:

    <!--这是单行注释-->
    <!--
    这是多行注释
    -->

<!DOCTYPE html>          <!--文档类型:html-->
<html lang="en">          <!--文档语言:en-->
<!--head存放的内容用户是看不到的,主要是给浏览器和搜索引擎看的-->
<head>                    <!--文档头:开始-->
    <meta charset="UTF-8">
    <title>Title</title>
</head>                   <!--文档头:结尾-->
<body>                    <!--文档显示内容:开始-->

</body>                   <!--文档显示内容:结尾-->
</html>    

    html文件的打开方式:浏览器打开,pycharm内右上边有选择浏览器图标打开

  3、head内常用标签:

    tilte:页面标题

    style:样式

    script:内部可以直接写js代码,也可以通过src属性引入外部js文件

<script src="my_js01.js"></script>  
 <!--引号里面是js文件在html文件同一级文件夹内-->

my_js01.js文件内容:
alert('电脑要爆炸了,快给我吧!')

结果:

    link:通过href引入外部css文件

输入link按tab键会自动加载link语句:<link rel="stylesheet" href="">
在双引号里面填写引入外部css文件名(需要与html同目录)
<link rel="stylesheet" href="my_style01.css">

my_style01.css文件内容: p {color: red} <!--p标签里面的所有内容变成红色-->

三、HTML文档结构内——body内标签:

  • 基本标签:
    </head>
    <body>
        <h1>标题标签</h1>
        <h2>标题标签</h2>
        <h3>标题标签</h3>
        <h4>标题标签</h4>
        <h5>标题标签</h5>
        <h6>标题标签</h6>
        <p>这是段落标签,此标签内容独占一行</p>
        <s>[99]</s>
        <u>内容下划线</u>
        <i>内容斜体</i>
        <b>看,我加粗了</b>
        <hr>这是分割符
        <p>特殊符号</p>
        <p>
            小于号:[a&lt;b]
            大于号:[a&gt;b]
            其他:[&copy;][&reg;][&amp;][&yen;]
        </p>
    </body>

  • 常用标签分类:
      • 分类一:双标签:<h1>标题标签</h1>
                 自闭合标签:<hr>    <br>
      • 分类二:
        • 块儿级标签:div   p   h1~h6  ul  ol  dl  li   dd  table  h
          • 独占一行
          • 能够嵌套某些块儿级标签和行内标签
          • 可以设置长、宽
          行内标签:span  img  a  lable  input  em  i  select   small   sub  strong   button...
          • 自身内容有多大就占多大
          • 行内无法设置长、宽
          • 能够嵌套行内标签,但无法嵌套快级标签
        • 一些注意点:
          • 有几个特殊的块儿级标签只能嵌套行内标签,不能包含块儿级标签:h1~h6、 p、dt
          • p标签虽然也是块级标签,但是不能嵌套任何块儿级标签和行内标签
  • <div></div>和<span></span>  两个重要的标签,功能主要是完成页面的布局
      • <div style="height: 100px;background: black">
            <p style="color: red">好绿</p>
            <p style="color: white">好白</p>
            <p style="color: yellow">好黄</p>
        </div>
  • URL:统一资源定位符(就是我们访问某一网站的网址)
      • 四部分:

        第1部分:为协议:http://、ftp://等
        第2部分:为站点地址:可以是域名或IP地址
        第3部分:为页面在站点中的目录:stu
        第4部分:为页面名称,例如 index.html
        各部分之间用“/”符号隔开。

  • a标签:链接标签(可以通过href=" "跳转到指定网址)
      • 跳转功能:
        <!--_self:原页面打开链接,_blank:新页面打开链接-->
        <a href="http://www.baidu.com" target="_self">[百度一下]</a>
        <a href="http://www.baidu.com" target="_blank">[百度一下]</a>
      • 锚点功能:
        解析:href="这里面填写跳转id,id前面要加#"    id="这里面填写此行代码的位置id"
        
        <a href="#middle" id="top">跳到中间</a>   把这个放在body顶部
        <a href="#down" id="middle">跳到底部</a>  把这个放在body中间
        <a href="#top" id="down">跳到顶部</a >    把这个放在body底部
  • img标签:图片标签
      • <img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=155
        9654296&di=9107ce33edfe48328019f4aa2c976fc3&imgtype=jpg&er=1&src=http%3A%2F%2Fmmb
        iz.qpic.cn%2Fmmbiz_jpg%2FeibPQuTaEv62qGwCsE1ibzCWficke01VS9d1CLPllyt5fl9TbZSXziat
        RpEB3L0c1VPYZPtT7BfYYgXGoGk4GcMFnw%2F640%3Fwx_fmt%3Djpeg"
        alt=""> <br> <img src="平凡的世界.jpg" alt="细读经典" title="这是一本必须要读的书">
        <img src="平凡的世界.jpg" alt="" title="路遥" width="315">   #  图片原宽度631
         解析:src输入图片网络地址或者html同目录下图片名,alt图片加载失败显示的文字,
        title图片加载出来鼠标放在图片上会出现的文字
        width图片宽度,高度等比例改变

  • 列表标签:
      • 无序列表
        type默认为disc(小圆点),还可以自定义circle(小圆圈),square(小方块),none
        <ul type="square">
            <li>平凡的世界</li>
            <li>与时间做朋友</li>
            <li>自卑与超越</li>
        </ul>
        <!DOCTYPE html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>ul去除自带样式</title>
        </head>
            <style>
                body {margin: 0;    /*标签与网页直接无空隙*/
                      background-color: bisque;  /*网页背景颜色*/
                      }
                ul {margin: 0;
                    list-style-type: none;  /*去除列表序号*/
                    padding-left: 0         /*列表紧贴左边*/
                    }
            </style>
        <body>
        <ul>
                <li>书籍1</li>
                <li>书籍2</li>
                <li>书籍3</li>
        </ul>
        </body>
        </html>
      • 有序列表
        type可以为:A I a i 1
        <ol type="1">
            <li>路遥</li>
            <li>李笑来</li>
            <li>阿福雷德 阿德勒</li>
        </ol>
      • 标题列表
        <dl>
            <dt>内蒙古</dt>
            <dd>呼和浩特</dd>
            <dd>鄂尔多斯</dd>
            <dd>呼伦贝尔</dd>
            <dt>湖北</dt>
            <dd>武汉</dd>
            <dd>黄石</dd>
            <dd>鄂州</dd>
        </dl>
        
        dt 标题
        dd 内容

  • 表格标签:
    <table border="20" cellspacing="20" cellpadding="20">
        <thead>
            <tr>
                <th>ID</th>
                <th>姓名</th>
                <th>年龄</th>
                <th>爱好</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>1</td>
                <td>王大锤</td>
                <td>18</td>
                <td>吃饭</td>
            </tr>
            <tr>
                <td>2</td>
                <td>赵大锤</td>
                <td>50</td>
                <td>睡觉</td>
            </tr>
            <tr>
                <td>3</td>
                <td>李大锤</td>
                <td>100</td>
                <td>做梦</td>
            </tr>
        </tbody>
    </table>

  

四、HTML——form表单(获取用户输入(手动输入/选择/默认值),并将获取到的信息发送到服务端)

form表单中只有input的type类型为submit才会触发提交信息的动作
如果不想通过input标签来触发提交动作
可以直接写一个<button>button按钮</button>
input
        通过控制type的类型从而实现不同的获取用户输入的标签样式
        text        普通文本
        password    密文
        date        日历
        radio        单选框
        checkbox    多选框
        file        获取文件
        
        submit        触发提交数据的行为
        button        普通的按钮
        reset        重置form表单内容
        
select
        选择框  默认是单选的 可以通过multiple参数将单选变为多选
        一个option就是一个选项
    
textarea
        获取用户大段文本值
<h3>注册界面</h3>
<form action="">
    <p>用户名 <input type="text" name="user"></p>
    <p>密 码 &nbsp&nbsp<input  name="password" type="password"></p>
    <p>生 日 &nbsp&nbsp<input  name="birthday" type="date"></p>
    <p>性 别 &nbsp&nbsp      <!--单选时候需要将name指向同一个gender,这样只能选一个--><input type="radio" name="gender"><input type="radio" name="gender">
        保密<input type="radio" name="gender">
    </p>
    <p>爱 好 &nbsp&nbsp
        <input type="checkbox" name="hobby">读书
        <input type="checkbox" name="hobby">健身
        <input type="checkbox" name="hobby">篮球
    </p>
    <p>省份(单选) &nbsp&nbsp
        <select name="province" id="">
            <option value="hubei">湖北</option>
            <option value="neimenggu">内蒙古</option>
            <option value="shanghai">上海</option>
        </select>
    </p>
    <p>市(多选) &nbsp&nbsp
        <select name="city" id="" multiple>
            <option value="hubei">武汉市</option>
            <option value="neimenggu">黄石市</option>
            <option value="shanghai">鄂州市</option>
        </select>
    </p>
    <p>地 区 &nbsp&nbsp
        <select name="" id="">
            <optgroup label="湖北">
                <option value="">武汉市</option>
                <option value="">黄冈市</option>
                <option value="">孝感市</option>
            </optgroup>
            <optgroup label="内蒙古">
                <option value="">鄂尔多斯市</option>
                <option value="">呼和浩特市</option>
                <option value="">呼伦贝尔市</option>
            </optgroup>
            <optgroup label="上海市">
                <option value="">青浦区</option>
                <option value="">黄埔新区</option>
                <option value="">虹桥区</option>
            </optgroup>
        </select>
    </p>
    <p>自我评价 &nbsp
        <textarea name="" id="" cols="60" rows="8"></textarea>
    </p>
    <p>文件上传 &nbsp&nbsp
        <input type="file" name="file">
    </p>
    <p>
        <input type="submit" value="提交注册">   <!--value改变按钮的名字-->
    </p>
    <p>
        <input type="button" value="普通按钮,可以后续自定义功能">
    </p>
    <p>
        <input type="reset" value="重选输入信息">
    </p>
</form>
  • 补充:input的label
    <form action="">
        <label for="i1">username:<input type="text" id="i1" name="username"></label>
        <label for="i2">password: <input type="password" name="pwd" id="i2"></label>
        <input type="submit">
    </form>
  • 需要注意:
      • form表单中需要给每一个获取用户输入的标签加上name属性,用来标识当前数据的类型
      • 可以将name属性看成服务端接收到提交过来信息的字典的key
      • 用户输入的当做字典的value
      • 可以手动设置value默认值,如果用户修改了则更新为修改的表单如果需要上传文件,则需设置enctype="multipart/form-data"(默认为enctype="application/x-www-form-urlencoded")
  • 表单中几个重要属性:
      • action:用来控制数据提交的目标对象(一般都是url来指定提交目标)
      • 表单默认请求是get类型(获取数据请求),可以通过修改method属性来更改提交方法为:post(提交数据请求)
      • get请求可以携带参数供服务端效验,不推荐携带敏感型参数,因为get请求提交时候,会在地址栏显示携带的参数
        ,而且请求携带的参数大小是有限制的,大约在4KB,所以敏感性的信息都应该采用post提交方式。

 

原文地址:https://www.cnblogs.com/suguangti/p/10940500.html