javaweb学习day01

html入门

1.网页标题编排

这里举例数段代码:

<!-- 文档类型为HTML -->
<!DOCTYPE html>
<html lang="en">
<head>
    <!-- 字符集为UTF-8 -->
    <meta charset="UTF-8">
    <!-- 设置浏览器兼容性 -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>标题</title>
</head>
<body>
    <!-- 
    img标签: 
        src: 图片资源路径
        width: 宽度(px, 像素 ; % , 相对于父元素的百分比)
        height: 高度(px, 像素 ; % , 相对于父元素的百分比)
        
        <img src="img/news_logo.png" width="80%" >

    路径书写方式:
        绝对路径:
            1. 绝对磁盘路径: C:\Users\Administrator\Desktop\HTML\img\news_logo.png
                           <img src="C:\Users\Administrator\Desktop\HTML\img\news_logo.png">

            2. 绝对网络路径: https://i2.sinaimg.cn/dy/deco/2012/0613/yocc20120613img01/news_logo.png
                           <img src="https://i2.sinaimg.cn/dy/deco/2012/0613/yocc20120613img01/news_logo.png">
        相对路径:
            ./ : 当前目录 , ./ 可以省略的
            ../: 上一级目录
     -->
    <img src="img/news_logo.png"> 新浪政务 > 正文

    <h1>标题</h1>
    
    <hr>
    分割线
    <hr>

</body>
</html>

2.标题样式

2.1css引入方式

具体有3种引入方式,语法如下表格所示:

| 名称     | 语法描述                                          | 示例                                           |

| -------- | ------------------------------------------------- | ---------------------------------------------- |

| 行内样式 | 在标签内使用style属性,属性值是css属性键值对      | &lt;h1 style="xxx:xxx;">中国新闻网&lt;/h1>     |

| 内嵌样式 | 定义&lt;style&gt;标签,在标签内部定义css样式      | &lt;style> h1 {...} &lt;/style>  |

| 外联样式 | 定义&lt;link&gt;标签,通过href属性引入外部css文件 | &lt;link rel="stylesheet" href="css/news.css"> |

对于上述3种引入方式,企业开发的使用情况如下:

1. 内联样式会出现大量的代码冗余,不方便后期的维护,所以不常用。

2. 内部样式,通过定义css选择器,让样式作用于当前页面的指定的标签上。

3. 外部样式,html和css实现了完全的分离,企业开发常用方式。

2.2颜色表示

在前端程序开发中,颜色的表示方式常见的有如下三种:

| **表示方式**   | **表示含义**                      | **取值**                                    |

| -------------- | --------------------------------- | ------------------------------------------- |

| 关键字         | 预定义的颜色名                    | red、green、blue...                         |

| rgb表示法 | 红绿蓝三原色,每项取值范围:0-255 | rgb(0,0,0)、rgb(255,255,255),rgb(255,0,0)|

| 十六进制表示法 | #开头,将数字转换成十六进制表示   | #000000、#ff0000、#cccccc,简写:#000、#ccc |

2.3标题字体颜色表示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>标题</title>
    <!-- 方式二: 内嵌样式 -->
    <style>
        h1 {
            /* color: red; */
            /* color: rgb(0, 0, 255); */
            color: #4D4F53;
        }
    </style>

    <!-- 方式三: 外联样式 -->
    <!-- <link rel="stylesheet" href="css/news.css"> -->
</head>
<body>
    <img src="img/news_logo.png"> 新浪政务 > 正文

    <!-- 方式一: 行内样式 -->
    <!-- <h1 style="color: red;">焦点访谈:中国底气 新思想夯实大国粮仓</h1> -->
    
    <h1>标题</h1>

    <hr>
   分割线
    <hr>

</body>
</html>

2.4css选择器

**选择器通用语法如下**:

选择器名   {

    css样式名:css样式值;

    css样式名:css样式值;

}

我们需要学习的3种选择器是元素选择器,id选择器,class选择器,语法以及作用如下:

2.4.1元素(标签)选择器:

- 选择器的名字必须是标签的名字

- 作用:选择器中的样式会作用于所有同名的标签上

元素名称 {

    css样式名:css样式值;

}

例子如下:

css

 div{

     color: red;

 }

2.4.2id选择器

选择器的名字前面需要加上#

