|
Web-第二天 HTML表单&CSS【悟空教程】86
发表时间:2018-11-07 13:07来源:Java帮帮-微信公众号 HTML表单&CSS今日内容介绍
今日内容学习目标
今日学习标签总览
第1章 网站用户注册页面显示1.1 案例介绍所有的html标签中,表单标签是最重要的。在实际开发中,最经典的实例就是用户注册,覆盖了表单标签的所有的元素。效果图如下: 1.2 相关知识点本案例中使用的标签如下:
1.2.1 表单相关标签1.2.1.1 表单标签:<form><form> 表单标签,在html页面创建一个表单,表单标签在浏览器上没有任何显示。如果数据需要提交到服务器,负责搜集数据的标签必须存放在表单标签体内容。
<body> <!--表单--> <form action="" method=""> <!--此处的内容可能被提交到服务器--> </form> <!--此处的内容在<form>标签外部,此处数据不能提交到表单--> </body> 1.2.1.2 输入域标签 :<input>
因为不同项目注册需要的字段不同,需要完成的案例中没有覆盖所有的表单元素,以下标签使用也需要大家掌握。
1.2.1.3 下拉列表标签: <select><select> 下拉列表。可以进行单选或多选。需要使用子标签<option>指定列表项 name属性:发送给服务器的名称 multiple属性:不写默认单选,取值为“multiple”表示多选。 size属性:多选时,可见选项的数目。 <option> 子标签:下拉列表中的一个选项(一个条目)。 selected :勾选当前列表项 value :发送给服务器的选项值。
1.2.1.4 文本域标签: <textarea>
1.2.1.5 按钮标签: <button> (了解)
1.2.2 什么是divdiv就是html一个普通标签,进行区域划分。特性:独自占一行。独自不能实现复杂效果。必须结合CSS样式进行渲染。 div通常其是块级元素
1.2.3 CSS的概述1.2.3.1 CSS是什么CSS 通常称为CSS样式或层叠样式表,主要用于设置HTML页面中的文本内容(字体、大小、对其方式等)、图片的外形(高宽、边框样式、边距等)以及版面的布局等外观显示样式。 CSS可以是HTML页面更好看,CSS色系的搭配可以让用户更舒服,CSS+DIV布局更佳灵活,更容易绘制出用户需要的结构。
1.2.3.2 CSS名词解释CSS (Cascading Style Sheets) :指层叠样式表 样式:给HTML标签添加需要显示的效果。 层叠:使用不同的添加方式,给同一个HTML标签添加样式,最后所有的样式都叠加到一起,共同作用于该标签。
1.2.3.3 CSS样式规则使用HTML时,需要遵从一定的规范。CSS亦如此,要想熟练的使用CSS对网页进行修饰,首先需要了解CSS样式规则。具体格式如下 选择器{属性1:属性值;属性2:属性值;..} 在上面的样式规则中,“选择器”用于指定CSS样式作用的HTML对象,花括号内是对该对象设置的具体样式。属性和属性值以键值对方式出现,使用英文冒号“:”分隔。多个属性之间使用英文分号“;”分隔。例如: <style> h2{ color:red; font-size:100px; } </style> 初学者在书写CSS样式时,除了要遵循CSS样式规则,还必须注意CSS代码结构中的几个特点,具体如下:
p { font-family:"Times New Roman";}
/* 这是CSS注释文本,此文本不会显示在浏览器窗口中 */
h1{ font-size:20px; color:red; } 和 h1{ /* 定义字体大小属性*/ font-size:20px; /* 定义颜色属性 */ color:red; }
/* 20和单位px之间有空格 */ h1{ font-size:20 px; }
1.2.3.4 引入CSS样式CSS使用非常灵活,及可以嵌入在HTML文档中,也可以是一个单独的文件,如果是单独的文件,则必须以.css为扩展名。CSS和HTML的结合3种常用方式: 1) 行内样式 行内样式,是通过标签的style属性来设置元素的样式。 <!--方式1:行内样式 color : 表示字体颜色 font-size : 表示字体大小 --> <a style="color: #f00; font-size: 30px;">Java帮帮</a> 行内样式通过标签的属性来控制样式,这样并没有做到结构与表现(HTML展示结构、CSS显示效果)相分离,所以一般很少使用。学习阶段有时候为了快速编程,偶有使用。 2) 内部样式 内部样式又称为内嵌式,是将CSS代码集中卸载HTML文档的<head>头部标签体中,并且使用<style>标签定义。 给当前html文件中的多个标签设置样式。 在html的<head>标签中使用<style>标签来定义CSS <!--方式2:内部样式 background-color : 表示背景色 --> <style type="text/css"> body{ background-color: #ddd; } </style> 内嵌式CSS样式只对其所在的HTML页面有效,可以对多处标签统一设置样式,因此,仅设计一个页面时,使用内嵌式是个不错的选择。但如果是一个网站,不建议使用这种方式,因为他不能充分发挥CSS代码的重用优势。
3) 外部样式 外部样式又称为链入式,是将所有的样式放在一个或多个以.css为扩展名的外部样式表文件中,通过<link>标签将样式连接到HTML文档中。 <!--方式3:外部样式 rel="stylesheet" ,固定值,表示样式表 type="text/css",固定值,表示css类型 href ,表示css文件位置 font-family 表示使用的字体系列,多个字体使用逗号分隔。例如:“字体1,字体2,字体3”,此时优先使用“字体1”,如果“字体1”系统不存在,再使用“字体2”,以此类推。 --> <link rel="stylesheet" type="text/css" href="css/demo00.css"/>
链入式最大的好处是同一个CSS样式表可以被不同的HTML页面链接使用,同时一个HTML页面也可以通过多个<link />标记链接多个CSS样式表。
优先级
1.2.4 选择器要想将CSS样式应用于特定的HTML元素,首先需要找到该目标元素。在CSS中,执行这一任务的样式规则部分被称为选择器,本小节将对CSS基础选择器进行详细地讲解,具体如下: 1.2.4.1 元素选择器标记选择器是指用HTML标记名称作为选择器,按标记名称分类,为页面中某一类标记指定统一的CSS样式。其基本语法格式如下: 标记名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 该语法中,所有的HTML标记名都可以作为标记选择器,例如body、h1、p、strong等。用标记选择器定义的样式对页面中该类型的所有标记都有效。 例如: h1{ color: #F00; font-size: 50px; } <h1>Java帮帮</h1> 标记选择器最大的优点是能快速为页面中同类型的标记统一样式,同时这也是他的缺点,不能设计差异化样式。 1.2.4.2 ID选择器id选择器使用“#”进行标识,后面紧跟id名,其基本语法格式如下: #id名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 该语法中,id名即为HTML元素的id属性值,大多数HTML元素都可以定义id属性,元素的id值是唯一的,只能对应于文档中某一个具体的元素。 例如: #demo1{ color:#0f0; } <h1 id="demo1">Java帮帮</h1> “标签选择器”和“id选择器”共同作用的效果 1.2.4.3 类选择器类选择器使用“.”(英文点号)进行标识,后面紧跟类名,其基本语法格式如下: .类名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 该语法中,类名即为HTML元素的class属性值,大多数HTML元素都可以定义class属性。类选择器最大的优势是可以为元素对象定义单独或相同的样式。 例如: .myClass{ font-size: 25px; } <h1>Java培训</h1> “标签选择器”和“类选择器”共同作用的效果 类选择器的高级用法:给指定的标签设置class样式 标签.类名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
1.2.4.4 扩展:属性选择器属性选择器,在标签后面使用中括号标记,其基本语法格式如下: 标签名[标签属性=’标签属性值’]{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 该选择器,是对“元素选择器”的扩展,对一组标签进一步过滤。 例如: <style> input[type="text"]{ background-color: yellow; } input[type="password"]{ background-color: green; } </style>
1.2.4.5 扩展:包含选择器包含选择器,两个标签之间使用空格,给指定父标签的后代标签设置样式,可以方便在区域内编写样式。 父标签 后代标签{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 该选择器,是对“元素选择器”的扩展,对一个标签内部所有后代标签进行过滤。 <style> #d1 div{ color: red; } </style>
1.2.5 CSS的样式:1.2.5.1 边框和尺寸:border、width、height
<style type="text/css"> div{ border:1px solid #000; /*1像素,实边,黑色*/ width:200px; height:200px; } </style>
1.2.5.2 转换:displayHTML提供丰富的标签,这些标签被定义成了不同的类型,一般分为:块标签和行内标签。
在开发中,希望行内元素具有块元素的特性,需要使用display进行转换 选择器{display:属性值} 常用的属性值: inline:此元素将显示为行内元素(行内元素默认的display属性值) block:此元素将显为块元素(块元素默认的display属性值) none:此元素将被隐藏,不显示,也不占用页面空间。 例如: <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> span{ border :1px solid #000; width:100px; height:40px; } </style> </head> <body> <!--默认显示一行,边框环绕,高宽没有作用--> <span>显示1-1</span> <span>显示1-2</span> <!--每一行显示,高宽有作用--> <span style="display: block;">显示2-1</span> <span style="display: block;">显示2-2</span> </body> </html>
1.2.5.3 字体:color、font-sizecolor:颜色,字体颜色 例如: <div style="height: 50px;width:200px;border:1px solid #000;"> <a href="">点击</a> <a href="" style="text-decoration: none;">点击</a> </div> <div style="height: 50px;width:200px;border:1px solid #000;"> <a href="" style="line-height: 50px;">点击</a> <a href="" style="color: red;">点击</a> </div>
1.2.5.4 背景色:background-color<ul style="background-color: #999;color: #FFF;"> <li>点击</li> <li>点击</li> <li style="background-color: #000;">点击</li> <li>点击</li> </ul>
1.2.5.5 布局:float、clear通常默认的排版方式,将页面中的元素从上到下一一罗列,而实际开发中,需要左右方式进行排版,就需要使用浮动 选择器{float:属性值;} 常用属性值: left:元素向左浮动 right:元素向右浮动 none:元素不浮动(默认值) 由于浮动元素不再占用原文档流的位置,所以它会对页面中其他元素的排版产生影响。如果要避免影响,需要使用clear属性进行清除浮动。 选择器{clear:属性值;} 常用属性值: left:不允许左侧有浮动元素(清除左侧浮动的影响) right:不允许右侧有浮动元素(清除右侧浮动的影响) both:同时清除左右两侧浮动的影响 例如: <!--默认上下布局--> <div> <div>区域1-1</div> <div>区域1-2</div> </div> <hr /> <!--浮动左右布局--> <div> <div style="float: left;">区域2-1</div> <div style="float: left;">区域2-2</div> </div> <!--取消浮动,另起一行布局--> <div style="clear:both"></div> <hr /> <div> <div style="float: left;">区域2-1</div> <div style="float: left;">区域2-2</div> <div style="float: left;">区域2-3</div> </div>
1.2.6 CSS的盒子模型1.2.6.1 什么是盒子模型CSS 框模型 (Box Model) 规定了元素框处理元素内容、内边距、边框 和 外边距 的方式。
1.2.6.2 内边距:padding.1.2.6.3 边框:border1.2.6.4 外边距:margin
1.3 案例分析1.3.1 知识点分析为了结构更好的显示表单,本案例我们需要使用table表格布局。根据“验证码”我们需要提供3列来显示数据,其他需要将中和右合并。最终需要创建3*10表格。
1.4 案例实现1.4.1 <table>布局<table border="1" width="500" height="300"> <tr> <td colspan="3"></td> </tr> <tr> <td></td> <td colspan="2"></td> </tr> <tr> <td></td> <td colspan="2"></td> </tr> <tr> <td></td> <td colspan="2"></td> </tr> <tr> <td></td> <td colspan="2"></td> </tr> <tr> <td></td> <td colspan="2"></td> </tr> <tr> <td></td> <td colspan="2"></td> </tr> <tr> <td></td> <td colspan="2"></td> </tr> <tr> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td colspan="2"></td> </tr> </table>
1.4.2 表单<table width="600"> <tr> <td colspan="3"> <font color="#3164af">会员注册</font> USER REGISTER </td> </tr> <tr> <td>用户名</td> <td colspan="2"><input type="text" name="loginname" size="60"/> </td> </tr> <tr> <td>密码</td> <td colspan="2"><input type="password" name="loginpwd" size="60"/> </td> </tr> <tr> <td>确认密码</td> <td colspan="2"><input type="password" name="reloginpwd" size="60"/> </td> </tr> <tr> <td>Email</td> <td colspan="2"><input type="text" name="email" size="60"/> </td> </tr> <tr> <td>姓名</td> <td colspan="2"><input name="text" name="username" size="60"/> </td> </tr> <tr> <td>性别</td> <td colspan="2"> <input type="radio" name="gender" value="男" checked="checked" />男 <input type="radio" name="gender" value="女" />女 </td> </tr> <tr> <td>出生日期</td> <td colspan="2"><input type="text" name="birthday" size="60"/> </td> </tr> <tr> <td width="80">验证码</td> <td width="100"><input type="text" name="verifyCode" /> </td> <td><img src="img/code.jpg" /> </td> </tr> <tr> <td></td> <td colspan="2"> <input type="submit" value="注册" /> </td> </tr> </table>
1.4.3 CSS渲染<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> body{ height:500px; } #divFormId{ border: 5px solid #999; width: 500px; margin: 0 auto; padding: 20px; background-color: #fff; } #divbg{ background: url(../img/regist_bg.jpg); height:100%; padding-top: 80px; } </style> </head> <body> <div id="divbg"> <div id="divFormId"> <form action="#" method="get"> ... 省略 </form> </div> </div> </body> </html> 1.5 案例总结1.5.1 div和span比较
通过css对其进行转换 display: block、none
第2章 总结
文章分类:
Java
|