前端知识---html

HTML

  HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记)。相当于定义统一的一套规则,大家都来遵守他,这样就可以让浏览器根据标记语言的规则去解释它。

浏览器负责将标签翻译成用户“看得懂”的格式,呈现给用户!(例:djangomoan模版引擎)

JAVAScript

标准模板:

1 <!DOCTYPE html>     #标准规范
2 <html lang="en">
3 <head>                  #html头
4     <meta charset="UTF-8">      #字符编码
5     <title>Title</title>        #页面头部显示内容
6 </head>
7 <body>
8         <p>主体内容</p>         #页面内容主体
9 </body>10</html>

import socket
def handle_reques(client):
    buf = client.recv(1024)
    client.send(‘HTTP/1.1 200 OK\r\n\r\n‘.encode())

    client.send(‘<h1 style="color:green">alex</h1>‘.encode())

def main():
    sock = socket.socket()
    sock.bind((‘localhost‘,8003))
    sock.listen(5)

    while True:
        connection,address = sock.accept()
        handle_reques(connection)
        connection.close()

if __name__ == ‘__main__‘:
    main()

#也可以通过打开文件的方式直接打开任意包含html格式的文件

python服务器调用html

<!DOCTYPE html>  #按什么规则解析标签html或xhtml规范
<html lang="en">
<head>  <!-- 注释 -->
    <meta charset="UTF-8">  #自闭合标签,一般会在结尾加/>    #标签属性
    <title>Title</title>  #标签显示内容
</head>
<body>

</body>
</html>

Doctype标准

Doctype告诉浏览器使用什么样的html或xhtml规范来解析html文档

有和无的区别

  • BackCompat:标准兼容模式未开启(或叫怪异模式[Quirks mode]、混杂模式)
  • CSS1Compat:标准兼容模式已开启(或叫严格模式[Standards mode/Strict mode])

  这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,那么compatMode默认就是BackCompat,这也就是恶魔的开始 -- 浏览器按照自己的方式解析渲染页面,那么,在不同的浏览器就会显示不同的样式。如果你的页面添加了那么,那么就等同于开启了标准模式,那么浏览器就得老老实实的按照W3C的标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了

有,用什么?

  • Doctype告诉浏览器使用什么样的html或xhtml规范来解析html文档, dtd文件则包含了标记、attributes 、properties、约束规则

一、标签分类:

-自闭合标签

<meta charset="utf-8">

二、head标签:

meta(metadata information)

编码、跳转、刷新、关键字、描述、兼容

页面编码(告诉浏览器是什么编码)


1

meta http-equiv=“content-type” content=“text/html;charset=utf-8”>

刷新和跳转


1

2

3

meta http-equiv=“Refresh” Content=“30″>        30秒刷新

meta http-equiv=”Refresh“ Content=”5; Url=http://www.autohome.com.cn“ />

关键词


1

meta name="keywords" content="星际2,星际老男孩,专访,F91,小色,JOY" >

描述


1

例如:cnblogs

X-UA-Compatible


1

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

微软的IE6是通过XP、Win2003等操作系统发布出来,作为占统治地位的桌面操作系统,也使得IE占据了通知地位,许多的网站开发的时候,就按照IE6的标准去开发,而IE6自身的标准也是微软公司内部定义的。到了IE7出来的时候,采用了微软公司内部标准以及部分W3C的标准,这个时候许多网站升级到IE7的时候,就比较痛苦,很多代码必须调整后,才能够正常的运行。而到了微软的IE8这个版本,基本上把微软内部自己定义的标准抛弃了,而全面的支持W3C的标准,由于基于对标准彻底的变化了,使得原先在早期IE8版本上能够访问的网站,在IE8中无法正常的访问,会出现一些排版错乱、文字重叠,显示不全等各种兼容性错误。

与任何早期浏览器版本相比,Internet Explorer 8 对行业标准提供了更加紧密的支持。 因此,针对旧版本的浏览器设计的站点可能不会按预期显示。 为了帮助减轻任何问题,Internet Explorer 8 引入了文档兼容性的概念,从而允许您指定站点所支持的 Internet Explorer 版本。 文档兼容性在 Internet Explorer 8 中添加了新的模式;这些模式将告诉浏览器如何解释和呈现网站。 如果您的站点在 Internet Explorer 8 中无法正确显示,则可以更新该站点以支持最新的 Web 标准(首选方式),也可以强制 Internet Explorer 8 按照在旧版本的浏览器中查看站点的方式来显示内容。 通过使用 meta 元素将 X-UA-Compatible 标头添加到网页中,可以实现这一点。

