HTML

发布时间 2024-01-13 11:55:57作者: lsslcj

1、HTML概述

1.1 HTML的基本结构

<!DOCTYPE html><!--!表示申明的意思,这一行表明下面文档标签以html5规范去解析-->
<html>
    <!--1.头部,主要用来完成一个网页的相关设置的.-->
	<head>
        <meta charset="utf-8"><!--支持汉字编码--><!--meta:元,完成对应设置-->
        <meta name="keywords" content=""><!--设置一个网站的搜索关键字-->
        <meta name="description" content=""> <!--网站的描述内容,都写在content里-->
        <title>我的第一个网页</title><!--标题-->
        <link rel ="shortcut icon" href="favicon.ico",type="image/x-icon"><!--设置网站小图标-->
        <!--href为图标地址,type为类型png,则把x-icon改为png-->
        <style>
            //书写样式的地方
        </style>
        <link rel="stylesheet" href = "style.css"><!--用来引入外部样式文件-->
    </head>
    <!--2.主体部分-->
    <body>
    	<p>这是一个段落</p>
    </body>
    <script>
    	<!--放脚本语言,可以放在body里面--> 
    </script>
</html>

1.2 HTML的基本标签

<!--!+tab或html:5+tab会自动生成文档结构-->

<html lang="en">
<head>
    <meta charset="utf-8" >
    <title></title>
</head>
<body>
	<!--1.div:用来布局的,没有具体含义,层-->
    <div>
       Alpha
        <div>Beta</div>
    </div>
    <!--2.hx:标题,从1级到6级,1级最大,会自动加粗,有默认字号-->
    <h1>中国</h1>
    <h2>四川</h2>
    <h6>宜宾</h6>
    <!--3.p:表示段落。相当于一个回车。-->
   <p>古德里安:我是闪电战创始人,28天灭亡波兰。</p>
	<p>曼施坦因:我在哈尔科夫10万残兵击败了苏军50万精锐。</p>
	<p>朱可夫:我以列宁格勒一座城市坚守900天,最后反攻取得全面胜利。</p>
	<p>麦克阿瑟:我是西点军校第一名。</p>
   	<!--4.br,换行,p标签一般表示一段连续的文字,p内的换行通过br实现,并不成对出现-->
    <p>你觉得<br />你能<br />杀!死!我?! </p>
    <!--5.hr:生成一条水平线,主要起装饰作用。单标签,最好闭合(加上/)-->
    <hr/> <hr width="80%" align="center" color ="red" height="2px"/><!--默认为100%,黑色,1px-->
    <!--6.a:实现超文本链接-->
    <a href="http://baidu.com" title="百度" target="_blank">百度</a>
    	<!--href是跳转地址,title是鼠标放上去的提示,target有4个参数:
			1、_blank 打开一个新页面
			2、_self 把当前页面变为跳转结果
			3、_parent 使得文档载入父窗口或者包含来超链接引用的框架的框架集
			4、_top	使得文档载入包含这个超链接的窗口,将会清楚所有被包含的框架并将文档载入整个浏览器窗口
		-->
    <!--7.img:用来加载图片、图像。src:图片图像路径,alt:加载失败时显示的内容,title:鼠标移上去的提示文字-->
    <img src="" alt="" title=""/>
    <!--8.span:与div一样,用于布局,不过div会单独占一行,span不会,用于行内布局-->
    <div>div1</div>
    <div>div2</div>
    <span>span1</span>
    <span>span2</span><!--不会换行,中间空一格-->
    <!--9.ul/ol:前者是无序列表,后者是有序列表,列表内容都使用li标签,ul前面是黑点,ol有序号-->
    <ul>
        <li>li1</li>
        <li>li2</li>
        <li>li3</li>
    </ul>
    <!--注释快捷键为:Ctrl+Shift+/ -->
</body>
</html>

1.3标签

