JavaWeb基础03:HTML&CSS

web概念概述

* JavaWeb:
	* 使用Java语言开发基于互联网的项目

* 软件架构:
	1. C/S: Client/Server 客户端/服务器端
		* 在用户本地有一个客户端程序,在远程有一个服务器端程序
		* 如:QQ,迅雷...
		* 优点:
			1. 用户体验好
		* 缺点:
			1. 开发、安装,部署,维护 麻烦
	2. B/S: Browser/Server 浏览器/服务器端
		* 只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序
		* 优点:
			1. 开发、安装,部署,维护 简单
		* 缺点:
			1. 如果应用过大,用户的体验可能会受到影响
			2. 对硬件要求过高

* B/S架构详解
	* 资源分类:
		1. 静态资源:
			* 使用静态网页开发技术发布的资源。
			* 特点:
				* 所有用户访问,得到的结果是一样的。
				* 如:文本,图片,音频、视频, HTML,CSS,JavaScript
				* 如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器。浏览器中内置了静态资源的解析引擎,可以展示静态资源
		2. 动态资源:
			* 使用动态网页及时发布的资源。
			* 特点:
				* 所有用户访问,得到的结果可能不一样。
				* 如:jsp/servlet,php,asp...
				* 如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器


	* 我们要学习动态资源,必须先学习静态资源!

	* 静态资源:
		* HTML:用于搭建基础网页,展示页面的内容
		* CSS:用于美化页面,布局页面
		* JavaScript:控制页面的元素,让页面有一些动态的效果

HTML

自学网站

1. 概念:是最基础的网页开发语言

	* Hyper Text Markup Language 超文本标记语言
		* 超文本:
			* 超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本.
		* 标记语言:
			* 由标签构成的语言。<标签名称> 如 html,xml
			* 标记语言不是编程语言

2. 快速入门

	* 语法:
		1. html文档后缀名 .html 或者 .htm
		2. 标签分为
			1. 围堵标签:有开始标签和结束标签。如 <html> </html>
			2. 自闭和标签:开始标签和结束标签在一起。如 <br/>

		3. 标签可以嵌套:
			需要正确嵌套,不能你中有我,我中有你
			错误:<a><b></a></b>
			正确:<a><b></b></a>

		4. 在开始标签中可以定义属性。属性是由键值对构成,值需要用引号(单双都可)引起来
		5. html的标签不区分大小写,但是建议使用小写。
* 代码:
	<html>
		<head>
			<title>title</title>
		</head>
		
		<body>
			<FONT color='red'>Hello World</font><br/>
			
			<font color='green'>Hello World</font>
		
		</body>
	</html>

在这里插入图片描述

3. 标签学习:

3.1 文件标签:构成html最基本的标签

		* html:html文档的根标签
		* head:头标签。用于指定html文档的一些属性。引入外部的资源
		* title:标题标签。
		* body:体标签
		* <!DOCTYPE html>:html5中定义该文档是html文档

3.2 文本标签:和文本有关的标签

		* 注释:<!-- 注释内容 -->
		* <h1> to <h6>:标题标签
			* h1~h6:字体大小逐渐递减
		* <p>:段落标签
		* <br>:换行标签
		* <hr>:展示一条水平线
			* 属性:
				* color:颜色
				* width:宽度
				* size:高度
				* align:对其方式
					* center:居中
					* left:左对齐
					* right:右对齐
		* <b>:字体加粗
		* <i>:字体斜体
		* <font>:字体标签
		* <center>:文本居中
			* 属性:
				* color:颜色
				* size:大小
				* face:字体

		* 属性定义:
			* color:
				1. 英文单词:red,green,blue
				2. rgb(值1,值2,值3):值的范围:0~255  如  rgb(0,0,255)
				3. #值1值2值3:值的范围:00~FF之间。如: #FF00FF
			* width:
				1. 数值:width='20' ,数值的单位,默认是 px(像素)
				2. 数值%:占比相对于父元素的比例

		* 案例:公司简介
<!DOCTYPE html>
<html lang="ch">
<head>
<meta charset="UTF-8">
	<title>黑马程序员简介</title>
