目录

前言

一、系统结构:

B/S架构:

C/S架构:

二、什么是HTML?

三、HTML的基本语法:

三-1、HTML的基本代码结构:

三-2、HTML的基本标签:

三-3、表格:

三-3-1、表格的基本属性:

三-3-2、合并单元格:

三-3-3、th标签:

三-3-4、thead、tbody、tfoot:

三-4、背景图片:

三-5、图片:

三-6、超链接/热链接:

三-7、列表:

三-7-1无序列表(元素前无序号,用点指示):

三-7-2、有序列表(元素前有序号):

三-7-3、自定义列表:

三-8、表单:

三-8-1、细说表单:

三-8-2、select 标签:

三-8-3、textarea 标签(文本域):

三-8-4、"file"控件:

三-8-5、"hidden"控件:

三-8-6、input 标签的 readonly 和 disabled 属性:

三-8-7、input 标签的 maxlength 属性:

三-9、元素(节点)的id属性:

三-10、div和span:

四、参考文献:



前言

在开始学习之前,先分享一个HTML的一个帮助文档:HTML 系列教程


一、系统结构:

B/S架构:

即Browser/Server。(浏览器/服务器的交互形式)

优点:升级方便,只升级服务器端代码即可。

缺点:网页形式。内容需从服务器端传来较多数据,速度慢,体验好。

C/S架构:

即Client/Server。(客户端/服务器端的交互形式)

优点:软件形式。内容早已大量下载在本地,服务端传来的内容少,速度快,体验好。

缺点:升级麻烦,维护成本高。

二、什么是HTML?

HTML是一种超文本标记语言。由大量的标签组成,每一个标签都有开始标签和结束标签。

HTML后缀名为.html或.htm,直接用浏览器打开即可运行。

三、HTML的基本语法:

三-1、HTML的基本代码结构:

<!--这是html的注释,可多行可单行--><!doctype html>         <!--加上这个表示是HTML5,去掉则为HTML4--><html>         <!--根--><head>         <!--头--><title> 网页的标题,在浏览器左上角展现 </title></head><body>         <!--体--><!--网页的主体内容--></body></html>

( <xxxx> 是开始标签,</xxxx>是结束标签 )

(如果开始标签和结束标签之间没东西,则可以<xxxx/>,一般用在图片<img>)

(HTML语法松散不严格,不区分大小写)

三-2、HTML的基本标签:

段落标记 <p>段落标记</p>

标题字

(1到6,与Word一样,数字越小字体越大)

<h1>标题</h1>、<h2></h2>...
换行 <br> 
横线 <hr>
居中 <center>居中</center>
删除字(字中间一横) <del>删除字</del>
插入字(下划线) <ins>插入字</ins>
粗体字 <b>粗体字</b>
斜体字 <i>斜体字</i>
右上角加字 10<sup>2</sup>
右下角加字 MgCl<sub>2</sub>
字体标签 <font color="red" size="50"> 字</font>          (红色字,大小50)

(br标签和<hr>标签是一个独目标记,无结束标签)

例:

<hr color="red" width="50%">

(color和width是hr标签的属性,表示这条横线是红色的,占屏幕百分之五十)

(横线默认为居中显示)

(因为HTML的语法过于松散,双引号换成单引号,甚至不加都可以运行)

预留格式:

for(int i=0;i<6;i++){System.out.println(“i=”+i);}

如果在html文件中以以上格式输入这串代码,在网页上也只会在一行上显示,因为其中没有换行符<br>。

可以用 <pre></pre> 预留格式。即在编译器里面是什么格式,在网页就什么格式来显示。

示例如下:

<pre>for(int i=0;i<6;i++){System.out.println(“i=”+i);}</pre>

HTML的实体符号:

因为大于小于号会和标签的语法冲突,所以用 &lt; 表示小于号,用 &gt; 表示大于号。

实体符号以&开始,以分号 ; 结束。

等号可以直接写,不与HTML语法冲突。

因为在HTML编译器内两个字间隔一万个空格在网站都只显示一个空格,所以空格用实体符号 &nbsp; 表示。