当 Internet Explorer 8 遇到未包含 X-UA-Compatible 标头的网页时,它将使用 指令来确定如何显示该网页。 如果该指令丢失或未指定基于标准的文档类型,则 Internet Explorer 8 将以 IE5 模式(Quirks 模式)显示该网页

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <!--<meta http-equiv="REFRESH" content="3"> &lt;!&ndash;默认3秒刷新一次&ndash;&gt;-->
    <meta http-equiv="REFRESH" content="3;url=http://www.oldboyedu.com"> <!--3秒跳转url-->
    <meta name="keywords" content="汽车,汽车之家,汽车网,汽车报价,汽车图片,新闻,评测,社区,俱乐部">  <!--搜索引擎搜索的关键词-->
    <meta name="description" content="汽车之家为您提供最新汽车报价,汽车图片,汽车价格大全,最精彩的汽车新闻、行情、评测、导购内容,是提供信息最快最全的中国汽车网站。">
    <!--description为取链接时取的描述信息-->
    <title>老男孩</title>
</head>
<body>
    <div></div>
    <a href="http://www.oldboyedu.com">老男孩</a>
</body>
</html>

兼容问题加一句:

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

<meta http-equiv="X-UA-Compatible" content="IE=IE9;IE=IE8;" />

--title标签

网页头部信息

--Link标签

<!--css-->
< link rel="stylesheet" type="text/css" href="css/common.css" >

<!--icon-->
< link rel="shortcut icon" href="image/favicon.ico">

1.指定页面左上角图标

<link rel="shortcut icon" href="image/favicon.ico">  rel为指定类型是图标,href指定图标位置

--style标签

在页面中写样式

例如:
< style type="text/css" >
.bb{
      background-color: red;
   }
< /style>

--script标签

<!--引进文件-->
< script type="text/javascript" src="http://www.googletagservices.com/tag/js/gpt.js"> </script >

<!--写js代码-->
< script type="text/javascript" > ... </script >

三、BODY标签

各种符号:

&nbsp;&nbsp显示内容加空格

&gt:为大于号

&lt:小于号

特殊符号

更多-》》http://www.cnblogs.com/web-d/archive/2010/04/16/1713298.html

p标签和br标签

<p>段落</p>        <!--p表示段落,默认段落之间是有间隔的!-->
<br/>                <!--br是换行-->

a 标签

不能提交到后台数据库

超链接:


1

2

3

<a href="http://www.baidu.com" target="_blank">点我</a>

href表示跳转的地址,target="_blank"表示新窗口打开,默认为当前页

锚:


1

2

3

4

5

6

7

8

9

10

11

<body>

    <a href="#1">第一章</a><br/>

    <a href="#2">第二章</a><br/>

    <a href="#3">第三章</a><br/>

    <a href="#4">第四章</a><br/>

    <div id="1" style="height: 600px;">第一章的内容</div>

    <div id="2" style="height: 600px;">第二章的内容</div>

    <div id="3" style="height: 600px;">第三章的内容</div>

    <div id="4" style="height: 600px;">第四章的内容</div>

</body>

h 标签

标题h1、h2、h3、h4、h5、h6、h7表示不同的大小

span 标签

行内标签-白板

div 标签

块级标签-白板,可以加属性然后可以变身,结合css,支持嵌套

<div id="i1" style="position:fixed;top: 0;right: 0;">asdf</div>

总结:

块级标签:有多少内容都占整行,如h标签(默认加大加粗),p标签(段落和段落之间有间距)

行内标签或内联标签:有多少内容占用多少空间,如span标签(白板,默认没特性)

标签之间可以嵌套

标签存在的意义,css操作,js操作

--input 系列标签:

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

  <input type="button" value="登录"/>
</head> <body> <input type="text" /> <input type="password"/> </body> </html>

input type=‘text‘

input type=‘password‘

input type=‘submit‘

input type=‘button‘

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="https://www.sogou.com/web">
        <input type="text" name="query" />
        <input type="submit" name="搜索">
    </form>