</head>
		<body>
				
			<h1>
				    公司简介
				</h1>
				<hr color="#ffd700">
				
				<p>
				<font color="#FF0000">"中关村黑马程序员训练营"</font>是由<b><i>传智播客</i></b>联合中关村软件园、CSDN, 并委托传智播客进行教学实施的软件开发高端培训机构,致力于服务各大软件企业,解决当前软件开发技术飞速发展, 而企业招不到优秀人才的困扰。
				</p>
				
				<p>
				目前,“中关村黑马程序员训练营”已成长为行业“学员质量好、课程内容深、企业满意”的移动开发高端训练基地, 并被评为中关村软件园重点扶持人才企业。
				</p>
				
				<p>
				
				黑马程序员的学员多为大学毕业后,有理想、有梦想,想从事IT行业,而没有环境和机遇改变自己命运的年轻人。 黑马程序员的学员筛选制度,远比现在90%以上的企业招聘流程更为严格。任何一名学员想成功入学“黑马程序员”, 必须经历长达2个月的面试流程,这些流程中不仅包括严格的技术测试、自学能力测试,还包括性格测试、压力测试、 品德测试等等测试。毫不夸张地说,黑马程序员训练营所有学员都是精挑细选出来的。百里挑一的残酷筛选制度确 保学员质量,并降低企业的用人风险。
				中关村黑马程序员训练营不仅着重培养学员的基础理论知识,更注重培养项目实施管理能力,并密切关注技术革新, 不断引入先进的技术,研发更新技术课程,确保学员进入企业后不仅能独立从事开发工作,更能给企业带来新的技术体系和理念。
				</p>
				
				<p>
				
				一直以来,黑马程序员以技术视角关注IT产业发展,以深度分享推进产业技术成长,致力于弘扬技术创新,倡导分享、 开放和协作,努力打造高质量的IT人才服务平台。
				</p>
				
				<hr color="#ffd700">
				
				<font color="gray" size="2">
				    <center>
				        江苏传智播客教育科技股份有限公司<br>
				        版权所有Copyright 2006-2018&copy;, All Rights Reserved 苏ICP备16007882
				    </center>
				</font>


​				
​				
				</body>
				</html>

在这里插入图片描述

3.3 图片标签

		* img:展示图片
			* 属性:
				* src:指定图片的位置
* 代码:
	 <!--展示一张图片 img-->

    <img src="image/jingxuan_2.jpg" align="right" alt="古镇" width="500" height="500"/>

    <!--
        相对路径
            * 以.开头的路径
                * ./:代表当前目录  ./image/1.jpg
                * ../:代表上一级目录
     -->

    <img src="./image/jiangwai_1.jpg">

    <img src="../image/jiangwai_1.jpg">

3.4 列表标签:

		* 有序列表:
			* ol:
			* li:
		* 无序列表:
			* ul:
			* li:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>列表标签</title>
</head>
<body>

    <!--有序列表 ol-->
    早上起床干的事情
    <ol type="A" start="5"> <--start表示起始的位置,type的类型还可以是罗马数字-->
        <li>睁眼</li>
        <li> 看手机</li>
        <li> 穿衣服</li>
        <li> 洗漱</li>
    </ol>
   <!-- 无序列表  ul-->

    早上起床干的事情
    <ul type="disc">  <--图标为默认原点-->
        <li>睁眼</li>
        <li> 看手机</li>
        <li> 穿衣服</li>
        <li> 洗漱</li>
    </ul>


    早上起床干的事情
    <ul type="square"> <--图标为方框-->
        <li>睁眼</li>
        <li> 看手机</li>
        <li> 穿衣服</li>
        <li> 洗漱</li>
    </ul>

    早上起床干的事情
    <ul  type="circle"><--图标为圆圈-->
        <li>睁眼</li>
        <li> 看手机</li>
        <li> 穿衣服</li>
        <li> 洗漱</li>
    </ul>


</body>
</html>

在这里插入图片描述

3.5 链接标签:

		* a:定义一个超链接
			* 属性:
				* href:指定访问资源的URL(统一资源定位符)
				* target:指定打开资源的方式
					* _self:默认值,在当前页面打开
					* _blank:在空白页面打开

		* 代码:
 <!--超链接  a-->

<a href="http://www.itcast.cn">点我</a>
<br>

<a href="http://www.itcast.cn" target="_self">点我</a><--self表示在本页面打开新链接-->
<br>
<a href="http://www.itcast.cn" target="_blank">点我</a><--_blank表示在空白页面打开新链接-->

<br>