三-3、表格:

<table></table>表示一个表格,<tr></tr>表示一行,<td></td>表示一个单元格。

三-3-1、表格的基本属性:

        属性写在哪个标签里面就是哪个标签的属性,如align写在<table>内则是整个表格的对齐方式,写在<tr>内则是整行的对齐方式,写在<td>内则是一个单元格的对齐方式。

例(三行三列的表格):

<html><head><title>123456</title></head><body><br><br><br>            <!--让表格下移--><table border="1px" width="60%" align="center">
<!--边框为1像素宽度,表格整体占屏幕60%(优点:可随浏览器边框调整而调整)(也可设为像素宽度,这个自由设置)
--><tr align="center" height="150px"><td>a</td><td>b</td><td>c</td></tr><tr align="center" height="150px"><td>d</td><td>e</td><td>f</td></tr><tr align="center" height="150px"><td>x</td><td>y</td><td>z</td></tr></table></body></html>

三-3-2、合并单元格:

上下单元格合并:

  1. 删下面的<td></td>
  2. 上面的<td></td>使用rowspan语句,即<td rowspan=”2”></td>,”2”表示合并单元格数量为2(超也不可能超出表格的最外层边框)。

左右单元格合并:

  1. 删左边还是右边的单元格这个没要求。
  2. 保留的那个<td></td>使用colspan语句,即<td colspan=”2”></td>,”2”表示合并单元格数量为2(超也不可能超出表格的最外层边框)。

<td colspan="2" rowspan="2"></td> 这种方式是允许的。

三-3-3、th标签:

在单元格的位置,把<td></td>改为<th></th>可以把这个单元格设成表头,自动居中且字体加粗。一般用于表头的制作。

三-3-4、thead、tbody、tfoot:

这三者在表格中不是必须的。

       三个标签必须同时使用!

       作用:

  1. 把一部分表格设为一个整体,这样想整体调整对齐方式的话只需要改一处地方即可。
  2. 在浏览器解析HTML时,table是作为一个整体解释的,使用tbody可以优化显示。如果表格很长,用tbody分段,可以一部分一部分地显示,不用等整个表格都下载完成。下载一块显示一块,表格巨大时有比较好的效果。     

例:

<table border="1px" width="60%" align="center"><thead>      <tr align="center" height="150px"><td>a</td><td>b</td><td>c</td></tr></thead><tbody><tr align="center" height="150px"><td>d</td><td>e</td><td>f</td></tr></tbody><tfoot><tr align="center" height="150px"><td>x</td><td>y</td><td>z</td></tr></tfoot></table>

三-4、背景图片:

使用backgroud语句,放到哪个<>里就是设置哪个的背景图片。

background=”xxxx”   xxxx可以是相对路径,相对于.html文件的路径。

三-5、图片:

使用img标签:

<img xxxxx这里是图片路径等设置xxxxx></img>,

为了方便,图片一般这样写:<img xxx图片路径等相关设置xxx/>

        ( 凡是开始标签和结束标签之间不需要字时,可以只写一个标签<xxxx/> )

src 设置外部图片的路径
width 设置图片宽度,单位一般为px,也可为%
height 设置图片高度,单位一般为px,也可为%
title 设置鼠标悬停时的显示信息。
alt 设置图片加载失败时显示的提示文字

width和height只设置一个,则另一属性等比调整,同时指定,则按指定值调整。

图片格式:

JPEG(JPG):支持的颜色比较多,图片可压缩,但不支持透明,一般用来保存照片等颜色丰富的图片。

GIF:支持的颜色少,只支持简单透明[直线透明边界],支持动态图,一般用于颜色单一或动态图。

PNG:支持的颜色多,并且支持复杂透明,一般用来显示颜色复杂的透明图片。

三-6、超链接/热链接:

示例:    <a href=”www.baidu.com”>百度</a>

因为<a></a>间要写文字,所以不能使用<a/>的格式。

href后的路径可以是网站路径也可以是本地路径(绝对路径、相对路径均可)。

