>  기사  >  웹 프론트엔드  >  프론트엔드 HTML 언어

프론트엔드 HTML 언어

高洛峰
高洛峰원래의
2017-02-11 11:36:561433검색

프런트엔드 개요

Hypertext Markup Language(영어: HyperText Markup Language, 참조: HTML)는 웹 페이지를 만드는 데 사용되는 표준 마크업 언어입니다.

HTML을 사용하여 자신만의 웹 사이트를 구축할 수 있습니다. HTML은 브라우저에서 실행되고 브라우저에서 구문 분석됩니다.

서버 코드:

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

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)
        f=open("test.html","rb")  #以读的方式打开test.html文件
        data=f.read()
        connection.sendall(bytes("HTTP/1.1 201 OK\r\n\r\n","utf8"))

        connection.sendall(data)

        connection.close()

if __name__ == '__main__':

    main()

test.html 코드

nbsp;html>


    <meta>
    <title>nulige</title>
    <title>oldboy</title>
    <link>
    <link>
    <script></script> 


<h1>hello world</h1>>
<h2>hello world</h2>>
<input>
<p>img src="file:///D:/python/day42/1.jpg" width="120" height="80" align=</p>

<h1>hello h1</h1>
<div>style</div>



<!--<script>-->
    <!--alert(window.top.document.compatMode)-->
<!--</script>-->

클라이언트는 브라우저를 통해 test.html에 접속하고 결과는 다음과 같습니다.

프론트엔드 HTML 언어

예 2: Jingdong 웹사이트에 접속

프론트엔드 HTML 언어

브라우저에서 Jingdong의 서버 구성도에 접속

html css js는 인터넷 삼총사

인터넷 접속: 실제로는 웹페이지를 다운로드하는 것
브라우저: 인터프리터

두 가지 공통점이 있습니다 모드:

하나는 cs 모드: c: 클라이언트 s:server
하나는 bs 모드: b: 브라우저 s: 서버

태그 언어:

태그는 자동으로 닫히는 태그와 닫히지 않는 태그로 구분됩니다.

블록 수준 태그: 자체 글꼴의 작은 영역만 차지

인라인 태그: 한 줄 차지

HTML이란 무엇인가요?

htyper 텍스트 마크업 언어는 하이퍼텍스트 마크업 언어입니다.

하이퍼텍스트: 페이지에 그림, 링크는 물론 음악이나 프로그램과 같은 텍스트가 아닌 요소까지 포함될 수 있음을 의미합니다.

마크업 언어: 태그(tags)로 구성된 언어

웹페이지 == HTML 문서, 브라우저에서 파싱되어 표시에 사용

정적 웹 페이지: xxx.html과 같은 정적 리소스

동적 웹 페이지: html 코드는 사용자 요청에 따라 특정 개발 언어에 의해 동적으로 생성됩니다

html 문서 트리 구조:

프론트엔드 HTML 언어

태그란 무엇인가요?

는 한 쌍의 꺾쇠괄호 로 묶인 단어로 구성됩니다. 예: in 태그는 숫자로 시작할 수 없습니다.

태그는 대소문자를 구분하지 않습니다.

태그는 소문자를 사용하는 것이 좋습니다. 는 여는 태그 와 닫는 태그 로 나누어집니다. 두 태그 사이의 부분을 태그 본문이라고 합니다.

일부 태그 기능은 비교적 간단합니다. 이러한 종류의 태그를 자체 닫는 태그라고 합니다. 예:
프론트엔드 HTML 언어

태그 그러나 교차 중첩될 수는 없습니다.

태그의

속성은 예를 들어, name="alex"

속성은 시작 태그에만 나타날 수 있습니다. 또는 자체 닫는 태그에서는

속성 이름이 모두 소문자입니다. 속성 값은 큰따옴표나 작은따옴표로 묶어야 합니다. 예를 들어 name="alex"

속성 값과 속성 이름이 완전히 동일한 경우에는 직접 속성 이름을 작성하면 됩니다. 읽기 전용

예:

 
<input>

태그