<a href="./5_列表标签.html">列表标签</a><br><--当前资源路径下的文件-->
<a href="mailto:itcast@itcast.cn">联系我们</a>

<br>
<a href="http://www.itcast.cn"><img src="image/jiangwai_1.jpg"></a> <--图片上链接-->

3.6 块标签:div和span:

		* div:每一个div占满一整行。块级标签,可换行
    	* span:多个span标签,文本信息在一行展示,不换行行内标签 内联标签

没有任何效果,和CSS集合使用,才有样式

	 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>块标签</title>
</head>
<body>
    <!--
        div:每一个div占满一整行。块级标签
        span:文本信息在一行展示,行内标签 内联标签

        -->

    <span>黑马程序员</span>
    <span>传智播客</span>

    <hr>
    <div>黑马程序员</div>
    <div>传智播客</div>


</body>
</html>

在这里插入图片描述

3.7 语义化标签

  • html5中为了提高程序的可读性,提供了一些标签。
  • 没有任何效果,仅是为了表示首部和尾部
    1.
    :页眉
    2.
    :页脚

3.8 表格标签:

HTML只有行的概念
在这里插入图片描述

	* table:定义表格
			* width:宽度
			* border:边框
			* cellpadding:定义内容和单元格的距离
			* cellspacing:定义单元格之间的距离。如果指定为0,则单元格的线会合为一条、
			* bgcolor:背景色
			* align:对齐方式
		* tr:定义行
			* bgcolor:背景色
			* align:对齐方式
		* td:定义单元格
			* colspan:合并列
			* rowspan:合并行
		* th:定义表头单元格
		* <caption>:表格标题
		* <thead>:表示表格的头部分,仅仅表示没有任何样式
		* <tbody>:表示表格的体部分,仅仅表示没有任何样式
		* <tfoot>:表示表格的脚部分,仅仅表示没有任何样式
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表格标签</title>
</head>
<body>

    <table border="1" width="50%" cellpadding="0" cellspacing="0" bgcolor="#faebd7" align="center">
        <tr>
           <!-- <td>编号</td>
            <td>姓名</td>
            <td>成绩</td>-->
            <th>编号</th>
            <th>姓名</th>
            <th>成绩</th>

        </tr>

        <tr>
            <td>1</td>
            <td>小龙女</td>
            <td>100</td>

        </tr>

        <tr>
            <td>2</td>
            <td>杨过</td>
            <td>50</td>

        </tr>

    </table>


    <hr>


    <table border="1" width="50%" cellpadding="0" cellspacing="0" bgcolor="#faebd7" align="center">

        <thead>
            <caption>学生信息表</caption>

            <tr>
                <!-- <td>编号</td>
                 <td>姓名</td>
                 <td>成绩</td>-->
                <th>编号</th>
                <th>姓名</th>
                <th>成绩</th>

            </tr>
        </thead>



        <tbody>
            <tr bgcolor="#7fffd4" align="center">
                <td>1</td>
                <td>小龙女</td>
                <td>100</td>

            </tr>

            <tr>
                <td>2</td>
                <td>杨过</td>
                <td>50</td>

            </tr>

        </tbody>

        <tfoot>
            <tr>
                <td>3</td>
                <td>尹志平</td>
                <td>10</td>

            </tr>

        </tfoot>


    </table>

    <hr>

    <table border="1" width="50%" cellpadding="0" cellspacing="0" bgcolor="#faebd7" align="center">
        <tr>

            <th rowspan="2">编号</th><--合并单元格占两行-->
            <th>姓名</th>
            <th>成绩</th>

        </tr>

        <tr>

            <td>小龙女</td>
            <td>100</td>

        </tr>

        <tr>
            <td>2</td>
            <td colspan="2">杨过</td><--合并单元格占两列-->


        </tr>

    </table>


    <hr>




</body>
</html>

在这里插入图片描述

3.9 表单标签

* 表单:
	* 概念:用于采集用户输入的数据的。用于和服务器进行交互。
	* form:用于定义表单的。可以定义一个范围,范围代表采集用户数据的范围
        * 属性:
            * action:指定提交数据的URL
            * method:指定提交方式
                * 分类:一共7种,2种比较常用
                   * get:
                        1. 请求参数会在地址栏中显示。会封装到请求行中(HTTP协议后讲解)。
                        2. 请求参数大小是有限制的。
                        3. 不太安全。
                   * post:
                        2. 请求参数不会再地址栏中显示。会封装在请求体中(HTTP协议后讲解)
                        2. 请求参数的大小没有限制。
                        3. 较为安全。

        * 表单项中的数据要想被提交:必须指定其name属性
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单标签</title>
</head>
<body>