1.3.1 标签属性

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <!--标签属性:
		1、通常由属性名=属性值组成
		2、起附加信息的作用
		3、不是所有标签都有属性,比如br标签
	-->
    <p title="段落" class="content" id="content">这是一个测试段落</p>
</body>
</html>

1.3.2 文本格式化标签

<!DOCTYPE html>

<html lang="en"
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
 	<!--文本格式化标签:通过标签来美化文本外观-->
    <!--1.b和strong:加粗作用,且都是行级标签(不换行)但strong还有强调作用。强调主要用于SEO,便于提取关键字-->
    <b>加粗</b>
    <strong>加粗且强调</strong>
   	<!--2.i和em:使文字倾斜,em具有强调作用,行级标签,如果只是简单的倾斜效果,用i就可以,比如添加图标-->
    <i>倾斜</i>
    <em>倾斜且强调</em>
    <!--3.pre:预格式化文本,保留换行和空格及宽度,字号是小一号,块级标签,独占一行,且识别宽高=-->
    <pre>预格式化文本,保留
    	换行   和    空格</pre>
    <!--4.small和big:缩小或放大一号,行级标签-->
    <!--浏览器支持的最小字号为12px,再小需要做处理-->
    <small>小一号</small>
    <big>大一号</big>  <!--被淘汰了,但还是能用,尽量别用。使用CSS来规定文本大小-->
    <!--5.sub和sup:设置文本为下标和上标-->
    <p>X1+X2=Y</p>
    <p>下标:X<sub>1</sub>+X<sub>2</sub>=Y</p>
    <p>上标:X<sup>2</sup>+Y<sup>2</sup>=Z<sup>2</sup></p>
</body>
</html>

1.3.3 单双标签

单标签:由一个标记组成,一定要闭合。例如

换行符:<br/>
水平线:<hr/>
图片标签<img/>
文本标签<input/>
link标签<link/>
元信息标签<meta/>

双标签:由“开始标签”和“结束标签”两部分构成,必须成对使用。

<html>、<head>、<title>、<body>、<table>、<span>、<div>、<p>、<h1>等

1.3.4 实体转义

以&开头,;结束

符号 转义符号
小于号 & lt;
大于号 & gt;
& amp;
空格 & nbsp;
版权 & copy;
乘号 & times;
除号 & divide;

1.4 HTML块级元素和行内元素

1.4.1 块级元素

​ 块级元素会独占一行,其宽度自动填满其父元素宽度,一般情况下,块级元素可以设置width,height属性,一般用来搭建网站架构、布局、承载内容.....如果没有设置宽度,则默认铺满整行,其内可以包含块级和行级元素。相当于执行display:block操作

<address>、<dir>、<div>、<dl>、<dt>、<dd>、<fieldset>、<form>、<h1>、<hr>、<menu>、<noframes>、<ol>等

1.4.2 行内元素

​ 行内元素不会独占一行,相邻的行内元素会排列在同一行里,直到一行排列不下才会换行,其宽度随元素的内容而变化,行元素设置widthheight无效。一般用在网站内容之中的某些细节或部位,用以“强调、区分样式、上标、下标、锚点"等等。宽度和高度是不可控的,其内只有行级元素。相当于执行display:inline操作

<a>、<b>、<bdo>、<small>、<br>、<cite>、<em>、<font>、<img>、<input>、<label>、<sub>等

1.4.3 相互转换

<!--1.块级标签转换为行级标签:-->
<!--inline转换为行级标签,宽高标签失效-->
<p style ="width:300px; height:50px; background:gray; display:inline">TEST</p>
<!--2.行级标签转换为块级标签-->
<span style ="width:300px; height:50px; background:blue; display:block">TEST</span>

1.5W3C规范

1.5.1 W3C

​ 万维网联盟(World Wide Web):一个国际性的中立组织,专门负责统一web相关的各项标准。

​ W3C标准由结构、表现和行为三部分组成

1.5.2 标签嵌套规则