- 作用:选择器中的样式会作用于指定id的标签上,而且有且只有一个标签(由于id是唯一的)

#id属性值 {

    css样式名:css样式值;

}

例子如下:

#did {

    color: blue;

}

2.4.3类选择器

择器的名字前面需要加上 .

- 作用:选择器中的样式会作用于所有class的属性值和该名字一样的标签上,可以是多个

.class属性值 {

    css样式名:css样式值;

}

例子如下:

.cls{

     color: green;

 }

2.5发布时间字体颜色

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>标题</title>
    <style>
        h1 {
            color: #4D4F53;
        }

        /* 元素选择器 */
        /* span {
            color: red;
        } */

        /* 类选择器 */
        /* .cls {
            color: green;
        } */
        
        /* ID选择器 */
        #time {
            color: #968D92;
            font-size: 13px; /* 设置字体大小 */
        }

    </style>
</head>
<body>

    <img src="img/news_logo.png"> 新浪政务 > 正文

    <h1>标题</h1>

    <hr>
    <span class="cls" id="time">2023年03月02日 21:50</span>  <span class="cls">内容</span>
    <hr>

</body>
</html>

3.超链接

3.1介绍

标签: &lt;a href="..." target="...">央视网</a>

- 属性:

  - href: 指定资源访问的url

  - target: 指定在何处打开资源链接

    - _self: 默认值,在当前页面打开

    - _blank: 在空白页面打开

3.2实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>标题</title>
    <style>
        h1 {
            color: #4D4F53;
        }
        
        #time {
            color: #968D92;
            font-size: 13px; /* 设置字体大小 */
        }

        a {
            color: black;
            text-decoration: none; /* 设置文本为一个标准的文本 , 去除掉 超链接 下面默认的下划线 */
        }
    </style>
</head>
<body>

    <img src="img/news_logo.png"> <a href="http://gov.sina.com.cn/" target="_self">新浪政务</a>  > 正文

    <h1>标题</h1>

    <hr>
    <span id="time">2023年03月02日 21:50</span>  
    <span> 
    <a href="https://news.cctv.com/2023/03/02/ARTIUCKFf9kE9eXgYE46ugx3230302.shtml" target="_blank">内容</a>
    </span>
    <hr>

</body>
</html>

4.正文排版

正文排版的内容通常只有四个部分:视频(音频)、文字段落、文字加粗、图片。

4.1标签

**1). 视频、音频标签**

- 视频标签: &lt;video>

  - 属性:

    - src: 规定视频的url

    - controls: 显示播放控件

    - width: 播放器的宽度

    - height: 播放器的高度

- 音频标签: &lt;audio>

  - 属性:

    - src: 规定音频的url

    - controls: 显示播放控件

**2). 段落标签**

- 换行标签: &lt;br>

  - 注意: 在HTML页面中,我们在编辑器中通过回车实现的换行, 仅仅在文本编辑器中会看到换行效果, 浏览器是不会解析的, HTML中换行需要通过br标签

- 段落标签: &lt;p>

  - 如: &lt;p> 这是一个段落 &lt;/p>

**3). 文本格式标签**

| 效果   | 标签 | 标签(强调) |

| ------ | ---- | ---------- |

| 加粗   | b    | strong     |

| 倾斜   | i    | em         |

| 下划线 | u    | ins        |

| 删除线 | s    | del        |

前面的标签 b、i、u、s 就仅仅是实现加粗、倾斜、下划线、删除线的效果,是没有强调语义的。 而后面的strong、em、ins、del在实现加粗、倾斜、下划线、删除线的效果的同时,还带有强调语义。

4.2实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>标题</title>
    <style>
        h1 {
            color: #4D4F53;
        }
        
        #time {
            color: #968D92;
            font-size: 13px; /* 设置字体大小 */
        }

        a {
            color: black;
            text-decoration: none; /* 设置文本为一个标准的文本 */
        }

        p {
            text-indent: 35px; /* 设置首行缩进 */
            line-height: 40px; /* 设置行高 */
        }

        #plast {
            text-align: right; /* 对齐方式 */
        }
    </style>