<form action="#" method="post">

    用户名:<input type="text" name="username"><br>
    密码:<input name="password"><br>

    <input type="submit" value="登录" >
</form>

</body>
</html>

在这里插入图片描述在这里插入图片描述

  	* 表单项标签:
		1)  input:可以通过type属性值,改变元素展示的样式
			* type属性:
				* text:文本输入框,默认值
					* placeholder:指定输入框的提示信息,当输入框的内容发生变化,会自动清空提示信息	
				* password:密码输入框
				* radio:单选框
					* 注意:
						1. 要想让多个单选框实现单选的效果,则多个单选框的name属性值必须一样。name属性值不同则可以多选
						2. 一般会给每一个单选框提供value属性,指定其被选中后提交的值
						3. checked属性,可以指定默认值
				* checkbox:复选框
					* 注意:
						1. 一般会给每一个单选框提供value属性,指定其被选中后提交的值
						2. checked属性,可以指定默认值,默认选择

				* file:文件选择框
				* hidden:隐藏域,用于提交一些信息。
				* 按钮:
					* submit:提交按钮。可以提交表单
					* button:普通按钮
					* image:图片提交按钮
						* src属性指定图片的路径	

		   * label:指定输入项的文字描述信息
			   * 注意:
				   * label的for属性一般会和 input 的 id属性值 对应。如果对应了,则点击label区域,会让input输入框获取焦点。
				   
		2)  select: 下拉列表
			* 子元素:option,指定列表项
			
		3)  textarea:文本域
			* cols:指定列数,每一行有多少个字符
			* rows:默认多少行。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单标签</title>
</head>
<body>



<form action="#" method="get">

    <label for="username"> 用户名 </label><input type="text" name="username" placeholder="请输入用户名" id="username"><br>
    密码:<input type="password" name="password" placeholder="请输入密码"><br>
    性别:<input type="radio" name="gender" value="male" ><input type="radio" name="gender" value="female" checked><br>
    爱好:<input type="checkbox" name="hobby" value="shopping"> 逛街
        <input type="checkbox" name="hobby" value="java"  checked> Java
        <input type="checkbox" name="hobby" value="game"> 游戏<br>

    图片:<input type="file" name="file"><br>
    隐藏域:<input type="hidden" name="id" value="aaa"> <br>

    取色器:<input type="color" name="color"><br>
    生日:<input type="date" name="birthday"> <br>
    生日:<input type="datetime-local" name="birthday"> <br>
    邮箱:<input type="email" name="email"> <br>
    年龄:<input type="number" name="age"> <br>

    省份:<select name="province">
            <option value="">--请选择--</option>
            <option value="1">北京</option>
            <option value="2">上海</option>
            <option value="3" selected>陕西</option>
         </select><br>

    自我描述:
        <textarea cols="20" rows="5" name="des"></textarea>

    <br>
    <input type="submit" value="登录" >
    <input type="button" value="一个按钮" ><br>
    <input type="image" src="img/regbtn.jpg">


</form>

</body>
</html>

在这里插入图片描述

4. 案例