</body>
</html>

搜索实例

input type=‘radio‘单选框,value,name属性,相同则互斥,后台得到字典

input type=‘checkbox‘复选框,value,name属性,批量获取数据,后台得到列表

input type=‘file‘ -上传文件,但上传需要依赖于form表单的一个属性<form enctype="multipart/form-data">

表示把上传的文件一点一点发送给服务器。

input type=‘reset‘ -重置

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form enctype="multipart/form-data">
        <div>
            <input type="text">
            <p>请选择性别:</p>
            男:<input type="radio" name="gender" value="1" checked="checked"/>
            女:<input type="radio" name="gender" value="2"/>
            alex:<input type="radio" name="gender" value="3"/>

            <p>爱好</p>
            篮球:<input type="checkbox" name="hobby" value="1"/>
            足球:<input type="checkbox" name="hobby" value="2" checked="checked"/>
            皮球:<input type="checkbox" name="hobby" value="3"/>
            台球:<input type="checkbox" name="hobby" value="4"/>
            网球:<input type="checkbox" name="hobby" value="5"/>

            <p>技能</p>
            撩妹:<input type="checkbox" name="skill">
            写代码:<input type="checkbox" name="skill">

            <p>上传文件</p>
            <input type="file" name="fname" />
        </div>
        <input type="submit" value="提交">
        <input type="reset" value="重置">
    </form>
</body>
</html>

实例代码

form 标签

form相当于一个表单,配合input标签submit可以把表单的内容提交到指定位置,提交内容以字典的形式提交{‘user’:xx,‘email‘:xx,‘pwd‘:xx},key值为name属性值


1

2

<form action="http://localhost:8888/index" method="post" >

</form>

action表示提交动作,把数据提交到指定的路径,methon指定提交类型,默认为get

post与get的区别:

method默认为get类型,数据会包含在html的头部进行提交,表现形式是点击提交后会在外部url路径上查看提交到的数据表单内容,效果如下


1

http://localhost:8888/index?user=lianzhilei&email=James%40123.com&pwd=123123

method如果指定为post类型的话,数据会包含在html的body内进行提交,从外部看不出来里面的信息

两者 没有谁安全之说,因为抓包都能抓到

input 系列标签

text、password 用户输入框


1

2

3

4

5

6

7

8

9

10

<body>

    <form action="http://localhost:8888/index" method="post" >

        <span>用户:</span><input type="text" name="user"><br />

        <span>邮箱:</span><input type="text" name="email"><br />

        <span>密码:</span><input type="password" name="pwd"><br />

        <input type="button" value="不能提交">

        <input type="submit" value="提交">

    </form>

</body>

配合使用的tornado脚本(数据提交地址)

form action=表示提交的url位置

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="http://localhost:8888/index" method="get">
        <input type="text" name="user" />
        <input type="text" name="email">
        <input type="password" name="pwd"/>
        {}
        <input type="button" value="登录1"/>
        <input type="submit" value="登录2"/>
    </form>
    <br />
     <form>
        <input type="text" />
        <input type="password"/>
        <input type="button" value="登录1"/>
        <input type="submit" value="登录2"/>
    </form>
</body>
</html>

页面代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#-Author-Lian

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        print("get")
        u = self.get_argument("user")
        e = self.get_argument("email")
        p = self.get_argument("pwd")
        print(u,e,p)

    def post(self,*args,**kwargs):
        print("post")
        u = self.get_argument("user")
        e = self.get_argument("email")
        p = self.get_argument("pwd")
        print(u,e,p)

application = tornado.web.Application([
    (r"/index", MainHandler),
])

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()

表单数据接收端.py

表单数据接收端.py

页面效果

点击提交后tornado脚本显示效果如下:


1

2

post

lianzhilei [email protected] 123123

input中的radio

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form>
        <div>
            <p>请选择性别:</p>
            男:<input type="radio" name="gender" value="1"/>
            女:<input type="radio" name="gender" value="2"/>
            alex:<input type="radio" name="gender" value="3"/>
        </div>
        <input type="submit" value="提交">
    </form>
</body>
</html>

radio事例

多行文本标签textarea

<textarea>默认值</textarea> -name属性

<form action="http://localhost:8888/index" method="post">
        <textarea name="linearea">默认数据</textarea>
        <input type="submit" value="提交" />
        <input type="reset" value="重置" />