역사적인 이유로 각 브라우저에는 페이지 렌더링 기능이 다르며 심지어 차이가 있습니다. 동일한 브라우저는 버전에 따라 페이지를 다르게 렌더링합니다.
W3C 표준이 도입되기 전에는 브라우저에 페이지 렌더링에 대한 통일된 표준이 없었기 때문에 W3C 표준 도입으로 인해 차이점(Quirks 모드 또는 Compatibility
모드)이 발생했습니다. . 표준(CSScompat 또는 Strict 모드는 표준
모드라고도 함)이 둘 사이의 가장 간단한 차이점입니다.
W3C 표준이 출시된 후 브라우저는 새로운 표준을 채택하기 시작했지만 문제가 있었습니다. 표준이 나오기 전에는 기존 웹 페이지를 계속 탐색할 수 있는지 확인하는 방법이 있었습니다.
많은 페이지가 작성되었습니다. 이전 렌더링 방법을 기준으로 표준을 사용하여 렌더링하면 페이지가 비정상적으로 표시됩니다. 브라우저 렌더링 호환성을 유지하고
이전 페이지를 정상적으로 탐색할 수 있도록 하기 위해 브라우저는 이전 렌더링 방법(예: Microsoft의 IE)을 유지합니다. 이런 식으로 Quircks 모드
와 Standards 모드가 브라우저 렌더링에서 생성됩니다. 두 가지 렌더링 방법이 하나의 브라우저에 공존합니다.

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

사용 예:

 <script>
     alert(window.top.document.compatMode)
 </script>

이 속성은 브라우저에서 인식되고 사용되지만 페이지에 DOCTYPE 선언이 없는 경우 compatMode는 기본적으로 BackCompat로 설정됩니다.

이것은 악마의 시작입니다. 브라우저는 페이지를 자체 방식으로 구문 분석하고 렌더링하므로 브라우저에 따라 다른 스타일이 표시됩니다.

페이지에 을 추가하면 표준 모드를 ​​켜는 것과 동일하며 브라우저는 W3C의

표준 페이지에 따라 구문 분석하고 렌더링해야 합니다. 귀하의 페이지는 모든 브라우저에서 동일하게 나타납니다.

이것이 의 기능입니다.

헤드 태그

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

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

<meta>
 
<meta>

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

 //(注意后面的引号,分别在秒数的前面和网址的后面)
 
<meta>
 
<meta>

注意:X-UA-Compatible(兼容:IE6 and IE7)

每个主要版本IE新增的功能都是为了让浏览器更容易使用、增加安全性及更支持业界标准。以这些作为IE的特色,其中
一个风险就是旧版本网站无法正确的显示。

为了将这个风险降到最低,IE6允许网页开发人员选择IE编译和显示他们网页的方式。"Quirks mode"为预设,这会
使页面以旧版本浏览器的视点显示,"Standards mode"(也称为"strict mode")特点是支持业界标准最为完善。
然而要利用这个增强的支持功能,网页必须包含恰当的指令。

若一个网页没有包含指令,IE6会将它以quirks mode显示。若网页包含有效的指令但浏
览器无法辨识,IE6会将它以IE6 standards mode显示。因为少数网站已经包含指令,兼容性模式的
切换相当成功。这使网页开发人员能选择将他们的网页转移为standards mode的最佳时机。

随著时间经过,更多网站开始使用standards mode。它们也开始使用IE6的特性和功能来检测IE。举例来说,IE6
不支持universal selector(即css之全局选择器 * {}),一些网站便使用它来针对IE做特定的对应。

当 IE7增加了对全域选择器的支持,那些依赖IE6特点的网站便无法侦测出这个新版本的浏览器。因此那些针对IE的
特定对应无法应用于IE7,造成这些网站便无法如他们预期的显示。由于只支持两种兼容性模式,受到影
响的网站拥有者被迫更新他们的网站使其能支持IE7。

IE8 比之前的任何版本浏览器都更支持业界标准,因此针对旧版本浏览器设计的网页可能无法如预期般呈现。为了帮
助减轻所有问题,IE8引入文件兼容性的概念,使你能选择你的网页设计要对应的特定IE版本。文件兼容性在IE8增加
了一些新的模式,这些模式能告诉浏览器如何解析和编译一个网页。若你的网页无法在 ie8正确的显示,你可以更新
你的网站使它支持最新的网页标准(优先选项)或在你的页面上新增一个meta元素用于告诉IE8如何依照旧版本浏览器
编译你的页面。