<a></a>间可以是文字,也可以是图片。

示例:

<a href="www.baidu.com"><img src="baidu.jpg" width="120"/></a>

超链接可以设置target属性,可赋值:

_blank 使用新窗口跳转
_self 使用当前窗口跳转(默认)
_top 回到顶级窗口
_parent 回到父窗口

三-7、列表:

常用的列表分为3种,无序列表(使用<ul>标签),有序列表(使用<ol>标签),自定义列表(使用<dl>标签)。

三-7-1无序列表(元素前无序号,用点指示):

<ul><li>中国</li><li>美国</li></ul>

效果:

如果中国以下还想列表,还可以加<ul>和<li>。

如:

<ul><li>中国<ul><li>北京</li><ul><li>颐和园</li><li>故宫</li></ul><li>南京</li></ul><li>美国</ul>

效果:

<ul>有一个type的属性,属性有3个属性值:
        dise--实心圆(默认值)
        circle--空心圆
   square--实心方块
<li>同样适用以上属性,并且优先级高于<ul>

如:

​​​​​​​<ul><li>中国<ul type="circle"><li>北京</li><li type="disc">南京</li><li>上海</li></ul><li>美国</ul>    

效果图:

三-7-2、有序列表(元素前有序号):

<ol><li>水果</li><li>蔬菜</li></ol>

有序列表也可以在原先的基础上继续<ol><li>。

<ol>的type属性有以下5种值:
        1--表示以 1,2,3,4 来表示
   a--表示以 a,b,c,d 来表示
   A--表示以 A,B,C,D 来表示
    i--表示以 i,ii ,iii 来表示
    I--表示以 I,II,III来表示

如:

<ol type="1"><li>植物</li><ol type="A"><li>水果</li><ol type="a"><li>草莓</li><ol type="I"><li>草莓籽</li><ol type="i"><li>圆的</li><li>方的</li></ol><li>草莓PP</li></ol><li>西瓜</li></ol><li>蔬菜</li></ol>  <li>动物</li>
</ol>    

效果:

三-7-3、自定义列表:

以<dl>开始,</dl>结束。列表中每个元素的标题使用<dt></dt>定义,后面跟随<dd></dd>用于描述列表中元素的内容。

如:

<dd><dt>标题1</dt><dd>标题1的具体内容</dd><dt>标题2</dt><dd>标题2的具体内容</dd><dd>标题2的具体内容</dd><dt>标题3</dt><dd>标题3的具体内容</dd>
</dl>

自定义列表也可以在原先的基础上嵌套使用。

效果:

(各类列表都可以相互嵌套组合使用)

三-8、表单:

三-8-1、细说表单:

什么是表单:

作用:收集用户信息

表单标签:        <form></form>           (不是from)

因为表单最终是需要提交数据给服务器的,所以form标签有一个action属性,用来指定服务器地址。如<form action=”xxxxx”></form>

画按钮可以使用input输入域。input有type属性,type属性的值有很多,如button等,但只有submit具有提交表单的能力,即:

<form><input type="submit"/>         <!-- 这里可以使用<xxx/>结构 --></form>

使用<input/>中的value属性可以设置提交按钮上显示的文本。如 value=”登录” ,默认显示“提交”。但此时还不能提交到服务器,须设置name。(往下会讲到)

表单和超链接的区别:

<form action="www.baidu.com"><input type="submit" value="百度"/></form>

点击后就可以跳转到百度。那表单和超链接有什么区别呢?

        表单有收集数据的输入框,超链接没有。因而表单可以收集用户输入数据再提交,超链接只能跳转固定页面(只能提交固定数据)。

input输入域还可以设置其他type值:

  1. type="text"    单行文本框

  2. type="password"     密码框,输入的内容会被遮挡

  3. type="submit"    提交按钮,会向指定服务器地址提交<form</form>内所有输入数据

  4. type="button"     普通按钮

  5. type="reset"       重置按钮,会重置<form></form>内的所有输入数据

  6. type="checkbox"     复选框

  7. type="radio"     单选按钮(单选按钮和复选框需注意,使用细则在后面)