</form>

select 下拉框


1

2

3

4

5

6

7

8

9

10

11

<form action="http://localhost:8888/index" method="post">

        <select name="city" size="2" multiple="multiple">

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

            <option value="2">上海</option>

            <option value="3">南京</option>

            <option value="4" selected="selected">邯郸</option>

        </select>

        <br />

        <input type="submit" value="提交" />

        <input type="reset" value="重置" />

</form>

city为提交表单的key值,value是提交值,size指定显示的个数,mothod表示可以多选

select标签 - name,内部option value,提交到后台,size,multiple多选

img 图片标签

-src

-alt

-title


1

2

3

<a href="https://www.baidu.com">

        <img src="i.png" title="大帅锅" style="height: 300px;width: 220px;" alt="索隆">

</a>

和a标签结合点击图片直接跳转,title指定鼠标放到图片后显示的内容,style定义宽高,alt指定图片不存在时的显示信息

  

ul、ol、dl 列表标签

<ul>
        <li>qwe</li>
        <li>qwe</li>
        <li>qwe</li>
    </ul>

    <ol>
        <li>qwe</li>
        <li>qwe</li>
        <li>qwe</li>
    </ol>

    <dl>
        <dt>qwe</dt>
        <dd>qwe</dd>
        <dd>qwe</dd>
        <dt>qwe</dt>
    </dl>

列表.html

列表.html

显示效果:

table 列表

简单单元格

<table border="1">
    <thead>
    <tr>
        <td>主机名</td>
        <td>IP</td>
        <td>详情</td>
    </tr>
    </thead>

    <tbody>
    <tr>
        <td>localhost</td>
        <td>127.0.0.1</td>
        <td>
            <a href="test3.html">点击</a>
        </td>
    </tr>
    <tr>
        <td>localhost</td>
        <td>127.0.0.1</td>
        <td>点击</td>
    </tr>
    </tbody>

表格.html

表格.html

<thead></thead><tbody></tbody>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <table border="1">
        <tr>
            <td>主机名</td>
            <td>端口</td>
            <td>操作</td>
        </tr>
        <tr>
            <td>1.1.1.1</td>
            <td>80</td>
            <td>
                <a href="s2.html">查看信息</a>
                <a href="s2.html">修改</a>
            </td>
        </tr>
        <tr>
            <td>1.1.1.1</td>
            <td>80</td>
            <td>第二行,第3列</td>
        </tr>
        <tr>
            <td>1.1.1.1</td>
            <td>80</td>
            <td>第二行,第3列</td>
        </tr>

    </table>
</body>
</html>

表格介绍

合并单元格

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<table border="1">
    <thead>
    <tr>
        <td>表头1</td>
        <td>表头2</td>
        <td>表头3</td>
        <td>表头4</td>
    </tr>
    </thead>

    <tbody>
    <tr>
        <td colspan="2">1</td>
        <!--<td>2</td>-->
        <td>3</td>
        <td>4</td>
    </tr>
       <tr>
        <td>1</td>
        <td>2</td>
        <td rowspan="2">3</td>
        <td>4</td>
    </tr>
        <tr>
        <!--<td>1</td>-->
        <td>2</td>
        <td>3</td>
        <td>4</td>
    </tr>
        <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
    </tr>
    </tbody>
</table>
</body>
</html>

合并单元格.html

合并单元格.html

label 标签


1

2

<label for="username">用户名</label>

<input id="username" type="text" name="user" />

点击文字使其关联的标签获取光标

fieldset标签

-legend

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <label for="username">用户名</label>
    <input id="username" type="text" name="user">

    <fieldset>
        <legend> 登录</legend>
        <label for="username">用户名</label>
        <input id="username" type="text" name="user">
        <br />
        <label for="passwd">密码</label>
        <input id="passwd" type="password" name="user">
    </fieldset>

</body>
</html>

时间: 2024-10-14 17:41:32

前端知识---html的相关文章

Web 前端知识体系精简

Web前端技术由html.css和javascript三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言.而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构.本文将对Web前端知识体系进行简单的梳理,对应的每个知识点点到为止,不作详细介绍.目的是帮助大家审查自己的知识结构是否完善,如有遗漏或不正确的地方,希望共勉. JAVASCRIPT 篇 0.基础语法 Javascript基础语法包括:变量定义.数据类