4.1 旅游网站首页

  • 该案例很多部分为图片

  • 前端开发利器:颜色取色器

  • 先分析整体布局,行数和分块

     1. 确定使用table来完成布局	
     2. 如果某一行只有一个单元格,则使用<tr><td></td></tr> 
     3. 如果某一行有多个单元格,则使用  表格的嵌套,这样就不用考虑合并单元格
      <tr>
      	<td>
      		<table></table>
      	</td>
      </tr>
    
    1. 代码实现
	
		<!DOCTYPE html>
		<html lang="en">
		<head>
		    <meta charset="UTF-8">
		    <title>黑马旅游网</title>
		</head>
		<body>
		
		    <!--采用table来完成布局-->
		    <!--最外层的table,用于整个页面的布局-->
		    <table width="100%" align="center"> <--占整个页面的100%-->
		       <!-- 第1行 -->
		        <tr>
		            <td>
		                <img src="image/top_banner.jpg" width="100%" alt="">
		            </td>
		        </tr>
		
		        <!-- 第2行  嵌套table -->
		        <tr>
		            <td>
		                <table width="100%" align="center">
		                    <tr>
		                        <td>
		                            <img src="image/logo.jpg" alt="">
		                        </td>
		                        <td>
		                            <img src="image/search.png" alt="">
		                        </td>
		                        <td>
		                            <img src="image/hotel_tel.png" alt="">
		                        </td>
		                    </tr>
		                </table>
		
		            </td>
		        </tr>
		
		        <!-- 第3行 -->
		        <tr>
		            <td>
		                <table width="100%" align="center">
		                    <tr bgcolor="#ffd700" align="center" height="45" > <--整一行设置背景色-->
		                        <td>
		                            <a href="">首页</a>
		                        </td>
		
		                        <td>
		                            门票
		                        </td>
		
		                        <td>
		                            门票
		                        </td>
		
		                        <td>
		                            门票
		                        </td>
		
		                        <td>
		                            门票
		                        </td>
		
		                        <td>
		                            门票
		                        </td>
		
		                        <td>
		                            门票
		                        </td>
		
		                        <td>
		                            门票
		                        </td>
		
		                        <td>
		                            门票
		                        </td>
		
		                        <td>
		                            门票
		                        </td>
		                    </tr>
		                </table>
		            </td>
		        </tr>
		
		        <!-- 第4行 轮播图 -->
		        <tr>
		            <td>
		                <img src="image/banner_3.jpg" alt="" width="100%">
		            </td>
		        </tr>
		
		        <!-- 第5行 黑马精选-->
		        <tr>
		            <td>
		                <img src="image/icon_5.jpg" alt="">
		                黑马精选
		                <hr  color="#ffd700" >
		            </td>
		        </tr>
		
		        <!-- 第6行 四个单元格 table嵌套 -->
		        <tr>
		            <td>
		                <table align="center" width="95%">
		                    <tr>
		                        <td>
		
		                            <img src="image/jiangxuan_1.jpg" alt="">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 899</font><--特殊符号人民币&yen-->
		                        </td>
		
		                        <td>
		
		                            <img src="image/jiangxuan_1.jpg" alt="">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 899</font>
		                        </td>
		
		                        <td>
		
		                            <img src="image/jiangxuan_1.jpg" alt="">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 899</font>
		                        </td>
		
		                        <td>
		
		                            <img src="image/jiangxuan_1.jpg" alt="">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 899</font>
		                        </td>
		                    </tr>
		                </table>
		            </td>
		        </tr>
		
		        <!-- 第7行 国内游 -->
		        <tr>
		            <td>
		                <img src="image/icon_6.jpg" alt="">
		                国内游
		                <hr  color="#ffd700" >
		            </td>
		        </tr>
		
		        <!-- 第8行 -->
		        <tr>
		            <td>
		                <table align="center" width="95%">
		                    <tr>
		                        <td rowspan="2"> <--占两行的位置-->
		                            <img src="image/guonei_1.jpg" alt="">
		                        </td>
		
		                        <td>
		
		                            <img src="image/jiangxuan_2.jpg" alt="" height="100%">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 699</font>
		                        </td>
		
		                        <td>
		
		                            <img src="image/jiangxuan_2.jpg" alt="">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 699</font>
		                        </td>
		
		                        <td>
		
		                            <img src="image/jiangxuan_2.jpg" alt="">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 699</font>
		                        </td>
		                    </tr>
		
		                    <tr>
		                        <td>
		
		                            <img src="image/jiangxuan_2.jpg" alt="">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 699</font>
		                        </td>
		
		                        <td>
		
		                            <img src="image/jiangxuan_2.jpg" alt="">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 699</font>
		                        </td>
		
		                        <td>
		
		                            <img src="image/jiangxuan_2.jpg" alt="">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 699</font>
		                        </td></tr>
		                </table>
		            </td>
		        </tr>
		
		        <!-- 第9行 境外游 -->
		        <tr>
		            <td>
		                <img src="image/icon_7.jpg" alt="">
		                境外游
		                <hr  color="#ffd700" >
		            </td>
		        </tr>
		
		        <!-- 第10行 -->
		        <tr>
		            <td>
		                <table align="center" width="95%">
		                    <tr>
		                        <td rowspan="2">
		                            <img src="image/jiangwai_1.jpg" alt="">
		                        </td>
		
		                        <td>
		
		                            <img src="image/jiangxuan_3.jpg" alt="" height="100%">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 699</font>
		                        </td>
		
		                        <td>
		
		                           <img src="image/jiangxuan_3.jpg" alt="">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 699</font>
		                        </td>
		
		                        <td>
		
		                           <img src="image/jiangxuan_3.jpg" alt="">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 699</font>
		                        </td>
		                    </tr>
		
		                    <tr>
		                        <td>
		
		                           <img src="image/jiangxuan_3.jpg" alt="">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 699</font>
		                        </td>
		
		                        <td>
		
		                           <img src="image/jiangxuan_3.jpg" alt="">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 699</font>
		                        </td>
		
		                        <td>
		
		                           <img src="image/jiangxuan_3.jpg" alt="">
		                            <p>上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行)</p>
		                            <font color="red">&yen; 699</font>
		                        </td></tr>
		                </table>
		            </td>
		        </tr>
		        <!-- 第11行 就是一个图片 -->
		        <tr>
		            <td>
		                <img src="image/footer_service.png" alt="" width="100%">
		            </td>
		        </tr>
		
		        <!-- 第12行  文本信息-->
		        <tr>
		            <td align="center" bgcolor="#ffd700" height="40">
		                <font color="gray" size="2">
		                江苏传智播客教育科技股份有限公司
		                版权所有Copyright 2006-2018&copy;, All Rights Reserved 苏ICP备16007882
		                </font>
		            </td>
		        </tr>
		        
		    </table></body>
		</html>