表单可结合表格来使用,以达到整齐的效果。

注意:

       如果想提交内容到服务器,须在input内设置name属性让服务器知道这是什么。

       即:

<input type="text" name="username" />    该文本框输入为用户名<input type="password" name="username" />    该文本框输入为密码

       另外,如果是账号密码输入框,那么<input/>的value不需要程序员来写,用户输入的内容就是value,如果有<input type=”text” name=”username” value=”HYF”/>,那么在用户名的输入框内会显示HYF,如果用户不删除它,那么将会把HYF作为用户名提交到服务器。value有默认值,如果不填则提交一个空字符串。(不是NULL串)

       如果想提交给服务器,都必须设置name属性,包括复选框或者单选按钮!

       但name属性的值是随意的,后端能看得懂就行。

表单是以什么格式提交给服务器的?

         action?name=value&name=value&name=value&name=value……

       action为服务器地址,当按提交按钮后,浏览器会提供这个形式向服务器发送内容。(在地址栏可看到)。后端可提供 & 符号对字符串进行切割,在通过 = 符号对name和value进行切割然后进行其他操作。( 注意此处的name和value只是一个变量名,提交的是name的内容和value的内容,即username=xxxx(用户输入的用户名),userpwd=xxxx(用户输入的密码) )。

        但为了安全,可以在<form>内设置mathod属性,把值post赋值给mathod,注意表单所传递内容就不会显示到地址栏上了。(提交的格式一样)

              <form action="www.baidu.com" method="post">

        不设置method默认为get值,会把用户提交的信息显示到浏览器的地址栏上。(即便是密码框输入的内容也会显示)

      

通过这个形式,我们也可以用超链接来提交数据:

   <a href="www.baidu.com?username=hyf&userpwd=123456">超链接</a>

       超链接是get请求不会是post请求。

复选框type="checkbox" 和 单选按钮type="radio"的使用细则:        !!!!

       例如男和女这两个input,如果要用单选按钮"radio",因为需要提交内容给服务器,所以必须设置name属性,而且两个input的name属性的值须一样,这样浏览器才知道这两个单选按钮是同一组选项,才能达到只选一个的效果,不然即便两个input都是radio,只要name不同,也可以同时选上。

       另外,因为男和女这两个字只是供用户参考,所以type内必须设置value属性提交给服务器让服务器得以区分,value属性的值项目内部人员自己定,可以是0和1。

       再者,因为单选按钮都会默认选中一个,所以在默认选择的那个type内加上checked即可。

       如:

    <input type="radio" name="sex" value="1"/>男<input type="radio" name="sex" value="0"/>女

       同理,复选框type="checkbox"也要设置name和value。需要注意的是,复选框的name可以一致,但因为它是复选框,即便name一致也可以多选。

       复选框type="checkbox" 默认选中的也可以加checked。

代码示例(注册表):

<html><head><title>123456</title></head><body><form action="www.baidu.com"><table><tr><td>账号:</td><td><input type="text" name="username" /></td></tr><tr><td>密码:</td><td><input type="password" name="userpwd"/></td></tr><tr align="center"><td>性别:</td><td><input type="radio" name="sex" value="1" checked/>男&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" name="sex" value="0"/>女</td></tr><tr align="center"><td>爱好:</td><td colspan="1"><input type="checkbox" name="interest" value="sing"/>唱<input type="checkbox" name="interest" value="jump"/>跳<input type="checkbox" name="interest" value="rap"/>Rap<input type="checkbox" name="interest" value="basketball"/>篮球</td></tr><tr align="center"><td>学历:</td><td><select name="grade" style="width: 100"><option value="zk">专科</option><option value="gz" selected>高中</option><option value="bk">本科</option><option value="ss">硕士</option><option value="bs">博士</option></select></td></tr><tr><td>简介:</td><td><textarea rows="5" cols="30" name="synopsis"></textarea></td></tr>                          <tr align="center"><td colspan="2"><input type="reset" value="重置"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="登录"/></td></tr></table></form></body></html>

