zoukankan      html  css  js  c++  java
  • 前端——HTML

    HTML介绍:

    web服务的本质就是

    浏览器发请求 --> HTTP协议 --> 服务端接收请求 --> 服务端返回响应 --> 服务端把HTML文件内容发给浏览器 --> 浏览器渲染页面;

    其实简单的来说就是

    1. 浏览器 给服务端 发送了一个消息
    2. 服务端拿到消息
    3. 服务端返回消息
    4. 浏览器展示页面

     HTTP协议:浏览器和服务器之间约定好的消息格式,便于接收; 就像 在本地上写的client和sever端是一样的,我知道client发什么,然后sever端就接收什么;同样HTTP协议正是浏览器和sever端之间的传输的一种消息的格式;是浏览器自带的;

    import socket
    sk= socket.socket()
    sk.bind(('127.0.0.1',8080))
    
    sk.listen(5)
    
    while True:
    	conn,addr = sk.accept()
    	conn.recv(1024)
    	#要按照HTTP协议的格式来发消息,这样浏览器才能接收到;
    	conn.send(b'HTTP/1.1 200 OK
    
    ')
    	with open('data.html','rb') as f:  #浏览器传输的数据都是以字节位单位的.
    		msg = f.read()
    	conn.send(msg)
    
    	conn.close()
    

     

    HTML是一种用于创建网页的标记语言,不是编程语言,因此HTML语言是没有逻辑性的,只是 使用标签来描述网页。

    本质上是浏览器可识别的规则,按照HTML的规则去写网页,则浏览器会渲染我们的网页。

    最基本的HTML文档:

    <!DOCTYPE html>
    <html lang="zh-CN">
    <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文档的开头部分。它们之间的内容不会在浏览器的文档窗口显示。包含了文档的元(meta)数据。

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

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

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

    HTML标签的格式:

    标签分类:
    双标签  <div>和</div>
    单标签  <br/>、<hr/>;<img src="1.jpg" />

    对应的标签的语法:

    • <标签名 属性1=“属性值1” 属性2=“属性值2”……>内容部分</标签名>
    • <标签名 属性1=“属性值1” 属性2=“属性值2”…… />

    几个很重要的属性:

    • id:定义标签的唯一ID,HTML文档树中唯一
    • class:为html元素定义一个或多个类名(classname)(CSS样式类名)
    • style:规定元素的行内样式(CSS样式)

    HTML的注释:

      <!-- 注释内容 -->

    HTML常用的标签:

    head 内常用标签:

    标签意义
    <title></title> 定义网页标题
    <style></style> 定义内部样式表
    <script></script> 定义JS代码或引入外部JS文件
    <link/> 引入外部样式表文件
    <meta/> 定义网页原信息

    Meta 标签

    <!--2秒后跳转到对应的网址,注意引号-->
    <meta http-equiv="refresh" content="2;URL=https://www.oldboyedu.com">
    <!--指定文档的编码类型-->
    <meta http-equiv="content-Type" charset=UTF8"> #通常http-equiv="content-Type"不写

      

    name属性:主要用于描述网页,主要是为了爬虫,查找消息和分类消息用的

    <meta name="keywords" content="meta总结,html meta,meta属性,meta跳转">
    <meta name="description" content="老男孩教育Python学院">
    

     

    head 内常用标签: 

    <b>加粗</b>
    <i>斜体</i>
    <u>下划线</u>
    <s>删除</s>
    
    <p>段落标签</p>
    
    <h1>标题1</h1>
    <h2>标题2</h2>
    <h3>标题3</h3>
    <h4>标题4</h4>
    <h5>标题5</h5>
    <h6>标题6</h6>
    
    <!--换行-->
    <br>
    
    <!--水平线--><hr>
    

    特殊字符:

    内容对应代码
    空格 &nbsp;
    > &gt;
    < &lt;
    & &amp;
    ¥ &yen;
    版权 &copy;
    注册 &reg;
    <!DOCTYPE html>
    <!--zh-CN中文-->
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>第一个html</title>
    </head>
    <body>
    <!--   h1标签就是字体变大和加粗,数字越小越大-->
    <!--img标签里面的src= 为图片的地址; alt=  是当图片加载不出来后给用户的一个反馈 , 
    title= 是当移动到图片的时候出现的文字--> <h1>©为小米  而生</h1> <p>小米是谁,是你你你</p> <p>小米是谁,是你你你</p> <!--无序的列表--> <div> <ul type="none"> <li>a</li> <li>b</li> <li>c</li> </ul> </div> <!--有序的列表--> <ol type="I" start="1"> <li> <a href="">1</a> </li> <li>2</li> </ol> <!--表格--> <table border> <thead> <tr> <th> name </th> <th> age </th> <th> sex </th> </tr> </thead> <tbody> <tr> <td> zh </td> <td> 23 </td> <td> men </td> </tr> </tbody> </table> <!--<img src="https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3737863257,3043102048&fm=26&gp=0.jpg" alt="德莱文"--> <!--title="德莱文">--> <!--a标签里面的 href=是相当于链接,后面起名字来表示此链接,target="_blank",表示 链接 在新的窗口来弹出, target="_self"表示 本网页 跳转到 链接 --> <a href="https://www.baidu.com" target="_self">百度</a> </body> </html> <!--h1*5>a>i{a$}--> <!--<h1><a href=""><i>a1</i></a></h1>--> <!--<h1><a href=""><i>a2</i></a></h1>--> <!--<h1><a href=""><i>a3</i></a></h1>--> <!--<h1><a href=""><i>a4</i></a></h1>--> <!--<h1><a href=""><i>a5</i></a></h1>--> <!--h1*4>a.c1[id=a$]{a标签$}--> <!--<h1><a href="" class="c1" id="a1">a标签1</a></h1>--> <!--<h1><a href="" class="c1" id="a2">a标签2</a></h1>--> <!--<h1><a href="" class="c1" id="a3">a标签3</a></h1>--> <!--<h1><a href="" class="c1" id="a4">a标签4</a></h1>-->

      

    列表:

    1.无序列表中的type属性:

    • disc(实心圆点,默认值)
    • circle(空心圆圈)
    • square(实心方块)
    • none(无样式)

    2.有序列表中的type属性:

    • 1 数字列表,默认值
    • A 大写字母
    • a 小写字母
    • Ⅰ大写罗马
    • ⅰ小写罗马

    3.标题列表

    <dl>
      <dt>标题1</dt>
      <dd>内容1</dd>
      <dt>标题2</dt>
      <dd>内容1</dd>
      <dd>内容2</dd>
    </dl>

    表格的属性:

    • border: 表格边框.
    • cellpadding: 内边距
    • cellspacing: 外边距.
    • 像素 百分比.(最好通过css来设置长宽)
    • rowspan: 单元格竖跨多少行
    • colspan: 单元格横跨多少列(即合并单元格)

    标签分类:
    1.块儿级标签  h1~h6 div p hr  li ;默认占浏览器宽度,能设置长和宽
    2.内联标签(行内标签)  a img u s i b span;根据内容决定长度,不能设置长和宽


    标签的嵌套规则
    1. 行内标签不能嵌套块级标签
    2. p标签不能嵌套块级标签

    Form 表单

    功能:

    表单 用于向服务器传输数据(method = POST),从而实现用户与Web服务器的交互

    表单如下几个标签:

    input系列;textarea(大端文本); select(下拉框); label 标签 等;

    表单的属性

    属性描述
    accept-charset 规定在被提交表单中使用的字符集(默认:页面字符集)。
    action 规定向何处提交表单的地址(URL)(提交页面)。
    autocomplete 规定浏览器应该自动完成表单(默认:开启)。
    enctype 规定被提交数据的编码(默认:url-encoded)。
    method 规定在提交表单时所用的 HTTP 方法(默认:GET)。
    name 规定识别表单的名称(对于 DOM 使用:document.forms.name)。
    novalidate 规定浏览器不验证表单。
    target 规定 action 属性中地址的目标(默认:_self)。

    input标签系列

    text 单行输入文本 <input type=text" />
    password 密码输入框 <input type="password"  />
    date 日期输入框 <input type="date" />
    checkbox 复选框 <input type="checkbox" checked="checked"  />
    radio 单选框 <input type="radio"  />
    submit 提交按钮 <input type="submit" value="提交" />
    reset 重置按钮 <input type="reset" value="重置"  />
    button 普通按钮 <input type="button" value="普通按钮"  />
    hidden 隐藏输入框 <input type="hidden"  />
    file 文本选择框 <input type="file

     属性说明:

    • name:表单提交给后端时的“键”;
    • value:表单提交时对应项的值
      • type="button", "reset", "submit"时,为按钮上显示的文本年内容
      • type="text","password","hidden"时,为输入框的初始值
      • type="checkbox", "radio", "file",为输入相关联的值
    • checked:radio和checkbox默认被选中的项
    • readonly:text和password设置只读
    • disabled:所有input均适用;不可以修改

    select标签

      <p>
            <!--select只是下滑的菜单;option 具体的下拉选项;optgroup 分组的下拉框; 
         selected为默认的选择; multiple,布尔属性,设置后为多选,否则默认为单选--> <label for="palce">地点</label> <select name="home" id="palce" multiple="multiple"> <optgroup label="北京"> <option value="cp">昌平</option> <option value="hd">海淀</option> <option value="cy">朝阳</option> </optgroup> <option selected value="sh">上海</option> <option value="sc">四川</option> </select> </p>  

    属性说明:

    • multiple:布尔属性,设置后为多选,否则默认单选
    • disabled:禁用
    • selected:默认选中该项
    • value:定义提交时的选项值

    label标签

      <p>
            性别
              <label for="li">男</label>
            <input id="li" name="sex" type="radio" value="0">
              <label for="lr">女</label>
            <input id="lr" name="sex" type="radio" value="1">
              <label for="la">保密</label>
            <input checked id="la" name="sex" type="radio" value="2">
          </p>
    1. label 元素不会向用户呈现任何特殊效果。
    2. <label> 标签的 for 属性值应当与相关元素的 id 属性值相同。
    3. <label> 标签为 input 元素定义标注(标记)。

    textarea多行文本

        <p>
            <!--textarea 多行文本,为双标签-->
            <label for="info">个人介绍</label>
            <textarea name="user_info" id="info" cols="30" rows="10"></textarea>
        </p> 

    属性说明:

    • name:名称
    • rows:行数
    • cols:列数
    • disabled:禁用

    下面是常用标签的一个合集:

    <!--所有获取用户输入的标签都必须放在form表单里面,action 是 向哪个 地址提交表单的信息-->
    <!--GET - 从指定的资源 请求  数据。
    POST - 向指定的资源 提交 要被处理的数据-->
    <form action="http://127.0.0.1:8000/upload/" method="post">
        <p>
            <label for="user">用户名</label>
    <!--加name是为了让服务器来到键值对的数据;value为默认值;disabled不可修改;placeholder 设置占位内容;readonly 为只读不能修改-->
            <input id="user" name="username" type="text" value="aaa" readonly>
    
            <!--hidden隐藏输入框,就类似为了把数据放入数据库的里面的ID值(主键)不能被用户随便的去修改-->
            <input type="hidden" value="01">
        </p>
    
        <p>
            <label for="password">密码</label>
            <input id="password" name="password" type="password">
        </p>
    
          <p>
            性别
              <label for="li">男</label>
            <input id="li" name="sex" type="radio" value="0">
              <label for="lr">女</label>
            <input id="lr" name="sex" type="radio" value="1">
              <label for="la">保密</label>
            <input checked id="la" name="sex" type="radio" value="2">
          </p>
    
          <p>
            爱好
              <label for="aa">篮球</label>
            <input  id="aa" name="hobby" type="checkbox" value="basketball">
              <label for="ab">排球</label>
            <input checked id="ab" name="hobby" type="checkbox" value="football">
          </p>
    
    
        <p>
            <label for="time">生日</label>
            <input id="time" type="date" name="brithday">
        </p>
    
    
        <p>
            <!--textarea 多行文本,为双标签-->
            <label for="info">个人介绍</label>
            <textarea name="user_info" id="info" cols="30" rows="10"></textarea>
        </p>
    
        
        <p>
            <!--select只是下滑的菜单;option 具体的下拉选项;optgroup 分组的下拉框; selected为默认的选择
            multiple,布尔属性,设置后为多选,否则默认为单选-->
            <label for="palce">地点</label>
            <select name="home" id="palce" multiple="multiple">
                <optgroup label="北京">
                    <option value="cp">昌平</option>
                    <option value="hd">海淀</option>
                    <option value="cy">朝阳</option>
    
                </optgroup>
                <option selected value="sh">上海</option>
                <option value="sc">四川</option>
    
            </select>
        </p>
    
        <p>
            <!--file为文本选择框,可以选择图片-->
            <input type="file" value="photo">
        </p>
        
        <p>
            <!--button为普通的按钮;reset为重置按钮-->
            <input type="submit" value="GO">
            <input type="button" value="...">
            <input type="reset" value="delet">
        </p>
    
    
    
    
    </form>
    

      

  • 相关阅读:
    csu 1547(01背包)
    csu 1592(区间DP)
    Funny Car Racing(最短路变形)
    csu 1329 一行盒子(链表操作)
    poj 2828(线段树单点更新)
    软件开发文档模板 (学习)
    C 语言高效编程与代码优化
    【整理】uclibc,eglibc,glibc之间的区别和联系
    查找openssl内存泄漏(代码)
    openssl内存分配,查看内存泄露
  • 原文地址:https://www.cnblogs.com/zenghui-python/p/10604019.html
Copyright © 2011-2022 走看看