在这里插入图片描述

4.2 登录注册页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册页面</title>
</head>
<body>

    <!--定义表单 form-->
    <form action="#" method="post">
        <table border="1" align="center" width="500">
            <tr>
                <td><label for="username">用户名</label></td>
                <td><input type="text" name="username" id="username"></td>
            </tr>

            <tr>
                <td><label for="password">密码</label></td>
                <td><input type="password" name="password" id="password"></td>
            </tr>

            <tr>
                <td><label for="email">Email</label></td>
                <td><input type="email" name="email" id="email"></td>
            </tr>

            <tr>
                <td><label for="name">姓名</label></td>
                <td><input type="text" name="name" id="name"></td>
            </tr>

            <tr>
                <td><label for="tel">手机号</label></td>
                <td><input type="text" name="tel" id="tel"></td>
            </tr>

            <tr>
                <td><label>性别</label></td>
                <td><input type="radio" name="gender" value="male"><input type="radio" name="gender" value="female"></td>
            </tr>

            <tr>
                <td><label for="birthday">出生日期</label></td>
                <td><input type="date" name="birthday" id="birthday"></td>
            </tr>

            <tr>
                <td><label for="checkcode">验证码</label></td>
                <td><input type="text" name="checkcode" id="checkcode">
                    <img src="img/verify_code.jpg">
                </td>
            </tr>


            <tr>
                <td colspan="2" align="center"><input type="submit" value="注册"></td>
            </tr>
        </table>


    </form>

</body>
</html>

在这里插入图片描述

CSS:页面美化和布局控制

1. 概念: Cascading Style Sheets 层叠样式表

	* 层叠:多个样式可以作用在同一个html的元素上,同时生效

      好处:
	1. 功能强大
	2. 将内容展示和样式控制分离
		* 降低耦合度。解耦
		* 让分工协作更容易
		* 提高开发效率

2. CSS的使用:CSS与html结合方式

有三种方式来定义CSS

	1. 内联样式
		 * 在标签内使用style属性指定css代码,多个键值对,分号隔开
		 * 如:<div style="color:red;">hello css</div>
		 * 并不推荐使用,作用域只在当前标签
		 
	2. 内部样式
		* 在head标签内,定义style标签,style标签的标签体内容就是css代码
		* 如:
			<style>
		        div{
		            color:blue;
		        }
		
		    </style>
			<div>hello css</div>
		*作用域在当前页面的所有div中


	3. 外部样式
		1. 定义css资源文件。
		  		* a.css文件:
				div{
				    color:green;
				}
		2. 在head标签内,定义link标签,引入外部的资源文件
		* 如:
			<link rel="stylesheet" href="css/a.css">
			<div>hello css</div>
			<div>hello css</div>

	* 注意:
		* 1,2,3种方式 css作用范围越来越大
		* 1方式不常用,后期常用2,3
		* 3种格式可以写为:
			<style>
		        @import "css/a.css";
		    </style>