效果图:

三-8-2、select 标签:

代码示例:

学历:<select name="grade"><option value="zk">专科</option><option value="gz" selected>高中</option><option value="bk">本科</option><option value="ss">硕士</option><option value="bs">博士</option></select>

效果图:

grade是发送给服务器的变量名,zk、gz等是变量值,selected表示默认选项。

三-8-3、textarea 标签(文本域):

代码示例:

简介:<textarea rows="10" cols="60" name="introduce"></textarea>

效果图:

       rows设置框显示的行数,cols设置框显示的列数。name是发送给服务器的变量名,文本框不需要设置value,用户输入的就是value。

三-8-4、"file"控件:

<input type="file" />

上传文件专用。​​​​​​​

效果图:

三-8-5、"hidden"控件:

<input type="hidden" name="xxxxxx" value="xxxxxx"/>

在网页不会显示出来,但在表单提交的时候会一起提交。

但在地址栏能看见.

隐藏的不一定是保密的,有可能只是为了页面美观。

三-8-6、input 标签的 readonly 和 disabled 属性:

两个都是修饰<input>的,且都表示只读(只读value的内容),用户无法修改。(用户可见)

readonly修饰的<input>是白底,disabled修饰的<input>是灰底。

readonly修饰的<input>如果含name属性则它的value会被提交。

disabled修饰的<input>即便含name属性它的value也不会被提交。

用户代码:<input type="text" name="usercode" value="123" readonly><br>用户名称:<input type="text" name="username" value="123" disabled>

三-8-7、input 标签的 maxlength 属性:

maxlength可以限制<input>输入框所输入文本的长度:

<input type="text" maxlength="3" />

修饰后,该文本框最多输入三个字符。

三-9、元素(节点)的id属性:

  1. 在HTML文档中,任何元素()节点都有id属性,如<input>,包括但不限于<head>、<body>,甚至<html>都有id属性。

  2. id属性可以自己命名。

  3. 表单在提交的时候,只和name属性有关,和id无关。

  4. JavaScript可以对HTML文档进行增删改操作,而这都依赖于元素(节点)的id属性。通过id可以对元素(节点)的位置进行快速定位。

  5. id是唯一的,不可以重复。name可以重复。

  6. HTML文档可以看成是一棵树,树上有很多节点,每个节点又可以有很多子节点。这棵树也被称为DOM树。(Document)

<form id=”myform”><input type=”text” id=”username” name=”username” /><input type=”password” id=”userpwd” name=”userpwd” /></form>

三-10、div和span:

       1、div和span是什么?有什么用?

              div和span都可以称为“图层”、“盒子”,可以让页面更灵活地布局。最早是网页是采用table进行布局的,但table太死板了,很难做出好看的页面。现代的网页开发中基本都是采用div布局。

       2、div默认占用一行,span不会。

 

       3、div和span的单位是像素px。

       4、div和span都可以嵌套。

四、参考文献:

HTML表格(table、tr、td、th、thead、tbody、tfoot标签)_拾Miss~博客-CSDN博客_table

img标签_二狗doggy的博客-CSDN博客

HTML列表 - 羽扇轻摇 - 博客园

