zoukankan      html  css  js  c++  java
  • html学习

     https://www.cnblogs.com/hansha/p/10075017.html

    介绍

    html  相当于给网页设计骨架
    css  添加漂亮效果
    js   给页面添加动态效果
    jquery  对js语言的封装
    bootstrap 实对js和jquery的封装
    网页显示数据的流程
    浏览器发请求 --> HTTP协议 --> 服务端接收请求 --> 服务端返回响应 --> 服务端把HTML文件内容发给浏览器 --> 浏览器渲染页面
    
    html是什么?
    超文本标记语言是一种用于创建网页的标记语言,是基于vs(浏览器)框架下的语言(仅此而已,不是编程语言)
    本质上是浏览器可识别的规则,我们按照规则写网页,浏览器根据规则渲染我们的网页。对于不同的浏览器,对同一个标签可能会有不同的解释。(兼容性问题)
    网页文件的扩展名:.html或.htm
    #html文档结构
    1.<!DOCTYPE html>   #声明为html5文档,向web浏览器声明提交的html版本,必须唯一<html>标签之前
    2.<html lang="zh-CN">   #这个lang表示语言,zh-CN是中文的意思,就是说,你整个文档的内容以中文为主,如果以英文为主,就写成lang='en'
    3.<html>、</html>是文档的开始标记和结束的标记。在它们之间是文档的头部(head)和主体(body)
    4.<head>、</head>HTML文档的开头。它们之间的内容不会在浏览器的文档窗口显示。包含了文档的元(meta)数据,配置信息等,是给浏览器看的,你看到的是在body标签里面写的。
    5.<body>、</body>之间的文本是可见的网页主体内容。
    6.<title>、</title>定义了网页标题,在浏览器标题栏显示。
    注意
    <meta charset="utf-8"> 声明编码,否则胡出现乱码.有些浏览器默认是gbk编码,需要这里设置为gbk编码
    网页地址以file:/// 也是一种协议(打开本地文件的协议,仅限于相对路径)

      HTML标签格式

    • HTML标签是由尖括号包围的关键字,如<html>, <div>
    • 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注释

    <!--注释内容-->

    head中的标签

    head标签都放在头部分之间。这里面包含了:

    ​ <title><meta><link><style>

    • <title>:指定整个网页的标题,在浏览器最上方显示。(搜索引擎可以通过网页标题,迅速判断出当前网页的主题)

        

    • <meta>:提供有关页面的基本信息
    • <link>:定义文档与外部资源的关系。(通常用于链接到样式表)
    • <style>:定义内部样式表与网页的关系

     

    头标签位于文档的头部,不包含任何内容。

    提供的信息是用户不可见的。 meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。

    meta 标签

    1、http-equiv属性

    它用来向浏览器传达一些有用的信息,帮助浏览器正确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。

    <!--重定向 2秒后跳转到对应的网址,注意分号-->  # http-equiv='refresh' 刷新 ;  name='keywords' 是一些描述信息
    <meta http-equiv="refresh" content="2;URL=http://www.luffycity.com">
    <!--指定文档的内容类型和编码类型 -->
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <!--告诉IE浏览器以最高级模式渲染当前网页-->
    <meta http-equiv="x-ua-compatible" content="IE=edge">

    2、name属性

    主要用于页面的关键字和描述,是写给搜索引擎看的,关键字可以有多个用 ‘,’号隔开,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。

    <meta name="Keywords" content="网易,邮箱,游戏,新闻,体育,娱乐,女性,亚运,论坛,短信" />

    这些关键词,就是告诉搜索引擎,这个网页是干嘛的,能够提高搜索命中率。让别人能够找到你,搜索到。

    <meta name="Description" content="网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。" />
     只要设置Description页面描述,那么百度搜索结果,就能够显示这些语句,这个技术叫做*SEO**(search engine optimization,搜索引擎优化)。*

    红框里的就是描述信息

    body中的标签

    基本标签 #都不独占一行
    <b>加粗</b>
    <i>斜体</i>
    <u>下划线</u>
    <s>删除</s>
    
    <p>段落标签</p> #独占一个段落
    
    <h1>标题1</h1> #h1~h6,标题标签(独占一行,显示的大小为降序)
    
    
    <tr> #一行 <br> #换行 <hr> #水平线(单独的一个很长的线)

       input标签(给用户输入信息)

      type属性值介绍: 

    • text 单行输入文本 <input type=text" /> #"text","password","hidden"为数据框的初始值
    • password 密码输入框(不显示明文)
    • date    日期输入框
    <form action="" method="get">
      <p> <input type="date" name="date">
      </P> </form> #出现一个让你选择日期的下拉选项,如果你没选,提交时就没有该框的数据
    • checkbox 多选框   凡是用户选择的框,必须设置value键值对,否则后端无法识别选了什么,用户自己填写的不需要写value,只需要name键值对,用于上传时当key
    <form action="" method="get">
        <!--#一定要用get模式,否则地址栏看不到提交的数据-->
    <p>
        爱好:
        <input type="checkbox" name="hobby" value="cy">抽烟  #这后面可以再添加个属性checked 设置默认选项
    <input type="checkbox" name="hobby" value="hj">喝酒 </p> <input type="submit"> <!--所有的数据都要设置这个才能向浏览器提交--> </form>
    • radio   单选框  凡是用户选择的框,必须设置value键值对,否则后端无法识别选了什么,用户自己填写的不需要写value,只需要name键值对,用于上传时当key
    <form action="" method="get">  #一定要用get模式,否则地址栏看不到提交的数据
    <p>
     性别<input type="radio" name="gender" value="man"><!--name是为了让2个输入框产生关联,让用户2选1,加个value 为了页面能区分男女-->
      <input type="radio" name="gender" value="woman"></p>
    <input type="submit">
    </form>
    • submit  提交按钮   发送提交所有输入框中的内容,配合form表单使用,页面会刷新
    会将form表单中所有用户输入的内容或者选择的内容({name属性:值,})都发给服务端(以我们自己写的那个socket举例,打印一下接收的内容),但是所有的输入标签必须有一个叫做name的属性
    特别是单选框,还要再写个nalue的键值对,否则没法区分用户选的哪个
    • reset 重置按钮     将所有输入框里的内容清空
    • button 普通按钮     就是普通按钮,点完但不提交,不做任何改变
    有一个跟他同名的标签,跟submit提交按钮很相似.(了解)
    <button type="button">迁都</button>
    #当设置type='button'的时候,该标签不提交
    • hidden 隐藏输入框     当用户选择提交的时候,会给浏览器发送,后面讲django会讲到它
    • file 文本选择框     <input type="file" />
    #用file类型的框,form的method(方法)必须是post,并且enctype(编码格式)也要写上
    <form action="" method="post" enctype="multipart/form-data">
        <input type="file" name="file">  #name是提交时,对应的key
    <p>
        <input type="submit" name="asdf">
    </p>
    </form>

      select  标签(下拉选择框)

    • select标签
      • <select>标签里面的每一项用<option>表示。select就是“选择”,option“选项”。select标签和ul、ol、dl一样,都是组标签。
      • <select>标签的属性:
        • multiple:可以对下拉列表中的选项进行多选。没有属性值。
        • size="3":如果属性值大于1,则列表为滚动视图。默认属性值为1,即下拉视图。
      • <option>标签的属性:
        • selected:预选中。没有属性值。
    • label标签
      • 通过for属性,将lable和input标签绑定,为 input 元素定义标注(标记)。  #相关  勾选性别那个,直接点字不行,但是再input下继续写个这个标签,然后for绑定,就可以点字选择了

      textarea 文本输入框,input的文本输入框只能输一行,这个可以输入多行.

    textarea(多行的文本输入框):
      参数:(rows:设置行数  cols:设置列数)
    <form action="">
        <!--<select name="school" id="1" >-->
        <select name="school" id="" multiple>
            <!--mutiple  设置为多选框-->
            <option value="qh">清华</option>
            <option value="jq" selected>剑桥</option>
            <!--selected 设置默认选项-->
            <option value="bd">北大</option>
        </select>
            <input type="submit" name="gg">
    </form>

    from 表单

    功能:
    表单用于向服务器传输数据,从而实现用户与Web服务器的交互
    一般里面放 <input>标签系列,比如文本字段、复选框、单选框、提交按钮等等。
    表单还可以包含textarea、select、fieldset和 label标签。 
    属性                        描述
    accept-charset    在被提交表单中使用的字符集(默认:页面字符集)。
    action="https://www.xiaodu.com/"   向何处提交表单的地址(URL)(提交页面)。
    autocomplete      浏览器应该自动完成表单(默认:开启)。
    enctype           被提交数据的编码(默认:url-encoded)。
    method="post"    提交表单时用的 http 方法(默认:get,输入的账户密码以&分割,显示在地址栏,如果不想显示用post模式)。
    name             规定识别表单的名称(对于 DOM 使用:document.forms.name)。
    novalidate       规定浏览器不验证表单。
    target           规定 action 属性中地址的目标(默认:_self)。
    form表单提交数据的步骤
    1.from 表单中的action 设置一个要提交到的url
    2.input 输入框添加一个name属性,name属性时上传数据时,对应的key
    3.要有一个提交按钮,例如input的type是submit,button标签
    
    上传文件需要注意:
    1.必须是post请求
    2.form 标签上添加一个属性:enctype="multipat/from-data"

    特殊字符

    &nbsp;  表示空格
    &gt;  表示>
    &lt;  表示<
    &amp;  表示&
    &yen;  表示 ¥
    &copy;  版权标识(写公司网站的时候会用到)
    &reg;  注册(一个圆圈里面有个R)

    注释

    写法( 注释的内容不会在网页上显示出来):
    <!--注释内容--> 

    div 标签和span 标签

      div:把标签中的内容作为一个块儿来对待。必须单独占据一行。

      div标签的属性:

    •     align="属性值":设置块儿的位置。属性值可选择:left、right、 center

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

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

    <body>
    
        <div>
            导航栏
        </div>
        <div>
            中心banner
        </div>
        <span>路飞</span>
        <span>alex</span>
        
    </body>

    div在浏览器中,默认是不会增加任何的效果的,但是语义变了,div中的所有元素是一个小区域。

    div标签是一个容器级标签,里面什么都能放,当然也可以放div自己。

    span也是表达“小区域、小跨度”的标签,但是是一个文本级的标签。

    就是说,span里面只能放置文字、图片、表单元素。 span里面不能放p、h、ul、ol、div。

    span举例:

    <p>
            商品简介:
            <span>
                <a href="">详细信息</a>
                <a href="">生产日期</a>
            </span>
    </p>

    div举例:

    <div class="header">
        <div class="logo"></div>
            <div class="nav"></div>
        </div>
        <div class="content">
            <div class="guanggao"></div>
            <div class="shop"></div>
        </div>
    <div class="footer"></div>

    img图片标签(引入图片)

    img: 代表的就是一张图片。是单边标记。
    img是自封闭标签,也称为单标签。
    
    能插入的图片类型:
    能够插入的图片类型是:jpg(jpeg)、gif、png、bmp。
    不能往网页中插入的图片格式是:psd、ai
    HTML页面不是直接插入图片,而是插入图片的引用地址,所以也要把图片上传到服务器上。
    
    src属性:指图片的路径。
    在写图片的路径时,有两种写法:相对路径、绝对路径(网络路径)
    相对路径使用有一个前提,就是网页文件和你的图片,必须在一个服务器上。
    
    <img src="图片的路径" alt="图片未加载成功时的提示" title="鼠标悬浮时提示信息" width="" height="高(宽高两个属性只用一个会自动等比缩放)">
    img标签的常用其它属性
    • width:宽度
    • height:高度
    • title:提示性文本。公有属性。也就是鼠标悬停时出现的文本。
    • align:指图片的水平对齐方式,属性值可以是:left、center、right
    • alt:当图片显示不出来的时候,代替图片显示的内容。alt是英语 alternate “替代”的意思。(有的浏览器不支持)

    a标签(超链接标签)

    1.超链接

     介绍 
        所谓的超链接是指从一个网页指向一个目标的连接关系,这个目标可以是另一个网页,也可以是相同网页上的不同位置,还可以是一个图片,一个电子邮件地址,一个文件,甚至是一个应用程序。
    <a href="http://www.oldboyedu.com" target="_blank" >点我</a> #target的值有两个(_blank,_self)_blank 在新页面打开目标网页; _self 再当前页面打开目标网页

    相对URL - 指当前站点中确切的路径(href="index.htm") 锚URL - 指向页面中的锚(href="#top"),博客的目录经常用到,还可以跳转到 name属性为p1的a标签上,<a name='top'>xxx</a>

    2、锚链接

    指给超链接起一个名字,作用是在本页面或者其他页面的的不同位置进行跳转。比如说,在网页底部有一个向上箭头,点击箭头后回到顶部,这个就是利用到了锚链接。
    首先我们要创建一个锚点,也就是说,使用name属性或者id属性给那个特定的位置起个名字。
    <div id="top1">这是div1</div>
    
    <div style="height: 2000px;"></div>
    
    <div id="top2">这是div2</div>
    
    <div style="height: 2000px;"></div>
    
    <a href="#top1">回到div1</a>
    <a href="#top2">回到div2</a>

      超链接的属性

    • href:目标URL
    • title:悬停文本。
    • name:主要用于设置一个锚点的名称。
    • target:告诉浏览器用什么方式来打开目标页面。target属性有以下几个值:
      • _self:在同一个网页中显示(默认值)
      • _blank:在新的窗口中打开。
      • _parent:在父窗口中显示
      • _top:在顶级窗口中显示
    ps:a是一个文本级的标签
    比如一个段落中的所有文字都能够被点击,那么应该是p包含a;
    <p>
        <a href="">段落段落段落段落段落段落</a>
    </p>
    
    而不是a包裹p:
    <a href="">
        <p>
            段落段落段落段落段落段落
        </p>
    </a>
    a的语义要小于p,a就是可以当做文本来处理,所以p里面相当于放的就是纯文字。

    列表

    ul (无序列表#就是再前面只显示个黑点)
    <ul type="disc">
      <li>第一项</li>
      <li>第二项</li>
    </ul>
    
    type属性:
    disc(实心圆点,默认值)
    circle(空心圆圈)
    square(实心方块)
    none(无样式)
    ol (有序列表)
    <ol type="1" start="2">
      <li>第一项</li>
      <li>第二项</li>
    </ol>
    
    type属性: start是从数字几开始
    1 数字列表,默认值
    A 大写字母
    a 小写字母
    Ⅰ大写罗马
    ⅰ小写罗马
    dl(标题标签(就像大纲一样,有一个层级效果))
    <dl>
      <dt>标题1</dt>
      <dd>内容1</dd>
      <dt>标题2</dt>
      <dd>内容1</dd>
      <dd>内容2</dd>
    </dl>

    table标签 (表格标签)


    <tr></tr> #显示在一行
    <th></th> #标题的单元格,有加粗的效果
    <td></td> #身体和脚部行的一个单元格
    <thead> #标题(头部)部分
    <tboby> #内容(身体)部分
    <tfoot> #末尾(脚部)部分 表格的基本结构:
    <table border='1'> <thead> #标题部分 <tr> #一行,下面的内容都在一行 <th>序号</th> #一个单元格 <th>姓名</th> <th>爱好</th> </tr> </thead> <tbody> #内容部分 <tr> #一行 <td>1</td> #一个单元格 <td>Egon</td> <td>杠娘</td> </tr> <tr> <td>2</td> <td>Yuan</td> <td>日天</td> </tr> </tbody> </table> 属性: border: 表格边框. cellpadding: 内边距 (内边框和内容的距离) cellspacing: 外边距.(内外边框的距离) 像素 百分比.(最好通过css来设置长宽) rowspan: 单元格竖跨多少行(向下) colspan: 单元格横跨多少列(即合并单元格)

    css回顾

    1.行内样式

      直接再创建标签时,在标签中添加一个style属性,属性值写要设置的样式

    2.内接样式

      再head中,添加一个style属性,在标签中写要设置的样式

    3.外界样式

      再head中,添加一个link标签,在href中指定要导入的css样式文件的路径.

      在css样式文件中写样式

    基本选择器

    1. 标签选择器

      直接写标签名

    2.id选择器

      #id

    3.class类选择器

      .类名

     socket 服务端写网页信息

    import socket
    server = socket.socket()
    ip_port = ('127.0.0.1',8001)
    server.bind(ip_port)
    server.listen()
    conn,addr = server.accept()
    from_browser_msg = conn.recv(1024)
    print(from_browser_msg)
    conn.send(b'HTTP/1.1 200 ok 
    
    ')#http/1.1 协议的版本,200 ok 给浏览器个(正常)状态码, 
    ..后面写你要显示的内容
    with open('01test01.html','rb') as f:
        data = f.read()
        conn.send(data)
  • 相关阅读:
    解决ASP.NET MVC3与FusionCharts乱码问题
    php中sprintf与printf函数用法区别
    常用的CSS缩写语法一些方法小结
    linux中利用iptables+geoip过滤指定IP
    php中magic_quotes_gpc对unserialize的影响
    mysql中权限参数说明
    jquery实现点击页面空白隐藏指定菜单
    asp.net中导出excel数据的方法汇总
    SQL取某个字段最大(小)数值及其相应行的其他字段值的句语
    Dos下查询关闭端口的命令例子
  • 原文地址:https://www.cnblogs.com/lgw1171435560/p/10308258.html
Copyright © 2011-2022 走看看