zoukankan      html  css  js  c++  java
  • web表达三剑客之html

    一.web入门之html

    1.html小试牛刀

    电脑做client,browser做server,进行bs通信;原理与之前的电脑自建client和server相似,server和client进行cs通信。

    import socket
    def main():
        sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)   
        sock.bind(('localhost',8080))    
        sock.listen(5)    
        while True:
            connection,address = sock.accept()   
            buf = connection.recv(1024)        
            connection.sendall(bytes("HTTP/1.1 201 OK
    
    ","utf8"))        
            connection.sendall(bytes("<h1>hello world</h1>","utf8"))        
            connection.close()
    if __name__ == "__main__":
        main()

    不同标题的前端表示

    connection.sendall(bytes("<h1>hello world1</h1> <h2>hello world2</h2> <h3>hello world3</h3> <h4>hello world4</h4>","utf8"))

    其次,如果采用.html写代码,并且用f.open()打开,并运行。打开test.html文件,内容如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <h1>hello world</h1>
    <h3>hello world</h3>
    <img src="html_image.PNG" alt="">
    
    </body>
    </html>

    用html.py文件加载

    import socket
    def main():
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.bind(('localhost', 8087))
        sock.listen(5)
        while True:
            connection, address = sock.accept()
            buf = connection.recv(1024)
            connection.sendall(bytes("HTTP/1.1 201 OK
    
    ", "utf8"))
            f = open("test.html","rb")
            data = f.read()
            connection.sendall(data)
            connection.close()
    if __name__ == "__main__":
        main()

    2.构建html页面

    html定义:htyper text markup language 即超文本标记语言;

    超文本:就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素;

    标记语言:标记(标签)构成的语言。

    网页 == HTML文档,由浏览器解析,用来展示的

    静态网页:静态的资源,如xxx.html

    动态网页:html代码是由某种开发语言根据用户请求动态生成的

    2.1html文档树形结构:

    2.2标签定义

    2.3标签属性

    第1点解释:在标签中可以插入键值对,<h1 name="alex">hello world </h1>

    第4点解释:

    <input type="text" readonly="readonly">
    上面行代码等于
    <input type="text" readonly>

    2.4<iDOCTYPEhtml>标签

     <iDOCTYPEhtml>作用是在script中命名的标准框,弹出的是compatMode,如果无该html头,弹出框默认为BackCompat

    <script>
        alert(window.top.document.compatMode)  //compatMode按照标准模式渲染; 默认为BackCompat模式
    </script>

    2.5<head>标签

    <head>
        <meta charset="UTF-8">
        <meta name="description" content="xxx(搜索关键字)">
      
    <title>test</title> </head>

    2.6<meta>标签

    页面跳转至目标URL,或者仅是2s后刷新(无URL情况)

    <meta http-equiv="Refresh" content="2;URL=http://www.baidu.com">

    IE兼容标签

    <meta http-equiv = "X-UA-Compatible" content = "IE-EmulateIE7" />

    http请求头和默认编码方式为UTF-8(meta为自闭和标签)

    <meta http-equiv="content-type" charset="UTF-8">

    2.7非meta标签

    link rel="icon"用于定义显示弹出框前的图片

    <link rel="icon" href="https://mat1.gtimg.com/chinanba/images/favicon.ico">

    引入其他语言

    <link rel="stylesheet" href="css.css">
    <script src="hello.js"></script>

    换行标签

    <h2>咏鹅</h2>
    <p>鹅鹅鹅</p>
    <p>曲项向天歌</p>
    <p>白毛浮绿水</p>
    <p>红掌拨清波</p>
    
    <!--h2></br>标签与</p>标签类似,是换行的另一种表示</h2--> 无控制行与行间距功能
    鹅鹅鹅</br>
    曲项向天歌</br>
    白毛浮绿水</br>
    红掌拨清波</br>

    加粗标签

    <b>飞流直下</b>
    <strong>飞流直下</strong>

    去除文字

    <strike>为文字加上一条中线<strike>
    <em> 文字变成斜体
    <sup><sub> 上角标和下角标
    <br> 换行
    <hr> 水平线
    <div><span> 空格

    div和h标签区别:div可以在原有基础上添加属性;h标签有自身特性,其次在原有基础上添加属性

    <h1 style="color : blue; background-color: aqua; height: 30px; 70%">hello h1</h1>
    <div style="color : red; background-color: bisque; height: 100px; 50%; font-size: 40px; text-align: center">hello h1</div>

     块级标签和内联标签

    块级标签:内容独占一行,比如说<h>或<p>;

    内联标签:渲染内容控制在所在范围内,比如3个字符,那么内联标签渲染内容就在这三个字符,而块级标签渲染的是一行。

    2.8特殊字符

    &nbsp

    每一个&nbsp都代表一个空格

    块级标签&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp内联标签

    &lt表示小于号"<";&gt表示大于号">";&quot;&copy;&reg;

    &quot;
    &copy;
    &reg;

    所有html特殊字符,here

    2.9image标签和列表标签

    2.9.1image标签

    <img src="html_image.PNG" alt="截图" title="截图" width="200px" height="200px"></br>

    当图片加载不出时,图片旁显示“截图”二字;

    title用于当鼠标放在图片上时,显示“截图”二字

    </a>标签中href用于请求地址

    <a href="http://www.baidu.com/" target="_blank"><img src="html_image.PNG"></a>  

    其中,target = “_blank”表示跳转至空页面并打开href定义的url

    2.9.2列表标签

    <ul>表示无序标签(unorder list)!!!

    <ol>表示有序标签(order list)

    <ul>
        <li>111</li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
        <li>555</li>
        <li>666</li>
    </ul>
    
    <ol>
        <li>111</li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
        <li>555</li>
        <li>666</li>
    </ol>

    DL标签定义一个描述列表,DL 标签与 DT标签 和 DD标签一起使用

    <dl>
        <dt>第一章</dt>
        <dd>第一节</dd>
        <dd>第二节</dd>
        <dd>第三节</dd>
    </dl>

    本页面自跳转标签

    <div id="abc">顶部</div>
    <a href="#abc">返回顶部</a>

    2.10表单标签<form>

    表单用于向服务器传输数据;

    表单能够包含input元素,比如文本字段、复选框、单选框、提交按钮等;

    表单还可以包含textarea、select、fieldset和label元素。

    2.10.1input类型

    type中checkbox和radio区别:添加name关键字后checkbox可以多选,而radio不可多选.

    <p>hobby:&nbsp;&nbsp;&nbsp;music<input type="checkbox" name="hobby" value="music"> movie<input type="checkbox" name="hobby"value="movie"></p>
    <p>gender:&nbsp;&nbsp;&nbsp;male<input type="radio" name="gender" value="men"> female<input type="radio" name="gender" value="women"></p>

    type中submit中的value只做显示用,打包所有页面信息并提交

    <p><input type="submit" name="password" value="submit"></p>

    type中button中的value配合js用,单纯只做显示

    form表单决定input标签送往哪个server端

    <form action="http://127.0.0.1:8080/index">
        <p>username &nbsp;<input type="text"></p>
        <p>password &nbsp;<input type="password"></p>...
        <p>hobby:&nbsp;&nbsp;&nbsp;music<input type="checkbox" name="hobby" value="music"> movie<input type="checkbox" name="hobby"value="movie"></p>
        <p>gender:&nbsp;&nbsp;&nbsp;male<input type="radio" name="gender" value="men"> female<input type="radio" name="gender" value="women"></p>
        <p><input type="submit" value="submit"></p>
        <p><input type="button" value="submit"></p>
    </form>

    表单属性

    HTML表单用于接收不同类型的用户输入,用户提交表单同时向服务器传输数据,从而实现用户与Web服务器的交互。表单标签,要提交的所有内容都应该在该标签中。

    action:表单的提交方式,post/get默认取值就是get(信封)

    <form action="http://127.0.0.1:8080/index" method="GET">
    <!--form action="http://127.0.0.1:8080/index" method="POST"-->

    get/与post区别:

    • get提交的键值对,放在地址栏中url后面:1安全性较差;2对提交的内容有字符限制。
    • post提交的键值对不防在地址栏中url后面:1安全性相对较高;2对提交内容字符无限制。

    续2.10.1input类型更新,有jiango框架后,可以搭建接受框架并接受文件和信息。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>registration website</title>
    </head>
    <body>
    <h1>registration website</h1>
    <form action="http://127.0.0.1:8090/index" method="post" enctype="multipart/form-data">
    (补充:action是form表单上传到对应的url,method是上传方式,post/GET,enctype是编码类型的意思,multipart/from-data指既有文本类型,又有二进制数据类型,
    需要注意,enctype默认值是application/x-www-form-urlencoded,不能用于文件上传,只有使用multipart/form-data才能上传文件数据)
    <!--form action="http://127.0.0.1:8080/index" method="POST"-->
        <p>username &nbsp;<input type="text" placeholder="username" disabled="disabled(禁用input标签)"></p>
        <p>password &nbsp;<input type="password" name="username" placeholder="name"></p>
        <p>hobby:&nbsp;&nbsp;&nbsp;music<input type="checkbox" name="hobby" value="music" checked="checked"(默认选择)> movie<input type="checkbox" name="hobby"value="movie"></p>
        <p>gender:&nbsp;&nbsp;&nbsp;male<input type="radio" name="gender" value="men"> female<input type="radio" name="gender" value="women"></p>
    
        <p><input type="file" name="put_file"></p>
        <p><input type="reset" value="reset"></p>
        
        <p><input type="submit" value="submit"></p>
        <p><input type="button" value="submit"></p>
    </form>
    </body>
    </html>

    input标签总结:

    text    文本输入框
    password    密码输入框
    radio    单选框
    checkbox    多选框,如果添加属性checked="checked",则显示的框默认勾选
    submit    提交按钮
    button    按钮(需要配合js使用)button和submit区别?
    file    提交文件:form表单需要加上属性enctype="multipart/form-data"
    name    表单提交项的键。name属性是和服务器通信时使用的名称;而id属性是和浏览器端(server端)使用的名称,该属性主要是为了方便客户端(client)编程,而在css和js中使用的value是表单提交项的值。对于不同的输入类型,value属性也不同。
    type = "button","reset","submit" #定义按钮上显示的文本
    type = "text","password","hidden" #定义输入字段的初始值
    type = "checkbox","radio","image" #定义与输入相关联的值
    disabled对所有input标签都禁用

    2.11表单标签<select>

    select下拉框

    <select name="province" multiple size="2">
            <option value="beijing">beijing</option>
            <option value="hebei">hebei</option>
            <option value="henan" selected="selected">henan</option>
            <option value="shanxi">shanxi</option>
       </select>

    multiple表示多选,selected="selected"表示默认选择,size="2"表示最大可见为2个选项。

    <label for="www">姓名</label>
    <input id="www" type="text">
    
    <fieldset>
         <legend>登录页面</legend>
         <input type="text">
    </fieldset>

    label标签一般后面跟text框;

    fieldset用于规定范围内的登录框。

    2.11表格标签<table>

    <tr>是table row的缩写,表格中的一行

    <th> 是table header cell的缩写,表头单元格

    <td>是table data cell的缩写,表格格

    <table border="lpx" cellpadding="50px" cellspacing="5px"> <!--(50为元素离内边框距离,5为元素离外边框距离)-->
    
        <thead>
                <tr>
                    <th>111</th>
                    <th>222</th>
                    <th>333</th>
                </tr>
        </thead>
    
        <tbody>
                <tr>
                    <td rowspan="2">3333</td>
                    <td>2222</td>
                    <td>3333</td>
                </tr>
    
        <tr>
                    <td>2222</td>
                    <td>3333</td>
                </tr>
        <tr>
                    <td>1111</td>
                    <td colspan="2">4444</td>
        </tr>
        </tbody>
    </table>
    View Code

    表中table的rowspan="2"表示合并两行,表中的colspan="2"表示合并两列。

  • 相关阅读:
    学习Jammendo代码的心路历程(二)ViewFlipper数据的填充
    学习Jammendo代码的心路历程(一)简单的淡出效果实现
    面向对象的一小步:添加ActiveRecord的Scope功能
    关于token和refresh token
    一个极为简单的方法实现本地(离线)yum安装rpm包
    Yii2基本概念之——生命周期(LifeCycle)
    一篇文章说透Nginx的rewrite模块
    PHP Session 常用的函数
    Session 的原理及最佳实践
    Yii2基本概念之——配置(Configurations)
  • 原文地址:https://www.cnblogs.com/yuyukun/p/12227285.html
Copyright © 2011-2022 走看看