zoukankan      html  css  js  c++  java
  • 前端开发之一、【第一篇: 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">
  • 相关阅读:
    AGC037F Counting of Subarrays
    AGC025F Addition and Andition
    CF506C Mr. Kitayuta vs. Bamboos
    AGC032D Rotation Sort
    ARC101F Robots and Exits
    AGC032E Modulo Pairing
    CF559E Gerald and Path
    CF685C Optimal Point
    聊聊Mysql索引和redis跳表
    什么是线程安全
  • 原文地址:https://www.cnblogs.com/sunhao96/p/7944920.html
Copyright © 2011-2022 走看看