</head>
<body>

    <!-- 标题 -->
    <img src="img/news_logo.png"> <a href="http://gov.sina.com.cn/" target="_self">新浪政务</a>  > 正文

    <h1>标题</h1>

    <hr>
    <span id="time">2023年03月02日 21:50</span>
    <span><a href="https://news.cctv.com/2023/03/02/ARTIUCKFf9kE9eXgYE46ugx3230302.shtml" target="_blank">央视网</a></span>
    <hr>

    <!-- 正文 -->
    <!-- 视频 -->
    <video src="video/1.mp4" controls width="950px"></video>

    <!-- 音频 -->
    <!-- <audio src="audio/1.mp3" controls></audio> -->

    <p>
    <strong>内容
    </p>

    <p>
    内容
    </p>

    <img src="img/1.jpg">

    <p>
        内容
    </p>

    <img src="img/2.jpg">

    <p>
        内容
    </p>

    <p id="plast">
        责任编辑:王树淼 SN242
    </p>
</body>
</html>

在上述的正文排版实现中,还用到了几个CSS属性:

- text-indent: 设置段落的首行缩进

- line-height: 设置行高

- text-align: 设置对齐方式, 可取值为 left / center / right

> 注意事项:

> - 在HTML页面中无论输入了多少个空格, 最多只会显示一个。 可以使用空格占位符(&nbsp;)来生成空格,如果需要多个空格,就使用多次占位符。

> - 那在HTML中,除了空格占位符以外,还有一些其他的占位符(了解, 只需要知道空格的占位符写法即可),如下:

>   - | 显示结果 | 描述   | 占位符  |

>     | :------- | :----- | :------ |

>     |          | 空格   | \&nbsp; |

>     | <        | 小于号 | \&lt;   |

>     | >        | 大于号 | \&gt;   |

>     | &        | 和号   | \&amp;  |

>     | "        | 引号   | \&quot; |

>     | '        | 撇号   | \&apos; |

5.页面布局

目前,新闻页面的基本排版,我们都已经完成了,但是,大家会看到,无论是标题部分,还是正文部分,都是铺满了整个浏览器。 而我们再来看看新浪新闻的原始页面,我们会看到新闻网页内容都是居中展示的,左边、右边都是一定的边距的

![image-20230310092442972](assets/image-20230310092442972.png)

那接下来呢,我们就需要按照这个效果,来完成页面布局。 而要想完成这样一个页面布局,我们就需要介绍一下CSS中的盒子模型 。


5.1盒子模型

盒子:页面中所有的元素(标签),都可以看做是一个 盒子,由盒子将页面中的元素包含在一个矩形区域内,通过盒子的视角更方便的进行页面布局

- 盒子模型组成:内容区域(content)、内边距区域(padding)、边框区域(border)、外边距区域(margin)

<img src="assets/image-20230310092820616.png" alt="image-20230310092820616" style="zoom:80%;" />

CSS盒子模型,其实和日常生活中的包装盒是非常类似的,就比如:

<img src="assets/image-20230310093247265.png" alt="image-20230310093247265" style="zoom:80%;" />

盒子的大小,其实就包括三个部分: border、padding、content,而margin外边距是不包括在盒子之内的。

5.2布局标签

布局标签:实际开发网页中,会大量频繁的使用 div 和 span 这两个没有语义的布局标签。

- 标签:<div> <span>

- 特点:

  - div标签:

    - 一行只显示一个(独占一行)

    - 宽度默认是父元素的宽度,高度默认由内容撑开

    - 可以设置宽高(width、height)

  - span标签:

    - 一行可以显示多个

    - 宽度和高度默认由内容撑开

    - 不可以设置宽高(width、height)

5.3盒子型代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子模型</title>
    <style>
        div {
            width: 200px;  /* 宽度 */
            height: 200px;  /* 高度 */
            box-sizing: border-box; /* 指定width height为盒子的高宽 */
            background-color: aquamarine; /* 背景色 */
            
            padding: 20px 20px 20px 20px; /* 内边距, 上 右 下 左 , 边距都一行, 可以简写: padding: 20px;*/ 
            border: 10px solid red; /* 边框, 宽度 线条类型 颜色 */
            margin: 30px 30px 30px 30px; /* 外边距, 上 右 下 左 , 边距都一行, 可以简写: margin: 30px; */
        }
    </style>
</head>

<body>
    
    <div>
        A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A 
    </div>

</body>
</html>

5.4布局实现

在实现新闻页面的布局时,我们需要做两部操作:

- 第一步:需要将body中的新闻标题部分、正文部分使用一个 div 布局标签将其包裹起来,方便通过css设置内容占用的宽度,比如:65%。

- 第二步:通过css为该div设置外边距,左右的外边距分别为:17.5%,上下外边距靠边展示即可,为:0%。

具体的代码实现如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>标题</title>
    <style>
        h1 {
            color: #4D4F53;
        }
        
        #time {
            color: #968D92;
            font-size: 13px; /* 设置字体大小 */
        }

        a {
            color: black;
            text-decoration: none; /* 设置文本为一个标准的文本 */
        }

        p {
            text-indent: 35px; /* 设置首行缩进 */
            line-height: 40px; /* 设置行高 */
        }

        #plast {
            text-align: right; /* 对齐方式 */
        }

        #center {
            width: 65%;
            /* margin: 0% 17.5% 0% 17.5% ; */ /* 外边距, 上 右 下 左 */
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div id="center">
        <!-- 标题 -->
        <img src="img/news_logo.png"> <a href="http://gov.sina.com.cn/" target="_self">新浪政务</a>  > 正文

        <h1>标题</h1>

        <hr>
        <span id="time">2023年03月02日 21:50</span>
        <span><a href="https://news.cctv.com/2023/03/02/ARTIUCKFf9kE9eXgYE46ugx3230302.shtml" target="_blank">分割线</a></span>
        <hr>

        <!-- 正文 -->
        <!-- 视频 -->
        <video src="video/1.mp4" controls width="950px"></video>

        <!-- 音频 -->
        <!-- <audio src="audio/1.mp3" controls></audio> -->

        <p>
        <strong>1</strong> 内容
        </p>

        <p>
        内容
        </p>

        <img src="img/1.jpg">

        <p>
            内容。
        </p>

        <img src="img/2.jpg">

        <p>
            内容
        </p>

        <p id="plast">
            责任编辑:王树淼 SN242
        </p>  
    </div>
</body>
</html>

6.表格标签

在网页中以表格(行、列)形式整齐展示数据,我们在一些管理类的系统中,会看到数据通常都是以表格的形式呈现出来的,比如:班级表、学生表、课程表、成绩表等等。

**标签:**

- &lt;table> : 用于定义整个表格, 可以包裹多个 &lt;tr>, 常用属性如下:

  - border:规定表格边框的宽度

  - width:规定表格的宽度

  - cellspacing: 规定单元之间的空间

- &lt;tr> : 表格的行,可以包裹多个 &lt;td>  

- &lt;td> : 表格单元格(普通),可以包裹内容 , 如果是表头单元格,可以替换为 &lt;th>

**演示:**

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML-表格</title>
    <style>
        td {
            text-align: center; /* 单元格内容居中展示 */
        }
    </style>
</head>
<body>
    
    <table border="1px" cellspacing="0"  width="600px">
        <tr>
            <th>序号</th>
            <th>品牌Logo</th>
            <th>品牌名称</th>
            <th>企业名称</th>
        </tr>
        <tr>
            <td>1</td>
            <td> <img src="img/huawei.jpg" width="100px"> </td>
            <td>华为</td>
            <td>华为技术有限公司</td>
        </tr>
        <tr>
            <td>2</td>
            <td> <img src="img/alibaba.jpg"  width="100px"> </td>
            <td>阿里</td>
            <td>阿里巴巴集团控股有限公司</td>
        </tr>
    </table>

</body>
</html>

7.表单标签

那表单呢,在我们日常的上网的过程中,基本上每天都会遇到。比如,我们经常在访问网站时,出现的登录页面、注册页面、个人信息提交页面,其实都是一个一个的表单 。 当我们在这些表单中录入数据之后,一点击 "提交",就会将表单中我们填写的数据采集到,并提交, 那其实这个数据呢,一般会提交到服务端,最终保存在数据库中。

- 表单场景: 表单就是在网页中负责数据采集功能的,如:注册、登录的表单。

- 表单标签: &lt;form>

- 表单属性:

  - action: 规定表单提交时,向何处发送表单数据,表单提交的URL。

  - method: 规定用于发送表单数据的方式,常见为: GET、POST。

    - GET:表单数据是拼接在url后面的, 如: xxxxxxxxxxx?username=Tom&age=12,url中能携带的表单数据大小是有限制的。

    - POST: 表单数据是在请求体(消息体)中携带的,大小没有限制。