1.块级元素可以包含内联元素(行内元素)或某些块级元素,但内联元素不能包含块元素,它只能包含其他内联元素
<div><h1></h1><p></p></div> 正确
<a href="#"><span></span></a> 正确
<span><div></div></span> 错误
2.块级元素不能放在<p>里面
<p><ol><li></li></ol></p>  错误
<p><div></div></p>  错误
3.几个特殊的块级元素只能包含行内元素,不能再包含块级元素:
<h1>、<h2>、<h3>、<h4>、<h5>、<h6>、<p>、<dt>
4.块级元素与块级元素并列,行级元素与行级元素并列
<div><h2><p></p></h2></div>  正确
<div><a href="#"></a><span></span></div> 正确
<div><h2></h2><span></span></div>  错误

1.5.3 HTML语义化标签

1、语义化,即明白每个标签的用途,再什么情况使用这个标签才合理

例如:网页上的文章标题可以用h1h6,各个栏目的名称也可以使用h1h6,文章中内容的段乱就得放在 段落标签p 中,再文章中由想强调的文本,就可以使用em标签表示强调等。

2、好处:更容易被搜索引擎收录,更容易让阅读器读出网页内容,能更好的体现页面的主题,兼容性更好

3、HTML语义化标签

1)< a>标签:实现超链接

强调:title属性的作用,鼠标滑过链接文字时会显示这个属性的文本内容。很有用

2< p>标签:文章段落放到

标签中

3)< hx>标签:文章标题,栏目标题用表示

4)< strong> 和< em>标签:特别强调某几个文字

5)< q>标签:短文本引用。注意引用的文本不用加双引号,浏览器会对q标签自动添加双引号

6)< address>标签:为网页加入地址信息

7)< ul>和< ol>标签:无序列表和有序列表

8)< caption>标签:为表格添加标题和摘要,摘要的内容不会在浏览器中显示出来,作用时增加表格的可读性,使搜索引擎更好的读懂表格内容,还可以使屏幕阅读器更好的帮助特殊用户读取表格内容。

1.6 企业规范

1、项目中文字或目录名中不能出现汉字和空格之类的其它符号,文件和目录名一般以字母或下划线开头_

页面 命名规范
首页 index.html
公司介绍 about.html
新闻列表 news.html
新闻详情页 news_details.html
产品列表 product.html
产品详情页 pre_details.html
联系我们 contact.html

2、HTML标签属性

2.1 HTML标签属性

标签由标签名、标签属性和文本内容组成 (单标签没有文本内容)

标签属性是对标签的一种描述方式:

2.1.1 通用属性:所有标签都有的属性

  • id:用来给标签起一个唯一的名称
  • class:用来给标签取一个类名,可以用来操作一批标签
  • style:用来设置该标签的行内样式。
  • title:当鼠标移到该标签上,所显示的提示内容
<html lang="en"
<head>
    <meta charset="utf-8" />
    <title>标签通用属性</title>
</head>
<body>
    <!--id:给标签取一个标识名-->
    <p id="p1">段落</p>
    <p id="p2">段落</p>
    <!--class:给一组标签取一个类名-->
    <div class="test">div</div>
    <p class="test">p</p>
    <!--style:用来设置当前标签的样式,也叫行内样式-->
    <p style="color:red;width:200px;border:1px solid #00f;">这是一次测试</p>//蓝色边框,红色文字
    <!--title:给当前标签一个提示文本-->
    <p title="111414">title标签属性测试</p>
</body>
</html>

2.1.2 自定义标签属性:通常用来传值或用于图片懒加载等封面

​ 格式:data-*

<img data-src="path" alt="fault"  /> <!--图片懒加载,到可视区域时,才把src取出来-->
<p data-id="goodsid">...</p>

3、自有属性

2.2 table表格

table主要用于呈现格式化数据。表格是由行和列组成。