这能让你选择将你的网站更新支持IE8新特点的时机。

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

非meta标签

    <title>nulige</title>
    <link>
    <link>
    <script></script> 

body标签

设置标签背景色

<h3 style="padding: 2px 0px 2px 10px; font-size: 15px; line-height: 24px; background: #009acd; color: #ffffff; font-family: &#39;comic sans ms&#39;, 微软雅黑, 宋体, 黑体, Arial; height: 24px; width: 507.47px; margin: 12px 0px !important;">body标签</h3>

一 基本标签(块级标签和内联标签)

<hn>: n的取值范围是1~6; 从大到小. 用来表示标题.  <h1> hello world <h1>

<p>: 段落标签. 包裹的内容被换行.并且也上下内容之间有一行空白. (块级标签)

<b> <strong>: 加粗标签.

<strike>: 为文字加上一条中线.

<em>: 文字变成斜体.

<sup>和<sub>: 上角标 和 下角表.

<br>:换行.

<hr>:水平线

<div>

<div> hello world</div> 就是什么都不做(重点)

<span> :只占一小块空间  (内联标签)

内联标签:只能嵌套内联标签

块级标签:可以嵌套内联标签

示例:演示div标签

<div style="color: green; background-color: aquamarine;height: 100px;width: 50%;font-size: 40px;text-align: center">hello</div>

运行效果:

프론트엔드 HTML 언어