- 表单项标签: 不同类型的input元素、下拉列表、文本域等。

  - input: 定义表单项,通过type属性控制输入形式

  - select: 定义下拉列表

  - textarea: 定义文本域

演示代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML-表单</title>
</head>
<body>
    <!-- 
    form表单属性: 
        action: 表单提交的url, 往何处提交数据 . 如果不指定, 默认提交到当前页面
        method: 表单的提交方式 .
            get: 在url后面拼接表单数据, 比如: ?username=Tom&age=12 , url长度有限制 . 默认值
            post: 在消息体(请求体)中传递的, 参数大小无限制的.
    -->   
	
    <form action="" method="get">
        用户名: <input type="text" name="username">
        年龄: <input type="text" name="age">

        <input type="submit" value="提交">
    </form>
	
</body>
</html>

post形式提交表单(将上诉的get改为post形式):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML-表单</title>
</head>
<body>
    <!-- 
    form表单属性: 
        action: 表单提交的url, 往何处提交数据 . 如果不指定, 默认提交到当前页面
        method: 表单的提交方式 .
            get: 在url后面拼接表单数据, 比如: ?username=Tom&age=12 , url长度有限制 . 默认值
            post: 在消息体(请求体)中传递的, 参数大小无限制的.
    -->   
	
    <form action="" method="post">
        用户名: <input type="text" name="username">
        年龄: <input type="text" name="age">

        <input type="submit" value="提交">
    </form>
	
</body>
</html>

注意:表单中的所有表单项,要想能够正常的采集数据,在提交的时候能提交到服务端,表单项必须指定name属性。 否则,无法提交该表单项。

7.1表单项介绍

在一个表单中,可以存在很多的表单项,而虽然表单项的形式各式各样,但是表单项的标签其实就只有三个,分别是:

- &lt;input>: 表单项 , 通过type属性控制输入形式。

  | type取值                 | **描述**                             |

  | ------------------------ | ------------------------------------ |

  | text                     | 默认值,定义单行的输入字段           |

  | password                 | 定义密码字段                         |

  | radio                    | 定义单选按钮                         |

  | checkbox                 | 定义复选框                           |

  | file                     | 定义文件上传按钮                     |

  | date/time/datetime-local | 定义日期/时间/日期时间               |

  | number                   | 定义数字输入框                       |

  | email                    | 定义邮件输入框                       |

  | hidden                   | 定义隐藏域                           |

  | submit / reset / button  | 定义提交按钮 / 重置按钮 / 可点击按钮 |

- &lt;select>: 定义下拉列表, &lt;option> 定义列表项

- &lt;textarea>: 文本域

7.2演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML-表单项标签</title>
</head>
<body>

<!-- value: 表单项提交的值 -->
<form action="" method="post">
     姓名: <input type="text" name="name"> <br><br>
     密码: <input type="password" name="password"> <br><br> 
     性别: <input type="radio" name="gender" value="1"> 男
          <label><input type="radio" name="gender" value="2"> 女 </label> <br><br>
     爱好: <label><input type="checkbox" name="hobby" value="java"> java </label>
          <label><input type="checkbox" name="hobby" value="game"> game </label>
          <label><input type="checkbox" name="hobby" value="sing"> sing </label> <br><br>
     图像: <input type="file" name="image">  <br><br>
     生日: <input type="date" name="birthday"> <br><br>
     时间: <input type="time" name="time"> <br><br>
     日期时间: <input type="datetime-local" name="datetime"> <br><br>
     邮箱: <input type="email" name="email"> <br><br>
     年龄: <input type="number" name="age"> <br><br>
     学历: <select name="degree">
               <option value="">----------- 请选择 -----------</option>
               <option value="1">大专</option>
               <option value="2">本科</option>
               <option value="3">硕士</option>
               <option value="4">博士</option>
          </select>  <br><br>
     描述: <textarea name="description" cols="30" rows="10"></textarea>  <br><br>
     <input type="hidden" name="id" value="1">
	 	
     <!-- 表单常见按钮 -->
     <input type="button" value="按钮">
     <input type="reset" value="重置"> 
     <input type="submit" value="提交">   
     <br>
</form>

</body>
</html>

最后感谢黑马程序员的课程!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值