3. CSS语法

	* 格式:
		选择器 {
			属性名1:属性值1;
			属性名2:属性值2;
			...
		}
	* 选择器:筛选具有相似特征的元素
	* 注意:
		* 每一对属性需要使用;隔开,最后一对属性可以不加;

4. 选择器:筛选具有相似特征的元素

	* 分类:
		1. 基础选择器
			1. id选择器:选择具体的id属性值的元素.建议在一个html页面中id值唯一
		        * 语法:#id属性值{}
		    2. 元素选择器:选择具有相同标签名称的元素
		        * 语法: 标签名称{}
		        * 注意:id选择器优先级高于元素选择器
		    3. 类选择器:选择具有相同的class属性值的元素。
		        * 语法:.class属性值{}
		        * 注意:类选择器选择器优先级高于元素选择器
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>基础选择器</title>

    <style>
        .cls1{

            color: blue;
        }

        div{
            color:green;
        }


        #div1{ 
               color: red;
           }

    </style>
</head>
<body>

    <div id="div1">传智播客</div>
    <div class="cls1">黑马程序员</div>

    <p class="cls1">传智学院</p>

</body>
</html>
		2. 扩展选择器:
			1. 选择所有元素:
				* 语法: *{}
			2. 并集选择器:
				* 选择器1,选择器2{}
			
			3. 子选择器:筛选选择器1元素下的选择器2元素
				* 语法:  选择器1 选择器2{}
			4. 父选择器:筛选选择器2的父元素选择器1
				* 语法:  选择器1 > 选择器2{}

			5. 属性选择器:选择元素名称,属性名=属性值的元素
				* 语法:  元素名称[属性名="属性值"]{}

			6. 伪类选择器:选择一些元素具有的状态
				* 语法: 元素:状态{}
				* 如: <a>
					* 状态:
						* link:初始化的状态
						* visited:被访问过的状态
						* active:正在访问状态
						* hover:鼠标悬浮状态
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>扩展选择器</title>

    <style>
        div p{
            color:red;
        }

        div > p {
            border: 1px solid;
        }

        input[type='text']{
            border: 5px solid;
        }

        a:link{
            color: pink;
        }

        a:hover{
            color: green;
        }

        a:active{
            color: yellow;
        }

        a:visited{
            color: red;
        }

    </style>
</head>
<body>

    <div>
        <p>传智播客</p>
    </div>
    <p>黑马程序员</p>

<div>aaa</div>

    <input type="text" >
    <input type="password" >


    <br>   

    <a href="#">黑马程序员</a>

</body>
</html>

5. 属性

	1. 字体、文本
		* font-size:字体大小
		* color:文本颜色
		* text-align:对其方式
		* line-height:行高 
		
	2. 背景
		* background:

	3. 边框
		* border:设置边框,符合属性

	4. 尺寸
		* width:宽度
		* height:高度
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css属性</title>


    <style>
        p{
            color: #FF0000;
            font-size: 30px;
            text-align: center;
            line-height: 200px;
            /*
                border 边框
             */
            border: 1px solid red;

        }
        div{
            border: 1px solid red;
            /*
                尺寸
             */
            height: 200px;
            width: 200px;
            /*
                背景
             */
            background: url("img/logo.jpg") no-repeat center;
        }
    </style>
</head>
<body>


    <p>传智播客</p>
    <div>
        黑马程序员

    </div>
</body>
</html>

在这里插入图片描述

	5. 盒子模型:控制布局
	内外边距是相对的概念,看具体对象是谁
		* margin:外边距
		* padding:内边距
			* 默认情况下内边距会影响整个盒子的大小
			* box-sizing: border-box;  设置盒子的属性,让width和height就是最终盒子的大小

		* float:浮动
			* left
			* right
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css属性</title>


    <style>
        div{
            border: 1px solid red;
            width: 100px;
        }
        .div1{
            width: 100px;
            height: 100px;
            /*外边距*/
           /* margin: 50px; */
        }
        .div2{
            width: 200px;
            height: 200px;
            padding: 50px;
            /*
                设置盒子的属性,让width和height就是最终盒子的大小
             */
            box-sizing: border-box;
        }

        .div3{
            float: left;
        }

        .div4{
            float: left;
        }

        .div5{
            float: right;
        }

    </style>