2.2.1 表格属性:

  • border:设置表格边框,值为边框宽度,默认单位时像素
  • width:设置表格宽度,默认单位是像素
  • align:设置表格对齐(left(默认)/center/right)
  • cellpadding:设置单元格间距,单元格文本与
  • cellspacing:设置像素间隙,单元格边框间距
<table border="1" width="400" cellspaceing="0" cellpadding="10" align="center">
    <tr>//行
    	<th>学号</th>//表头,自动加粗居中
        <th>姓名</th>
        <th>住址</th>
    </tr>
    <tr>
    	<td>007</td>//列
        <td>零零漆</td>
        <td>北京</td>
    </tr>
    <tr>
    	<td>214</td>//列
        <td>两仪式</td>
        <td>日本</td>
    </tr>
</table>

2.2.2 跨行跨列属性

跨行rowspan属性,合并行:

<tabel border="1" width=500 align=center>
	<tr>
    	<td rowspan="2" align="center" valign="middle"></td><!--valign:top,middle默认,bottome=-->
        <td></td>
        <td rowspan="3"></td>
    </tr>
	<tr>
    	<!--<td></td> 被第一行第一个合并了-->
        <td></td>
        <!--<td></td>  被第一行第三个合并了-->
    </tr>
	<tr align="center"><!--整行居中,合并后会失效-->
    	<td></td>
        <td></td>
        <!--<td></td>  被第一行第三个合并了-->
    </tr>
</tabel>

跨列colspan属性,合并列:

<tabel border="1" width=500 align=center>
	<tr>
    	<td></td>
        <td colspan="2" align ="center"></td>
        <!--<td ></td> 被(1,2)合并-->
    </tr>
	<tr>
    	<td></td>
        <td></td>
        <td></td>
    </tr>
	<tr>
    	<td colspan="3" align="right"></td>
        <!--<td></td> 被(3,1)合并-->
       <!--<td></td> 被(3,1)合并-->
    </tr>
</tabel>

2.2.3 完整表格属性

​ 一个完整table表格一般包含< caption>< thread>< tbody>< tfoot>元素结合,用来规定表格的各个部分(标题、表头、主体、页脚)。

  • < thead>标签用于组合HTML表格的表头内容
  • < tbody>标签用于组合HTML表格的主体内容
  • < tfoot>标签用于组合HTML表格的页脚内容
<table border="1" width="600" align = "center">
    <caption>学生信息表</caption>
    <thead>
        <tr>
        <th>学号</th>
        <th>姓名</th>
        <th>家庭住址</th>
        <th>备注</th>
        </tr>
    </thead>
    <tbody>
         <tr>
         <!--按住Ctrl,鼠标点击后,松开Ctrl可进行连写-->
        <td align="center">001</td>
        <td>Tom</td>
        <td>格林伍德</td>
        <td>普通留学生</td>
        </tr>
         <tr>
        <td align="center">002</td>
        <td>Nigger*</td>
        <td>刚果</td>
        <td>非洲留学生</td>
        </tr>
         <tr>
        <td align="center">002</td>
        <td>李华*</td>
        <td>北京</td>
        <td>正黄旗</td>
        </tr>
    </tbody>
    <tfoot>
    <tr>
    	<td colspan="4" >附注:*为优秀学生</td>    
    </tr>
    </tfoot>
</table>

2.3 form表单:核心标签

form是用来实现前后端交互的一个重要标签。

2.3.1 表单属性

常用属性:

  • name:表单名称
  • action:表单数据提交的地方(通常是一个文件名(.jsp/.php.asp/.aspx/.py/)或网址),如果是#表示提交到当前文件
  • method:前端提交数据到后端的方法,主要有:get和post,默认的是get,ger会将输入信息暴露在地址栏,post则不会
<form name="stuInfo" action="#" metond="get">
    <input type="submit">
</form>

2.3.2 表单元素

表单元素的有:

1)< input>:输入类,根据不同的type属性,可以变化为多种状态输入方式。

