设为首页收藏本站
查看: 3337|回复: 1

[前端开发] 009 HTML标签图文详解(二)

[复制链接]
  • TA的每日心情
    开心
    2024-1-13 00:31
  • 签到天数: 535 天

    [LV.9]以坛为家II

    发表于 2021-9-14 22:06:48 | 显示全部楼层 |阅读模式
    框架标签

    如果我们希望在一个网页中显示多个页面,那框架标签就派上用场了。
    >&#160;-&#160;注意,框架标签不能放在<body>标签里面,因为<body>标签代表的只是一个页面,而框架标签代表的是多个页面。于是:<frameset>和<body>只能二选一。
    >&#160;-&#160;框架的集合用<frameset>表示,然后在<frameset>集合里放入一个一个的框架<frame>

    补充:frameset和frame已经从&#160;Web标准中删除,建议使用&#160;iframe&#160;代替。

    <frameset>:框架的集合

    一个框架的集合可以包含多个框架或框架的集合。属性:

    -&#160;rows:水平分割,将框架分为上下部分。写法有两种:

    1、绝对值写法:rows="200,*"&#160;&#160;其中*代表剩余的。这里其实包含了两个框架:上面的框架占200个像素,下面的框架占剩下的部分。

    2、相对值写法:rows="30%,*"&#160;&#160;其中*代表剩余的。这里其实包含了两个框架:上面的框架占30%,下面的框架占70%。

    注:如果你想将框架分成很多行,在属性值里用逗号隔开就行了。

    -&#160;cols:垂直分割,将框架分为左右部分。写法有两种:

    1、绝对值写法:cols="200,*"&#160;&#160;其中*代表剩余的。这里其实包含了两个框架:左边的框架占200个像素,右边的框架占剩下的部分。

    2、相对值写法:cols="30%,*"&#160;&#160;其中*代表剩余的。这里其实包含了两个框架:左边的框架占30%,右边的框架占70%。

    注:如果你想将框架分成很多列,在属性值里用逗号隔开就行了。

    效果:



    上图中,如果删掉页面right.html,显示效果如下:



    <frame>:框架

    一个框架显示一个页面。

    属性:

    -&#160;scrolling="no":是否需要滚动条。默认值是true。
    -&#160;noresize:不可以改变框架大小。默认情况下,单个框架的边界是可以拖动的,这样的话,框架大小就不固定了。如果用了这个属性值,框架大小将固定。

    举例:

    1. <frame&#160;src="top.html"&#160;noresize></frame>
    复制代码


    -&#160;bordercolor="#00FF00":给框架的边框定义颜色。这个属性在框架集合<frameset>中同样适用。
    颜色这个属性在IE浏览器中生效,但是在google浏览器中无效,不知道为啥。

    -&#160;frameborder="0"或frameborder="1":隐藏或显示边框(框架线)。

    -&#160;name:给框架起一个名字。

    利用name这个属性,我们可以在框架里进行超链。

    举例:



    效果:



    内嵌框架

    内嵌框架用<iframe>表示。<iframe>是<body>的子标记。

    内嵌框架inner&#160;frame:嵌入在一个页面上的框架(仅仅IE、新版google浏览器支持,可能有其他浏览器也支持,暂时我不清楚)。

    属性:

    &#160;-&#160;src="subframe/the_second.html":内嵌的那个页面
    &#160;-&#160;width=800:宽度
    &#160;-&#160;height=“150:高度
    &#160;-&#160;scrolling="no":是否需要滚动条。默认值是true。
    &#160;-&#160;name="mainFrame":窗口名称。公有属性。

    效果:



    内嵌框架举例:(在内嵌页面中切换显示不同的压面)

    1. &#160;<body>

    2. &#160;&#160;&#160;&#160;<a&#160;href="文字页面.html"&#160;target="myframe">默认显示文字页面</a><br>
    3. &#160;&#160;&#160;&#160;<a&#160;href="图片页面.html"&#160;target="myframe">点击进入图片页面</a><br>
    4. &#160;&#160;&#160;&#160;<a&#160;href="表格页面.html"&#160;target="myframe">点击进入表格页面</a><br>

    5. &#160;&#160;&#160;&#160;<iframe&#160;src="文字页面.html"&#160;width="400"&#160;height="400"&#160;name="myframe"></iframe>
    6. &#160;&#160;&#160;&#160;<br>
    7. &#160;&#160;&#160;&#160;嘿嘿

    8. &#160;</body>
    复制代码


    效果演示:



    表单标签

    表单标签用<form>表示,用于与服务器的交互。表单就是收集用户信息的,就是让用户填写的、选择的。

    属性:
    &#160;-&#160;name:表单的名称,用于JS来操作或控制表单时使用;
    &#160;-&#160;id:表单的名称,用于JS来操作或控制表单时使用;
    &#160;-&#160;action:指定表单数据的处理程序,一般是PHP,如:action=“login.php”
    &#160;-&#160;method:表单数据的提交方式,一般取值:get(默认)和post

    注意:表单和表格嵌套时,是在<form>标记中套<table>标记。

    form标签里面的action属性和method属性,在《Ajax》课程上给大家讲解。稍微说一下:action属性就是表示,表单将提交到哪里。&#160;method属性表示用什么HTTP方法提交,有get、post两种。

    get提交和post提交的区别:

    GET方式:
    将表单数据,以"name=value"形式追加到action指定的处理程序的后面,两者间用"?"隔开,每一个表单的"name=value"间用"&"号隔开。
    特点:只适合提交少量信息,并且不太安全(不要提交敏感数据)、提交的数据类型只限于ASCII字符。

    POST方式:
    将表单数据直接发送(隐藏)到action指定的处理程序。POST发送的数据不可见。Action指定的处理程序可以获取到表单数据。
    特点:可以提交海量信息,相对来说安全一些,提交的数据格式是多样的(Word、Excel、rar、img)。

    Enctype:
    表单数据的编码方式(加密方式),取值可以是:application/x-www-form-urlencoded、multipart/form-data。Enctype只能在POST方式下使用。

    -&#160;Application/x-www-form-urlencoded:默认加密方式,除了上传文件之外的数据都可以
    -&#160;Multipart/form-data:**上传附件时,必须使用这种编码方式**。

    <input>:输入标签(文本框)

    用于接收用户输入。

    1. <input&#160;type="text"&#160;/>
    复制代码


    属性:

    -&#160;type="属性值":文本类型。属性值可以是:
    &#160;&#160;&#160;&#160;-&#160;text(默认)
    &#160;&#160;&#160;&#160;-&#160;password:密码类型
    &#160;&#160;&#160;&#160;-&#160;radio:单选按钮,名字相同的按钮作为一组进行单选(单选按钮,天生是不能互斥的,如果想互斥,必须要有相同的name属性。name就是“名字”。
    )。非常像以前的收音机,按下去一个按钮,其他的就抬起来了。所以叫做radio。

    &#160;&#160;&#160;&#160;-&#160;checkbox:多选按钮,name&#160;属性值相同的按钮作为一组进行选择。
    &#160;&#160;&#160;&#160;-&#160;checked:将单选按钮或多选按钮默认处于选中状态。当<input>标签设置为type="radio"或者type=checkbox时,可以用这个属性。属性值也是checked,可以省略。
    &#160;&#160;&#160;&#160;-&#160;hidden:隐藏框,在表单中包含不希望用户看见的信息
    &#160;&#160;&#160;&#160;-&#160;button:普通按钮,结合js代码进行使用。
    &#160;&#160;&#160;&#160;-&#160;submit:提交按钮,传送当前表单的数据给服务器或其他程序处理。这个按钮不需要写value自动就会有“提交”文字。这个按钮真的有提交功能。点击按钮后,这个表单就会被提交到form标签的action属性中指定的那个页面中去。

    &#160;&#160;&#160;&#160;-&#160;reset:重置按钮,清空当前表单的内容,并设置为最初的默认值
    &#160;&#160;&#160;&#160;-&#160;image:图片按钮,和提交按钮的功能完全一致,只不过图片按钮可以显示图片。
    &#160;&#160;&#160;&#160;-&#160;file:文件选择框。
    提示:如果要限制上传文件的类型,需要配合JS来实现验证。对上传文件的安全检查:一是扩展名的检查,二是文件数据内容的检查。

    &#160;-&#160;value="内容":文本框里的默认内容(已经被填好了的)

    &#160;-&#160;size="50":表示文本框内可以显示**五十个字符**。一个英文或一个中文都算一个字符。
    注意**size属性值的单位不是像素哦**。

    &#160;-&#160;readonly:文本框只读,不能编辑。因为它的属性值也是readonly,所以属性值可以不写。
    用了这个属性之后,在google浏览器中,光标点不进去;在IE浏览器中,光标可以点进去,但是文字不能编辑。

    &#160;-&#160;disabled:文本框只读,不能编辑,光标点不进去。属性值可以不写。

    >&#160;备注:HTML5中,input的类型又增加了很多(比如date、color,我们会在&#160;html5&#160;中讲到)。

    举例:

    1. &#160;&#160;&#160;&#160;<form>
    2. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;姓名:<input&#160;value="呵呵"&#160;>逗比<br>
    3. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;昵称:<input&#160;value="哈哈"&#160;readonly=""><br>
    4. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;名字:<input&#160;type="text"&#160;value="name"&#160;disabled=""><br>
    5. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;密码:<input&#160;type="password"&#160;value="pwd"&#160;size="50"><br>
    6. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;性别:<input&#160;type="radio"&#160;name="gender"&#160;id="radio1"&#160;value="male"&#160;checked="">男
    7. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<input&#160;type="radio"&#160;name="gender"&#160;id="radio2"&#160;value="female"&#160;>女<br>
    8. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;爱好:<input&#160;type="checkbox"&#160;name="love"&#160;value="eat">吃饭
    9. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<input&#160;type="checkbox"&#160;name="love"&#160;value="sleep">睡觉
    10. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<input&#160;type="checkbox"&#160;name="love"&#160;value="bat">打豆豆
    11. &#160;&#160;&#160;&#160;</form>
    复制代码


    效果:



    注意,多个个单选框的input标签中,name&#160;的属性值可以相同,但是&#160;id&#160;的属性值必须是唯一的。我们知道,html的标签中,id的属性值是唯一的。

    四种按钮的举例:

    1. &#160;&#160;&#160;&#160;<form>
    2. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<input&#160;type="button"&#160;value="普通按钮"><br>
    3. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<input&#160;type="submit"&#160;&#160;value="提交按钮"><br>
    4. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<input&#160;type="reset"&#160;value="重置按钮"><br>
    5. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<input&#160;type="image"&#160;value="图片按钮1"><br>
    6. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<input&#160;type="image"&#160;src="1.jpg"&#160;width="800"&#160;value="图片按钮2"><br>
    7. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<input&#160;type="file"&#160;value="文件选择框">
    8. &#160;&#160;&#160;&#160;</form>
    复制代码


    前端开发工程师,重点关心页面的美、样式、板式、交互。至于数据的提供和比较重的业务逻辑,都是后台工程师做的事情。

    效果:



  • TA的每日心情
    开心
    2024-1-13 00:31
  • 签到天数: 535 天

    [LV.9]以坛为家II

     楼主| 发表于 2021-9-14 22:06:49 | 显示全部楼层
    <select>:下拉列表标签

    <select>标签里面的每一项用<option>表示。select就是“选择”,option“选项”。

    select标签和ul、ol、dl一样,都是组标签。

    <select>标签的属性:

    -&#160;multiple:可以对下拉列表中的选项进行多选。属性值为&#160;multiple,也可以没有属性值。也就是说,既可以写成&#160;multiple="",也可以写成multiple="multiple"。
    -&#160;size="3":如果属性值大于1,则列表为滚动视图。默认属性值为1,即下拉视图。

    <option>标签的属性:

    &#160;-&#160;selected:预选中。没有属性值。

    举例:

    1. &#160;&#160;&#160;&#160;<form>
    2. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<select>
    3. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option>小学</option>
    4. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option>初中</option>
    5. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option>高中</option>
    6. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option>大学</option>
    7. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option&#160;selected="">研究生</option>
    8. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</select>
    9. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br><br><br>

    10. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<select&#160;size="3">
    11. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option>小学</option>
    12. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option>初中</option>
    13. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option>高中</option>
    14. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option>大学</option>
    15. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option>研究生</option>
    16. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</select>
    17. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br><br><br>

    18. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<select&#160;multiple="">
    19. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option>小学</option>
    20. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option>初中</option>
    21. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option&#160;selected="">高中</option>
    22. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option&#160;selected="">大学</option>
    23. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<option>研究生</option>
    24. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</select>
    25. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br><br><br>

    26. &#160;&#160;&#160;&#160;</form>
    复制代码


    效果:



    <textarea>标签:多行文本输入框

    text&#160;就是“文本”,area&#160;就是“区域”。

    属性:

    &#160;-&#160;rows="4":指定文本区域的行数。
    &#160;-&#160;cols="20":指定文本区域的列数。
    &#160;-&#160;readonly:只读。

    举例:

    1. &#160;&#160;&#160;&#160;<form>
    2. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<textarea&#160;name="txtInfo"&#160;rows="4"&#160;cols="20">1、不爱摄影不懂设计的程序猿不是一个好的产品经理。</textarea>
    3. &#160;&#160;&#160;&#160;</form>
    复制代码


    效果:



    上图的红框部分表示,我在文本区域进行了换行,所以显示的效果也出现了空白。


    表单的语义化

    比如,我们在注册一个网站的信息的时候,有一部分是必填信息,有一部分是选填信息,这个时候可以利用表单的语义化。
    举例:

    1. &#160;&#160;&#160;&#160;<form>

    2. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<fieldset>
    3. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<legend>账号信息</legend>
    4. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;姓名:<input&#160;value="呵呵"&#160;>逗比<br>
    5. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;密码:<input&#160;type="password"&#160;value="pwd"&#160;size="50"><br>
    6. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</fieldset>

    7. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<fieldset>
    8. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<legend>其他信息</legend>
    9. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;性别:<input&#160;type="radio"&#160;name="gender"&#160;value="male"&#160;checked="">男
    10. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<input&#160;type="radio"&#160;name="gender"&#160;value="female"&#160;>女<br>
    11. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;爱好:<input&#160;type="checkbox"&#160;name="love"&#160;value="eat">吃饭
    12. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<input&#160;type="checkbox"&#160;name="love"&#160;value="sleep">睡觉
    13. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<input&#160;type="checkbox"&#160;name="love"&#160;value="bat">打豆豆
    14. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</fieldset>

    15. &#160;&#160;&#160;&#160;</form>
    复制代码


    效果:



    <label>标签

    我们先来看下面一段代码:

    1. <input&#160;type="radio"&#160;name="sex"&#160;/>&#160;男
    2. <input&#160;type="radio"&#160;name="sex"&#160;/>&#160;女
    复制代码


    对于上面这样的单选框,我们只有点击那个单选框(小圆圈)才可以选中,点击“男”、“女”这两个文字时是无法选中的;于是,label标签派上了用场。

    本质上来讲,“男”、“女”这两个文字和input标签时没有关系的,而label就是解决这个问题的。我们可以通过label把input和汉字包裹起来作为整体。

    解决方法如下:

    1. <input&#160;type="radio"&#160;name="sex"&#160;id="nan"&#160;/>&#160;<label&#160;for="nan">男</label>
    2. <input&#160;type="radio"&#160;name="sex"&#160;id="nv"&#160;&#160;/>&#160;<label&#160;for="nv">女</label>
    复制代码


    上方代码中,让label标签的for&#160;属性值,和&#160;input&#160;标签的&#160;id&#160;属性值相同,那么这个label和input就有绑定关系了。

    当然了,复选框也有label:(任何表单元素都有label)

    1. <input&#160;type="checkbox"&#160;id="kk"&#160;/>
    2. <label&#160;for="kk">10天内免登陆</label>
    复制代码

    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    红盟社区--红客联盟 

    Processed in 0.061228 second(s), 26 queries.

    站点统计| 举报| Archiver| 手机版| 黑屋 |   

    备案号:冀ICP备20006029号-1 Powered by HUC © 2001-2021 Comsenz Inc.

    手机扫我进入移动触屏客户端

    关注我们可获取更多热点资讯

    Honor accompaniments. theme macfee

    快速回复 返回顶部 返回列表