块级标签:

      内联标签:프론트엔드 HTML 언어

      block(块)元素的特点

       总是在新行上开始;
       宽度缺省是它的容器的100%,除非设定一个宽度。
       它可以容纳内联元素和其他块元素

      inline元素的特点

      和其他元素都在一行上;
      宽度就是它的文字或图片的宽度,不可改变
      内联元素只能容纳文本或者其他内联元素

      特殊字符

        大于 = < 小于=>;";©® 空格=nbsp

      HTML 特殊符号编码对照表

      参考:http://tool.chinaz.com/Tools/HtmlChar.aspx

      CSS样式参考:

      http://v3.bootcss.com/

      二 图形标签: 프론트엔드 HTML 언어 

      src: 要显示图片的路径.
      
      alt: 图片没有加载成功时的提示.
      
      title: 鼠标悬浮时的提示信息.
      
      width: 图片的宽
      
      height:图片的高 (宽高两个属性只用一个会自动等比缩放.)

      示例:打开一张图片

      <body>
      <img src="1.jpg" alt="截图" title="京东" width="200px"    style="max-width:90%">
      </body>

      三 超链接标签(锚标签)

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

      示例:

      <body>
      <a href="http://www.xiaohuar.com">校花网</a>>
      <a href="http://www.xiaohuar.com" target="_blank">校花网</a>>
      <a href="http://www.xiaohuar.com" target="_blank"><img src="1.jpg" alt="">校花网</a>>  #实现打开图片自动跳转到校花网
      </body>

      四 列表标签:

      <ul>: 无序列表
      
      <ol>: 有序列表
               <li>:列表中的每一项.
      
      <dl>  定义列表
      
               <dt> 列表标题
               <dd> 列表项

      示例:

      <body>
      
      #unorder list
      <ul>   #快捷键,输入ul,再按tab键会自动补全
          <li>111</li>
          <li>222</li>
          <li>333</li>
      </ul>
      
      #older list
      <ol>
          <li>111</li>
          <li>222</li>
          <li>333</li>
      </ol>
      
      #定义列表
      <dl>
          <dt>第一章</dt>
          <dd>第一节</dd>
          <dd>第二节</dd>
      </dl>
      
      </body>

      执行效果:

      프론트엔드 HTML 언어

      五 表格标签:

      border: 表格边框.
      
      cellpadding: 内边距
      
      cellspacing: 外边距.
      
      width: 像素 百分比.(最好通过css来设置长宽)
      
      <tr>: table row
      
               <th>: table head cell
      
               <td>: table data cell
      
      rowspan:  单元格竖跨多少行
      
      colspan:  单元格横跨多少列(即合并单元格)
      
      <th>: table header <tbody>(不常用): 为表格进行分区.

      示例:

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
      </head>
      <body>
      
      <!--表格-->
      
      <!--布局-->
      <table border="1px" cellpadding="5px" cellspacing="5px">
          <thead>
              <tr>
                  <!--标题加粗-->
                  <th>111</th>
                  <th>222</th>
                  <th>333</th>
              </tr>
      
          </thead>
      
          <tbody>
              <tr>
                  <!--内容正常显示,不加粗-->
                  <td rowspan="2">111</td>
                  <td>222</td>
                  <td>333</td>
              </tr>
      
              <tr>
                  <td>111</td>
                  <td>222</td>
              </tr>
      
              <tr>
                  <td>111</td>
                  <td colspan="2">222</td>
              </tr>
          </tbody>
      
      </table>
      
      </body>
      </html>

      执行结果:

      프론트엔드 HTML 언어

      六 表单标签

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

            表单能够包含 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.提交的键值对 不在地址栏,数据封装在form Data 请求体里面。 2.安全性相对较高. 3.对提交内容的长度理论上无限制.

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

      2.表单元素

                   标签的属性和对应值              

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

      示例:写一个注册页面

      代码1:

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
      </head>
      <body>
      <h1>注册页面</h1>
      
      <!--action:就是提交数据到服务端 method{get,post}默认:get-->
      <!--<form action="http://127.0.0.1:8080/index" method="post">-->
      
      <!--上传文件加这句-->
      <form action="http://127.0.0.1:8080/index" method="post" enctype="multipart/form-data">
      
      <!--输入框-->
      <!--type="" 随便输入一个内容-->
      <p>用户名:<input type="test" name="username" placeholder="姓名"></p>
      
      <!--password:不显示密码-->
      <p>密码:<input type="password" name="password" placeholder="密码"></p>
      
      <!--password:不显示密码,只读不能写密码-->
      <!--<p>密码:<input type="password" name="password" placeholder="密码" readonly="readonly"></p>-->
      
      <!--多选框-->
      <p>爱好: 音乐<input type="checkbox" name="hobby" value="music"> 电影<input type="checkbox" name="hobby" value="movie"></p>
      
      <!--单选框-->
      <p>性别:  男<input type="radio" name="gender" value="men"> 女<input type="radio" name="gender" value="women"></p>
      
      <!--重置 -->
      <p><input type="reset" value="重置"></p>
      
      <!--提交:会触发事件,提交给服务端-->
      <p><input type="submit" value="提交注册"></p>
      
      <!--提交按键:不会触发内容-->
      <p><input type="button" value="提交注册"></p>
      
      <!--选择文件-->
      <p><input type="submit" value="提交注册"></p>
      
      
      </form>
      
      </body>
      </html>

      代码2 1 

      <html>
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
      </head>
      
      <body>
      
      <h1>注册页面</h1>
      <!--<strike>用户注册</strike>-->  #划掉“用户注册”几个字
      <!--action:就是提交数据到服务端 method{get,post}默认:get-->
      <!--<form action="http://127.0.0.1:8080/index" method="post">-->
      
      <!--上传文件加这句-->
      <form action="http://127.0.0.1:8080/index" method="post" enctype="multipart/form-data">
      
      <!--输入框-->
      <!--type="" 随便输入一个内容-->
      <p>用户名:<input type="test" name="username" placeholder="姓名" disabled></p>
      
      <!--password:不显示密码-->
      <p>密码:<input type="password" name="password" placeholder="密码"></p>
      
      <!--password:不显示密码,只读不能写密码-->
      <!--<p>密码:<input type="password" name="password" placeholder="密码" readonly="readonly"></p>-->
      
      <!--多选框-->
      <p>爱好: 音乐<input type="checkbox" name="hobby" value="music" checked> 电影<input type="checkbox" name="hobby" value="movie"></p>
      
      <!--单选框-->
      <p>性别:  男<input type="radio" name="gender" value="men"> 女<input type="radio" name="gender" value="women"></p>
      
      <!--重置 -->
      <p><input type="reset" value="重置"></p>
          
      <!--提交:会触发事件,提交给服务端-->
      <p><input type="submit" value="提交注册"></p>
      
      <!--提交按键:不会触发内容-->
      <p><input type="button" value="提交注册"></p>
      
      <!--选择文件-->
      <p><input type="submit" value="提交注册"></p>
          
      </form>
      
      </body>
      </html>

      执行结果:

      프론트엔드 HTML 언어

      实现:返回顶部功能

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
      </head>
      <body>
      <div id="www"></div>
      <img src="1.jpg" alt="截图" title="京东" width="800"    style="max-width:90%"><br>
      <a href="#www">返回顶部</a>
      </body>
      </html>

      执行效果:

      프론트엔드 HTML 언어

      示例:实现上传文件功能

      在服务端里面添加这段代码:

      #实现上传文件效果
      
      def index(request):
          print request.POST
          print request.GET
          print request.FILES
          for item in request.FILES:
              fileObj = request.FILES.get(item)
              f = open(fileObj.name, &#39;wb&#39;)
              iter_file = fileObj.chunks()
              for line in iter_file:
                  f.write(line)
              f.close()
          return HttpResponse(&#39;ok&#39;)

      前端页面代码:

      实现:上传文件功能

      <body>
      
      <form>
      
      <!--上传文件-->
      <p><input type="file" ></p>
      
      </form>
      
      </body>

       

      name:表单提交项的键.
      
                size:选项个数
      
                multiple:multiple 
      
                       <option> 下拉选中的每一项 属性:
      
                             value:表单提交项的值.   selected: selected下拉选默认被选中
      
                       <optgroup>为每一项加上分组

       示例:

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
      </head>
      <body>
      
          省<select name="" id="">
              <option value="">北京市</option>
              <option value="">河北市</option>
              <option value="">河南市</option>
              <option value="">山西市</option>
          </select>
      
      
          省<select name="province" multiple size="2">
              <option value="beijing">北京市</option>
              <option value="hebei">河北市</option>
              <!--默认选中河南省selected-->
              <option value="henan" selected="selected">河南市</option>
              <option value="shanxi">山西市</option>
          </select>
      
          <!--选择框-->
          省<select name="province" >
              <optgroup label="广东省">
                  <option value="beijing">广州</option>
                  <option value="hebei">东莞</option>
                  <!--默认选中河南省selected-->
                  <option value="henan" selected="selected">中山市</option>
                  <option value="shanxi">珠海市</option>
              </optgroup>
          </select>
      
      </body>
      </html>

      执行结果:

      프론트엔드 HTML 언어

         

      name:    表单提交项的键.
      cols:    文本域默认有多少列
      rows:    文本域默认有多少行

         

      <label for="www">姓名</label>
      <input id="www" type="text">

      <fieldset>
          <legend>登录吧</legend>    
          <input type="text">
      </fieldset>

      示例:

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
      </head>
      <body>
      
          <!--文本框-->
          简介<textarea name="desc" id="" cols="30" rows="10"></textarea>
      
          <fieldset>
          <legend>登录吧</legend>
          <input type="text">
          </fieldset>
      
          <!--特效-->
          <label for="www">姓名</label>
          <input id="www" type="text">
      
      </body>
      </html>

      执行结果:

      프론트엔드 HTML 언어

      最后总结:

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
      </head>
      <body>
      
      <form>
      
          <!--提交数据到服务端(方式有get and post)-->
          <form action="http://127.0.0.1:8080/index" method="post">
      
          <!--input标签的属性和对应值-->
          <input type="test" name="username">
          <input type="password" name="pwd">
          <input type="checkbox" name="hobby" value="musci">
          <input type="radio" name="gender" value="man">
          <input type="file" name="filename" >
          <input type="submit" name="提交" >
          <input type="button" name="提交" >
          <input type="reset" name="重置" >
      
      
          <!--下拉选标签属性-->
          <select name="">
              <option value=""></option>
              <option value=""></option>
          </select>
      
          <!--文本域-->
          简介<textarea name="" id="" cols="30" rows="10"></textarea>
          
      </form>
      
      </body>
      </html>

      更多프론트엔드 HTML 언어相关文章请关注PHP中文网!

      성명:
      본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
      이전 기사:HTML의 목록 태그 분석다음 기사:HTML의 목록 태그 분석

      관련 기사

      더보기