<!--1.文本框-->
<input type="text"/>:定义供文本输入的单行输入字段,默认值
	属性:placeholder(提示)/name(命名)/minlength和maxlength(最少/多输入的字符个数)/disabled(失效)/readonly(只读)/value(初始值)/pattern(正则匹配)
<!--2.密码框-->
<input type="password"/>:定义密码字段,属性与text一样,效果是输入以星号显示
<!--3.单选钮-->
定义单选按钮,通常两项以上,属性:name(必须有)/value/checked(选中)/disabled(失效)/readonly
<input type="radio" name="sex" checked/>男<!--默认选中男-->
<input type="radio" name="sex"/>女<!--同一name下的radio会排斥,所以必须有name才能正常起作用-->、、
<!--4.复选框/检查框--> 选择0项、1项或多项
<input type="checkbox" name = hobby/>打搅
<input type="checkbox" name = hobby/>睡觉
<input type="checkbox" name = hobby/>其他
<!--5.文件上传按钮-->
<input type="file"/>
<!--6.普通按钮--> 通常用它取调用脚本代码
<input type ="button" value="登录" disabled /> 定义普通按钮
常用属性:value(按钮的标题)/disabled(失效)
<!--7.图片按钮-->
	用法与button一样,特殊属性:src(用来加载提示图片,用来替换了value)
<input type="image" src=“” title="刷新"/>
	有提交功能,与sumbit功能一样
<!--8.提交按钮-->
<input type = "submit" value="" disabled/>:定义提交表单数据至表单处理程序的按钮
<!--9.重置按钮-->
<input type="reset" value="" disabled/>将表单所有组件输入的内容全部清空,还原为初始状态

2)< textarea>

​ 文本域(也可以叫多行文本框),用于输入大批量的内容

​ 常用属性:name/id/cols/rows/placeholder/minlength/maxlength/required(必须输入)/value

<textarea name="" id="" cols="30" rows="10" placeholder></textarea>

3)< select>

​ 下拉列表框,默认用于单项选择,用option呈现每一个选项

<form action="">
    <label for="course">选课:</label>
    <select id="course" multiple size=""><!--multiple控制多选,size控制列表的大小-->
        <option value="语文">语文</option>
        <option value="数学">数学</option>
        <option value="计算机">计算机</option>
        <option value="其他">其他</option>
    </select>
</form>

4)< button>

​ 普通按钮,具体提交功能,可以单独使用,不写在form元素中;如果写在form中,就有提交功能

<button id="btnOk">确认</button><!--主要用来调用js代码-->
<form action="test.aspx">
    <input type="text" name="info">
    <button>提交</button><!--这里的button的共嗯那个与input的submit按钮功能一样-->
</form>

2.4 iframe

框架集,是用来将多个网页文件组合成一个文件。

常用属性:

  • name:框架名

  • src:引入的外部html文件

  • scrolling:滚动条(yes/no/auto)

  • width:宽度(%/px)

  • height:高度(%/px)

  • frameborder:是否有边框

  • marginheight:框架离顶部和底端的距离(%/px)

  • marginwidth:框架离左右的距离(%/px)

    注意:在实际开发中,尽量减少使用iframe,因为它破坏了前进和破坏的功能,且不利于搜索。

    <!DOCTYPE html>
    
    <html lang="en"
    <head>
        <meta charset="utf-8" />
        <title>我的网站</title>
    </head>
    <body>
        <!--src内的html不需要从头开始写-->
        <!--banner-->
        <iframe src="iframe/banner.html" scrolling="no" width="100%" frameborder="0"></iframe>
        <!--导航-->
        <iframe src="iframe/banner.html" scrolling="no" width="30%" frameborder="0"></iframe>
        <!--核心内容区-->
        <iframe src="iframe/banner.html" name ="main" scrolling="no" width="70%" frameborder="0"></iframe>
        <hr wid/>
    </body>
    </html>
    

K.模板

<!DOCTYPE html>

<html lang="en"
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <hr wid/>
</body>
</html>