web前端知识总结

1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的是想要颠覆人们对于前端只有三大块(html.css.js)的认识--做web前端需要的比这三大块要多得多. 拖了好几个月了,但是由于近期将要参加的某一个活动,我不得不这两天把这个东西整出来. 大家不要害怕,其实下文中的这个知识框架要比草图中的好看的多,草图大家权当没看见. 在看内容之前,先看一下这个知识框架的

移动前端知识的一些总结

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body>meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 ?html 代码<meta name="viewport" content="w

前端知识学习步骤

著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:龚一峰链接:https://www.zhihu.com/question/19862294/answer/44311692来源:知乎 css 编写规范 http://cssguidelin.es/ 前端性能优化的24种方法 http://browserdiet.com/en/ 学习js正确的方法 JS: The Right Way 很有趣的js编程教材(才出的) Eloquent JavaScript 设计师写的js入门教

web前端知识体系大全

1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的是想要颠覆人们对于前端只有三大块(html.css.js)的认识——做web前端需要的比这三大块要多得多. 拖了好几个月了,但是由于近期将要参加的某一个活动,我不得不这两天把这个东西整出来.说干就干.上午我就开始在办公室画草图,乱七八糟的在那儿理思路. 大家不要害怕,其实下文中的这个知识框架要比草图中的好看的

前端知识体系之入门篇总结(一)

利用国庆节时间,把前端学习的知识碎片进行了整理,希望能在前端之路继续努力. 前端是一个范围很大的概念,其领域包括在了计算系统中的方方面面,可以说所有与用户交互行为相关的程序开发工作都是前端的范围,这包括一个数字仪表的显示设计或者一个手机APP.通常意义上讲,前端指的是Web前端的开发工作,而学习前端也是从Web前端知识开始的. 这篇blog面向对前端没有入门或者已经有一定的网页编码技术但对于前端知识体系没有一个清晰条理的开发者,其要旨是整理一个普通网页开发过程中所能用到的知识点.与其它类似的教程

自己总结的web前端知识体系大全【欢迎补充】

1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候.突然有了一个想法. 想把整个web前端开发所须要的知识都之中在一个视图中,形成一个完整的web前端知识体系.目的是想要颠覆人们对于前端仅仅有三大块(html.css.js)的认识--做web前端须要的比这三大块要多得多. 拖了好几个月了,可是因为最近将要參加的某一个活动.我不得不这两天把这个东西整出来. 说干就干. 上午我就開始在办公室画草图,乱七八糟的在那儿理思路. 大家不要害怕.事实上下文中的这个知识框架要比草图

Web前端知识体系精简

Web前端技术由html.css和javascript三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言.而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构.本文将对Web前端知识体系进行简单的梳理,对应的每个知识点点到为止,不作详细介绍.目的是帮助大家审查自己的知识结构是否完善,如有遗漏或不正确的地方,希望共勉. JAVASCRIPT 篇 0.基础语法 Javascript基础语法包括:变量定义.数据类

Web前端知识技能大汇总

Web前端知识技能大汇总 来源:github 发布时间:2015-07-08 阅读次数:3432 28 项目起源 还记得@jayli 的这幅前端知识结构图么. 图片的形式具有诸多的不便.缺失源图的我们,无法为此图贡献些什么,随着时间的迁移,或许有些技术点会发生改变,所以有了这个GitHub项目.我们可以通过协作的方式来共同维护这个项目.Git的历史记录也可以见证前端行业的一些变迁. 可视化效果 前端开发知识结构 前端工程师 浏览器 IE6/7/8/9/10/11 (Trident) Firefo

前端知识体系2

Raw Blame History 1226 lines (983 sloc) 67.4 KB QQ联盟群交流(492107297)群规 GITHUB在线地址 http://t.cn/RL2NtqX 看云在线地址 http://t.cn/RUdaGHn 这是我们联盟群的组织结构,加入等级参考JS高级前端开发群加群说明. 这本来是我QQ群内部的一份公共约定的日常交流规则,后来得到大伙的一致认可,并用实际行动来捍卫它,使我倍受感动. 后来想:传播使爱更有力量,阅读使内心更为坚强,沉淀使生活更为醇香,