zoukankan      html  css  js  c++  java
  • 前端之HTML

    HTML

    web服务的本质

    import socket
    
    sk = socket.socket()
    sk.bind(('127.0.0.1', 8008))
    sk.listen(5)
    
    while True:
        conn, addr = sk.accept()
    	data = conn.recv(1024)
        conn.send(b"HTTP/1.1 200 OK
    
    ")
        conn.send(b"<h1>Hello world</h1>")
        conn.close()
        
    # 浏览器发请求 -->HTTP 协议 ->服务端接收请求 -->服务端返回响应 -->服务端把HTML文件内容发给浏览器 -->浏览器渲染页面
    

    HTML是什么

    • 超文本标记语言(Hypertext Markup Language,HTML)是一种用于创建网页的标记语言
    • 本质上是浏览器可识别的规则,我们按照规则写网页,浏览器根据规则渲染我们的网页,对于不同的浏览器,对同一个标签可能会有不同的解释。(兼容性问题)
    • 网页文件的扩展名:.html或者.htm

    HTML文档结构

    <!DOCTYPE html>
    <html lang="zh-CN">
        <head>
            <meta charset="UTF-8">
            <title>css样式优先级</title>
        </head>
        <body>
            
        </body>
    </html>
    
    1. <!DOCTYPE html>声明为HTML5文档
    2. <html>、</html>是文档的开始标记和结束的标记。是HTML页面的根元素,在它们之间是文档的头部(head)和主体(body)
    3. <head>、</head>定义了HTML文档的开头部分。他们之间的内容不会在浏览器的文档窗口显示。包含了文档的元(meta)数据。
    4. <title>、</title>定义了网页的标题,在浏览器标题栏显示
    5. <body>、</body>之间的文本是可见的网页主体内容

    注意:对于中文网页需要使用声明编码,否则会出现乱码。有些浏览器设置GBK为默认编码,则需要设置为

    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注释及标签

    <!--注释内容--> 
    
    快捷键就是 ctrl+/
    

    <!DOCTYPE>声明必须是HTML文档的第一行,位于<html>标签之前

    <!DOCTYPE>声明不是HTML标签,它是指示web浏览器关于页面使用哪个HTML版本进行编写的指令

    HTML常用的标签

    head内的常用标签

    标签 意义
    <title></title> 定义网页标题
    <style></style> 定义内部样式表
    <script></script> 定义JS代码或引入外部JS文件
    <link/> 引入外部样式表文件或网站图标
    <meta/> 定义网页原信息

    Meta标签

    meta标签介绍:

    • 元素可提供有关页面的元信息(meta-infomation),针对搜索引擎和更新频度的描述和关键词。
    • 标签位于文档的头部,不包含任何内容
    • 提供的信息是用户不可见的

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

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

      <!--指定文档的编码类型(需要知道)-->
      
      <meta http-equiv="content-Type" charset=UTF8">
      
      <!--2秒后跳转到对应的网址,注意引号(了解)-->
      
      <meta http-equiv="refresh" content="2;URL=https://www.oldboyedu.com">
      
      <!--告诉IE以最高级模式渲染文档(了解)-->
      
      <meta http-equiv="x-ua-compatible" content="IE=edge">
      
    2. name属性:主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用到。

      <meta name="keywords" content="meta总结, html meta,meta 属性,meta跳转">
      <meta name="description" content="Welcome to our school">
      
      

    body内常用的标签

    <b>加粗</b>
    <i>斜体</i>
    <u>下划线</u>
    <s>删除</s>
    
    <p>段落标签</p>
    <h1></h1>
    <h2></h2>
    <h3></h3>
    <h4></h4>
    <h5></h5>
    <h6></h6>
    
    <!--换行-->
    <br>
    
    <!--水平线-->
    <hr>
    
    
    # 特殊字符
    空格	&nbsp;
    >	&gt;
    <	&lt;
    &	&amp;
    ¥	&yen;
    版权	&copy;
    注册	&regi;
    
    # div和span
    <div>块级元素</div> 定义块级元素,要换行,并无实际意义,主要通过CSS样式赋予不同表现
    <span>行内元素</span> 定义行内元素,不需要换行,同上
    
    块级元素和行内元素的区别:
    	所谓块元素,是以另起一行开始渲染的元素,行内元素则不需要另起一行,如果单独在网页中插入这两个元素,不会对页面产生任何的影响。
    
    注意:
    	关于标签嵌套:通常块级元素可以包含内联(行内)元素或某些块级元素,但内联元素不	能包含块级元素,它只能包含其他内联元素
    
    p标签不能包含块级标签,p标签也不能包含p标签
    
    
    # img标签
    <img src='图片的路径' alt='图片未加载成功时的提示' title="鼠标悬浮时提示信息" width="宽" height="高(宽高两个属性只用一个会自动等比缩放)">
    
    
    #超链接标签
    
    URL: 
        http://www.sohu.com/stu/intro.html
        http://222.123.22.221.12/stu/intro.html
            
    URL地址由4部分组成:协议、站点地址(域名、IP地址)、页面在站点中的目录(stu)、页面名称(index.html);各部分用"/"符号隔开
    
    
    <a href="http://www.baidu.com" target="_blank">点我</a>
    
    href属性指向URL:绝对路径、相对路径和锚(href="#top"  跳到顶部)
    
    _blank或者_self: 新窗口加载或者在当前页面加载
    
    ##列表
    # 1.无序列表
    <ul type="disc">
    	<li>第一项</li>
    </ul>
    
    #type属性:disc是实心圆点(默认值),circle是空心圆圈,square(实心方块), none(无样式) 
    
    # 2.有序列表
    <ol type="1" start="2">
    	<li>第一项</li>
    </ol>
    #type属性:1数字列表,默认值  A,a,I,i(大小写的罗马数字)
    #start属性:从第几个开始
    
    # 3.标题列表
    <dl>
    	<dt>标题1</dt>
        	<dd>标题数据</dd>
    </dl>
    
    
    ## 表格
    <table>
    	<thead>
        	<tr>
            	<th>序号</th>
    			<th>姓名</th>
                <th>账号</th>
    		</tr>
        </thead>
        <tbody>
        	<tr>
    			<tb>1</tb>
                <tb>michael</tb>
                <tb>1213</tb>
    		<tr>
        </tbody>
    </table>
    
    属性:border:表格边框;cellpadding:内边距;cellspacing 外边距;width 像素百分比;rowspan:单元格竖跨多少行;colspan 单元格横跨多少行;
    
    ## form   (表单)
    """
    功能:
    	表单用于向服务器传输数据,从而实现用户与web服务器的交互
    	包含input系列标签
    	还包括textarea、select、fieldset和label标签
    	
    表单属性(常用的):
    	action: 规定向何处提交表单的地址(URL)(提交页面)
    	method: 规定在提交表单时所用的HTTP方法(默认是GET)
    	enctype: 规定被提交数据的编码(默认是:url-enckded)、如果是上传文件需要将enctype="multipart/form-data"
    	target: 规定action属性中地址的目标(默认:_self)
    
    表单元素:
    	基本概念:HTML表单往往和脚本、动态页面、数据处理等功能相结合,因此它是制作动态网站很重要的内容。
    	表单一般用来收集用户的输入信息
    	工作原理:访问浏览器时,填写必要的信息,然后按某个按钮提交,这些信息通过Internet传送到服务器上。服务器上专门的程序对这些数据进行出来,有错误信息会返回,并要求纠正错误。数据完整无误后,服务器反馈一个输入完成的信息
    	
    """
    """
    type属性值:
    	text--->单行输入文本
    	password--->密码输入框
    	date--->日期输入框
    	checkbox--->复选框
    	radio--->单选框
    	submit--->提交按钮
    	reset--->重置按钮
    	button--->普通按钮
    	hidden--->隐藏输入框
    	file--->文本选择框
    	
    属性说明:
    	name: 表单提交是的“键”;
    	value: 表单提交时对应项的值
    		   type="button", "reset", "submit"时,为按钮上显示的文本年内容
               type="text","password","hidden"时,为输入框的初始值
               type="checkbox", "radio", "file",为输入相关联的值
        checked: radio和checkbox默认选中的项
        readonly: text和password设置只读
        disabled: 所有input均适用,其实也是只读模式,加一个灰色的背景框,然后不能修改
    """
    
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <form action="" method="">
        <div>
        	用户名: <input type="text" name="user" value="123" hidden/>
        </div>
        <div>
        	密码: <input type="password" name="pwd"/>
        </div>
        <div>
        	性别:<input type="radio" name="sex" value="1"/>男
            <input type="radio" name="sex" value="0" checked/>女 
            #默认是女
        </div>
        <div>
        	爱好:<input type="checkbox" name="hobbies" value="bsk" checked/>篮球 #默认是篮球选项
            	<input type="checkbox" name="hobbies" value="sing"/>唱歌
    			<input type="checkbox" name="hobbies" value="jump"/>跳舞
                <input type="checkbox" name="hobbies" value="rap"/>Rap
        </div>
        <div>
        	头像:<input type="file">
        </div>
        <div>
        	<select name="city" id="city" multiple>
            	<option value="1" selected="selected">北京</option> #默认值 可以选择两个
                <option value="2" selected="selected" disabled>上海</option> #默认值 可以选择两个 加了disabled之后就不能选择上海了
             	<option value="3">广州</option>
                <option value="4">深圳</option>
            </select>
        </div>
        <input type="submit" value="登入"/>
        <input type="reset" value="重置"/>
        <input type="button" value="我是按钮"/>
    </form>
    <textarea name="memo" id="memo" cols="30" rows="30">默认内容</textarea>
    </body>
    </html>
    
    """
    select标签:
    	multiple: 布尔属性,设置后为多选,否则默认为单选
    	disabled: 禁用
    	selected: 默认选择该项
    	value: 定义提交时的选项值
    """
    """
    label标签
    定义:<label> 标签为 input 元素定义标注(标记)。
    说明:
    	label 元素不会向用户呈现任何特殊效果。
    	<label> 标签的 for 属性值应当与相关元素的 id 属性值相同。
    <form action="">
    
      <label for="username">用户名</label>
    
      <input type="text" id="username" name="username">
    
    </form>
    """
    
    """
    textarea多行文本
    属性说明:
    	name: 名称
    	rows: 行数
    	cols: 列数
    	disabled: 禁用
    """
    
    
    """
    标签的总结:
    	块级元素:块数大多为结构性标记
    	
            <h1>一级标题</h1>....<h6>六级标题</h6>
            <hr>水平分割线
            <p>段落</p>
            <ul>无序列表</ul>
            <ol>有序列表</ol>
            <dl>定义列表</dl>
            <table>表格</table>
            <form>表单</form>
            <div>块级元素</div>
            
            块级元素:
            	1.总是从新的一行开始
            	2.高度、宽度都是可控的
            	3.宽度没有设置时,默认是100%
            	4.块级元素中可以包含块级元素和行内元素
            
            
         行内元素:行内大多为描述性标记
         	
         	<span>行内元素</span>
         	<a>连接</span>
         	<br>换行
         	<b>加粗</b>
         	<strong>加粗</strong>
         	<img>图片
         	<i>斜体</i>
         	<em>斜体</em>
         	<del>删除线<del>
         	<u>下划线</u>
         	<input>文本框</input>
         	<textarea>多行文本<textarea>
         	<select>下拉列表</select>
         	
         	行内元素:
         		1.和其他元素都在一行
         		2.高度、宽度以及内边距都是不可控的
         		3.宽高就是内容的高度,不可以改变
         		4.行内元素只能包含行内元素,不能包含块级元素
         	
    
    """
    
    
    
    
  • 相关阅读:
    React 之form表单、select、textarea、checkbox使用
    React 事件对象、键盘事件、表单事件、ref获取dom节点、react实现类似Vue双向数据绑定
    React事件方法、React定义方法的几种方式、获取数据、改变数据、执行方法传值
    react综合案例-todolist、localstorage缓存数据
    【剑指offer15】二进制中1的个数(位运算),C++实现
    【剑指offer】10矩阵覆盖
    【剑指offer】09-3变态跳台阶
    【剑指offer】顺时针打印矩阵,C++实现
    【剑指offer】09-2跳台阶,C++实现
    leetcode1143
  • 原文地址:https://www.cnblogs.com/michealjy/p/11651157.html
Copyright © 2011-2022 走看看