</head>
<body>


    <div  class="div2">
            <div class="div1"></div>

    </div>

    <div class="div3">aaaa</div>
    <div class="div4">bbbbb</div>
    <div class="div5">cccc</div>
</body>
</html>

在这里插入图片描述

6. 案例:注册页面

在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册页面</title>
<style>
    *{
        margin: 0px;
        padding: 0px;
        box-sizing: border-box;
    }
    body{
        background: url("img/register_bg.png") no-repeat center;
        padding-top: 25px;
    }

    .rg_layout{
        width: 900px;
        height: 500px;
        border: 8px solid #EEEEEE;
        background-color: white;
        /*让div水平居中*/
        margin: auto;
    }

    .rg_left{
        /*border: 1px solid red;*/
        float: left;
        margin: 15px;
    }
    .rg_left > p:first-child{
        color:#FFD026;
        font-size: 20px;
    }

    .rg_left > p:last-child{
        color:#A6A6A6;
        font-size: 20px;

    }


    .rg_center{
        float: left;
       /* border: 1px solid red;*/

    }

    .rg_right{
        /*border: 1px solid red;*/
        float: right;
        margin: 15px;
    }

    .rg_right > p:first-child{
        font-size: 15px;

    }
    .rg_right p a {
        color:pink;
    }

    .td_left{
        width: 100px;
        text-align: right;
        height: 45px;
    }
    .td_right{
        padding-left: 50px ;
    }

    #username,#password,#email,#name,#tel,#birthday,#checkcode{
        width: 251px;
        height: 32px;
        border: 1px solid #A6A6A6 ;
        /*设置边框圆角*/
        border-radius: 5px;
        padding-left: 10px;
    }
    #checkcode{
        width: 110px;
    }

    #img_check{
        height: 32px;
        vertical-align: middle;
    }

    #btn_sub{
        width: 150px;
        height: 40px;
        background-color: #FFD026;
        border: 1px solid #FFD026 ;
    }

</style>

</head>
<body>

<div class="rg_layout">
    <div class="rg_left">
        <p>新用户注册</p>
        <p>USER REGISTER</p>

    </div>

    <div class="rg_center">
        <div class="rg_form">
            <!--定义表单 form-->
            <form action="#" method="post">
                <table>
                    <tr>
                        <td class="td_left"><label for="username">用户名</label></td>
                        <td class="td_right"><input type="text" name="username" id="username" placeholder="请输入用户名"></td>
                    </tr>

                    <tr>
                        <td class="td_left"><label for="password">密码</label></td>
                        <td class="td_right"><input type="password" name="password" id="password" placeholder="请输入密码"></td>
                    </tr>

                    <tr>
                        <td class="td_left"><label for="email">Email</label></td>
                        <td class="td_right"><input type="email" name="email" id="email" placeholder="请输入邮箱"></td>
                    </tr>

                    <tr>
                        <td class="td_left"><label for="name">姓名</label></td>
                        <td class="td_right"><input type="text" name="name" id="name" placeholder="请输入姓名"></td>
                    </tr>

                    <tr>
                        <td class="td_left"><label for="tel">手机号</label></td>
                        <td class="td_right"><input type="text" name="tel" id="tel" placeholder="请输入手机号"></td>
                    </tr>

                    <tr>
                        <td class="td_left"><label>性别</label></td>
                        <td class="td_right">
                            <input type="radio" name="gender" value="male"><input type="radio" name="gender" value="female"></td>
                    </tr>

                    <tr>
                        <td class="td_left"><label for="birthday">出生日期</label></td>
                        <td class="td_right"><input type="date" name="birthday" id="birthday" placeholder="请输入出生日期"></td>
                    </tr>

                    <tr>
                        <td class="td_left"><label for="checkcode" >验证码</label></td>
                        <td class="td_right"><input type="text" name="checkcode" id="checkcode" placeholder="请输入验证码">
                            <img id="img_check" src="img/verify_code.jpg">
                        </td>
                    </tr>


                    <tr>
                        <td colspan="2" align="center"><input type="submit" id="btn_sub" value="注册"></td>
                    </tr>
                </table>

            </form>


        </div>

    </div>

    <div class="rg_right">
        <p>已有账号?<a href="#">立即登录</a></p>
    </div>


</div>


</body>
</html>

`

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值