• 前端开发之一、【第一篇: HTML】


    一、HTML初识

     1.什么是HTML?

    HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记)。

     2、网页的组成

    我们平时看到的网页一般由3个部分组成:

    • HTML(Hypertext Markup Language)
    • CSS(Cascade Style Sheets)
    • JavaScript

    上面3个分别可以理解为:视图、表现、行为(HTML可以理解为一个动画小人,CSS为它穿上美丽的衣服,JavaScript让它变的可以跳舞)

     3、html文档树形结构图:

    4、什么是标签

    • 是由一对尖括号包裹的单词构成 例如: <html> *所有标签中的单词不可能以数字开头.
    • 标签不区分大小写.<html> 和 <HTML>. 推荐使用小写.
    • 标签分为两部分: 开始标签<a> 和 结束标签</a>. 两个标签之间的部分 我们叫做标签体.
    • 有些标签功能比较简单.使用一个标签即可.这种标签叫做自闭和标签.例如: <br/> <hr/> <input /> <img />
    • 标签可以嵌套.但是不能交叉嵌套. <a><b></a></b>

    5、标签的属性

    • 通常是以键值对形式出现的. 例如 name="alex"
    • 属性只能出现在开始标签 或 自闭和标签中.
    • 属性名字全部小写. *属性值必须使用双引号或单引号包裹 例如 name="alex"
    • 如果属性值和属性名完全一样.直接写属性名即可. 例如 readonly

    6、<!DOCTYPE html>标签

     由于历史的原因,各个浏览器在对页面的渲染上存在差异,甚至同一浏览器在不同版本中,对页面的渲染也不同。在
    W3C标准出台以前,浏览器在对页面的渲染上没有统一规范,产生了差异(Quirks mode或者称为Compatibility 
    Mode);由于W3C标准的推出,浏览器渲染页面有了统一的标准(CSScompat或称为Strict mode也有叫做Standars
    mode),这就是二者最简单的区别。
          W3C标准推出以后,浏览器都开始采纳新标准,但存在一个问题就是如何保证旧的网页还能继续浏览,在标准出来以前,
    很多页面都是根据旧的渲染方法编写的,如果用的标准来渲染,将导致页面显示异常。为保持浏览器渲染的兼容性,使以
    前的页面能够正常浏览,浏览器都保留了旧的渲染方法(如:微软的IE)。这样浏览器渲染上就产生了Quircks mode
    和Standars mode,两种渲染方法共存在一个浏览器上。

    window.top.document.compatMode:
    //BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面。 
    //CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。
    <script>

    alert(window.top.document.compatMode) 查看当前浏览器渲染模式
    </script>

      这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,那么compatMode默认就是BackCompat,

    这也就是恶魔的开始 -- 浏览器按照自己的方式解析渲染页面,那么,在不同的浏览器就会显示不同的样式。

        如果你的页面添加了<!DOCTYPE html>那么,那么就等同于开启了标准模式,那么浏览器就得老老实实的按照W3C的

    标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了。

    这就是<!DOCTYPE html>的作用。

    7、head标签

     <meta>标签

    #meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name 属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。
    <meta charset="UTF-8">

    1、name属性

    主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。

    <meta name="keywords" content="老男孩">    <!-- 关键字设定 -->
    <meta name="description" content="描述性内容:这是一个测试页面">       <!-- 描述网站或者页面 -->

     关键字的作用:一般是让爬虫之类的收录程序,当他们在爬你的网站的时候,如果你有关键字,那么他们会优先把关键字收录到他们的记录中,比如搜狗:如果他们收录之后,他们搜索你的关键字的时候,就能找到咱们的网站。

     2、http-equiv属性

    顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content, content中的内容其实就是各个参数的变量值。 

    <meta http-equiv="Refresh" content="2;Url=http://www.fuzegame.com">   <!-- 设置关键字,刷新时间和页面跳转  设置页面每2秒刷新一次 Url是指页面刷新2秒后,跳转到指定的Url -->

     3.兼容

    <meta http-equiv="x-ua-compatible " content="IE=EmulateIE7">

     title标签

    <title>test</title>    <!-- 网页头部标题 -->

     stytle标签

    一般建议css放在head中不管是引用还是直接在当前页面定义css,因为页面加载自上而下

    <style>
            div {
                color: rebeccapurple;
                background-color:cadetblue ;
    
            }
    
          span {
              color:green ;
              background-color: yellow;
    
          }
    
          #div1{
              height:500px;
              background-color: yellow;
          }
             #div2{
              height:500px;
              background-color:green;
          }
     #div3{
              height:500px;
              background-color: black;
          }
    
    
        </style>
    style标签

     link标签

    <link rel="icon" href="//www.jd.com/favicon.ico"

    8、body标签

    body标签存放网页的内容

    1.基本标签(块级标签和内联标签)

     块级标签: 

    • 每个块级元素都从新的一行开始,并且其后的元素也另起一行
    • 元素的高度、宽度、行高以及顶和底边距都可设置
    • 元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度

     内联标签:根据实际使用的大小展示

    • 和其他元素都在一行上
    • 元素的高度、宽度、行高及顶部和底部边距不可设置;
    • 元素的宽度就是它包含的文字或图片的宽度,不可改变。

    div标签(块级标签)

    <div style="color: rebeccapurple;background-color: antiquewhite; 50%;text-align: center;">
        hello world
    </div>

     h标签(块级标签)

        <h1>h标签是块级标签 字体从大到小表示标题</h1>
        <h2>2</h2>
        <h3>3</h3>
        <h4>4</h4>
        <h5>5</h5>
        <h6>6</h6>

    p 标签(块级标签)

    <p> p标签  换行跟隔行 </p>

    span标签(内联标签) span标签width和heigth设置是无效的

    <span>span 是内联标签(行级标签 in-line)</span>

    img 图形标签

    <img src="1.jpg" width="150px" height="60" alt="hehe" title="鼠标放上显示">
    
    src: 要显示图片的路径.
    
    alt: 图片没有加载成功时的提示.
    
    title: 鼠标悬浮时的提示信息.
    
     图片的宽
    
    height:图片的高 (宽高两个属性只用一个会自动等比缩放.)

    <a>超链接标签(锚)

    它有两个作用:跳转和锚点[跳转或者设定锚点]

    <a href="http://www.fuzegame.com" target="_blank">超链接标签</a>
    href:要连接的资源路径 格式如下: href="http://www.baidu.com" 
    
    target: _blank : 在新的窗口打开超链接. 框架名称: 在指定框架中打开连接内容.
    
    name: 定义一个页面的书签.
    
    用于跳转 href : #id.(锚)

    <a href="#div1">第一章</a>

    <a href="#div2">第二章</a>
    <a href="#div3">第三章</a>


    <div id="div1">第一章</div>
    <div id="div2">第二章</div>
    <div id="div3">第三章</div>

    其他标签

    <b>给字体加粗</b> 
    <br/>   换行
    <em>变成斜体</em> 
    <strike>划除</strike>
    <del>delete 跟strike一样效果</del>
    2<sub>3下角标</sub> 
    2<sup>3上角标</sup>
    &nbsp;代表空格
    &copy;   符号
    &lt;大于
    &gt;小于

    列表标签

    1、无序列表:

    unordered list  无序列表
    
    <ul>
        <li>111</li>
        <li>222</li>
        <li>333</li>
    </ul>

    2、有序列表:

    ordered list  有序列表
    <ol>
        <li>111</li>
        <li>222</li>
        <li>333</li>
    </ol>

    3、定义列表:

    <dl>
        <dt>第一章</dt>
        <dd>111</dd>
        <dd>222</dd>
        <dd>333</dd>
    
        <dt>第二章</dt>
        <dd>111</dd>
        <dd>222</dd>
        <dd>333</dd>
        
    </dl>

    table标签

    <table border="1" cellpadding="1px" cellspacing="0">
    #border属性:表格边框 cellpadding属性:内边距 cellspacing属性:外边距 <tr> <td>第一行,第一列</td> <td>第一行,第二列</td> <td>第一行,第三列</td> </tr> <tr> <td>第二行,第一列</td> <td>第二行,第二列</td> <td>第二行,第三列</td> </tr> </table>

    <table border="1">
    
            <thead>
            
                <tr>
                     <th>表头1</th>
                     <th>表头2</th>
                     <th>表头3</th>
                     <th>表头4</th>
                </tr>
            
            </thead>
    
        <tbody>
    
            <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>
    table表格

    form表单标签

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

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

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

    1、表单属性

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

                action: 表单提交到哪. 一般指向服务器端一个程序,程序接收到表单提交过来的数据(即表单元素值)作相应处理,比如https://www.sogou.com/web

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

                              get: 1.提交的键值对.放在地址栏中url后面. 2.安全性相对较差. 3.对提交内容的长度有限制.

                              post:1.提交的键值对 不在地址栏. 2.安全性相对较高. 3.对提交内容的长度理论上无限制.

                              get/post是常见的两种请求方式.

    2、表单元素

               <input>  标签的属性和对应值     

    type:  text 文本输入框
    
           password 密码输入框
    
           radio 单选框
    
           checkbox 多选框  
    
           submit 提交按钮            
    
           button 按钮(需要配合js使用.) button和submit的区别?
    
           file 提交文件:form表单需要加上属性enctype="multipart/form-data"   
    <form action="127.0.0.1:3306/index" method="get" enctype="multipart/form-data">
    <p>用户名:<input type="text" name="username" readonly></p> # readonly属性: 只读
    <p>密码:<input type="password" name="password"></p> <p><input type="submit" value="点我"></p> 性别:&nbsp;男<input type="radio" name="sex">

    <input type="radio" name="sex"> <p>互斥name属性值必须一致</p> <!--name属性是给服务器看的--> <p>爱好:&nbsp;足球<input type="checkbox" name="hobby" value="1" checked> #checked属性:默认勾选 排球<input type="checkbox" name="hobby" value="2"> 篮球<input type="checkbox" name="hobby" value="3"> </p> <p>上传文件<input type="file"></p> <p><input type="reset">重置清空</p> </form>

     上传文件注意两点:

     1 请求方式必须是post

     2 enctype="multipart/form-data" 

            file_obj=request.FILES.get('files')
    
            f = open(file_obj.name,'wb')
            iter_file=file_obj.chunks()
    
            for line in iter_file:
    
                f.write(line)
            f.close()

     select下拉标签 

     name:表单提交项的键.
    
              size:选项个数
    
              multiple:multiple 
    
                     <option> 下拉选中的每一项 属性:
    
                           value:表单提交项的值.   selected: selected下拉选默认被选中
    
                     <optgroup>为每一项加上分组
     籍贯:<select name="city" multiple size="2">
    
        <optgroup label="广东省">
            <option value="sz">深圳</option>
            <option value="gz">广州</option>
            <option value="hz">惠州</option>
            <option value="zs">中山</option>
        </optgroup>
         <optgroup label="北京市">
            <option value="sz">海淀</option>
            <option value="gz">朝阳</option>
            <option value="hz">房山</option>
            <option value="zs">通州</option>
        </optgroup>
        
    
        </select>

    <textarea> 文本域

    name:    表单提交项的键.
    
    cols:    文本域默认有多少列
    
    rows:    文本域默认有多少行
    
    <p><textarea cols="30" rows="10" name="t1">自我简介</textarea></p>

     <label>标签

    <label for="www">姓名</label>
    <input id="www" type="text">
  • 相关阅读:
    推荐一本不错的书《Sencha Ext JS 5 Bootcamp in a Book》
    Libgdx 1.6.0发布,跨平台游戏开发框架
    《.NET最佳实践》与Ext JS/Touch的团队开发
    【翻译】Sencha Cmd中脚本压缩方法之比较
    【翻译】Ext JS 6早期访问版本发布
    【翻译】Ext JS 6有什么新东西?
    SpringBoot 使用 MyBatis 分页插件 PageHelper 进行分页查询
    Spring boot+Thymeleaf+easyui集成:js创建组件页面报错
    SpringBoot多模块搭建,依赖管理
    IDEA在同一窗口导入多个项目
  • 原文地址:https://www.cnblogs.com/sunhao96/p/7944920.html
Copyright © 2020-2023  润新知