深入浅出HTML(针对后端攻城狮)相关推荐

  1. 深入浅出CSS(针对后端攻城狮)

    目录 什么是CSS: CSS的注释: 在HTML页面中嵌套使用CSS的三种方式: 第一种方式(内联定义方式): 第二种方式(定义内部样式块对象): 第三种方式(链入外部样式表文件): CSS样式的绝对 ...

  2. 一位Java开发攻城狮的自我修养之项目篇

    攻城狮的自我修养之项目篇 基础知识 Java基础 SpingBoot SpringCloud LeetCode题库 大数据 项目实战 商城系统 权限管理系统 脚手架系统 人事管理系统 论坛系统 博客系 ...

  3. 【致敬未来的攻城狮计划】第1期 作业汇总贴 + 获奖公布

    ​ 文章目录 一.写在前面 二.种子学员介绍 三.作业贴汇总 四.小小总结 五.获奖公布 六.学员有话说 七.特别致谢 一.写在前面 时间过得真快,距离 [致敬未来的攻城狮计划]第1期 的发起,已经过 ...

  4. python怎么把所有标点符号置空_Python从小白到攻城狮(1)——python环境搭建

    我的微信公众号:代码视界,欢迎关注. Python介绍 Python是Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言,1991年发布第一版. Pyth ...

  5. 【网易云信招聘啦】216位攻城狮,呼唤7个好基友

    Hi,猿 过年了 年终奖拿了没 老板给加薪没 耿耿于怀的你 是否各种隐忍沮丧 以下代表,你属于哪一个? 猿A 公司是创业公司,还未盈利,为了产品上线,付出很多,能力提升了很多.不过,项目不赚钱,没人在 ...

  6. Fiddler无所不能——之测试开发攻城狮必备神器

    fiddler官网 https://www.progress.com/ 官网下载fiddler  https://www.telerik.com/download/fiddler/fiddler4 f ...

  7. 活动报名 | 前端攻城狮该怎样跳脱“围城”的焦虑

    活动报名 | 前端攻城狮该怎样跳脱"围城"的焦虑 原创: 京小云 京东云开发者社区  4天前 作为WEB2.0的产物,前端工程师这一相对较新的职业俨然变成了一颗?一样的存在--丰富 ...

  8. 关于那些最好玩的户外APP合集下(适合资深驴友、牛逼设计狮、装逼攻城狮)...

    本文会陆续分享分析全国最好的30个户外APP(下载量均至少在30万级别以上),希望能给户外爱好者.Ui设计狮.户外APP开发攻城狮一些启示. 关于那些最好玩的户外APP合集上(适合资深驴友.牛逼设计狮 ...

  9. 秋招攻略—如何成为一名图像算法攻城狮(上篇)—知识学习篇

    秋招攻略-如何成为一名图像算法攻城狮(上篇)-知识学习篇 从6月份开始一直到现在,5个月的秋招历程让我成长了许多,最终收到了华为.荣耀.vivo.科大讯飞.奥比中光.汇川等10余家公司的图像算法off ...

最新文章

  1. SAP QM 模块主数据
  2. 洛谷 1351 联合权值
  3. 商丘网络推广分析网站留不住用户的原因及SEO解决方法
  4. 下列代码之后的结果为()?
  5. leetcode322. 零钱兑换
  6. python 字符串赋值操作(分别使用三 种分隔符),Python学习笔记(3)字符串,python,三...
  7. 互联网公司2014前端笔试面试题:HTML/CSS篇
  8. *.sln和*.suo文件的作用
  9. 微信二次修改微信号_微信正测试微信号修改功能:一年只有一次机会
  10. mvn dependency命令
  11. SDOD: Real-time Segmenting and Detecting 3D Objects by Depth(实时3D检测与分割)
  12. java 避免gc_减少JAVA GC
  13. python如何计数while循环次数_While循环计数
  14. 拼多多校招编程题--大整数相乘(Java实现)
  15. mysql-8.0.16-winx64_mysql-8.0.16-winx64的最新安装教程
  16. 1.OCR--文本检测算法FCENet
  17. CSP201803-4棋局评估
  18. arcgis中python坡度计算_ArcGIS坡度计算
  19. 百度在线html,百度编辑器-Ueditor
  20. Java Web中用Servlet编写简易计算器

热门文章

  1. leetcode Sum 系列----寻找和为定值的多个数
  2. 学籍管理软件是计算机的什么应用,学籍管理中计算机信息管理的应用
  3. Laravel常驻进程内存泄漏
  4. postgresql Mybatis 序列自增
  5. 计算机怎样升win10,如何升级Win10 Win7升级到Win10图文教程
  6. java获取当前日期 前后 几个月的 日期期间 往前 2个月 往后 2个月
  7. OpenJudge-2152:Pots
  8. 梦想汽车 NFT 系列
  9. 贾俊平-第四章:数据的概括性度量
  10. 96年的小同事找了一份高薪工作