JavaWeb - 2 - HTML、CSS

什么是HTML、CSS?

· HTML(HyperText Markup Language):超文本标记语言

**·**超文本:超越了文本的限制,比普通文本更强大,除了文字信息,还可以定义图片、音频、视频等内容

· 标记语言:由标签构成的语言

· HTML标签都是预定义好的。如:使用<a>展示超链接,使用<img>展示图片,<video>展示视频

· HTML代码直接在浏览器中运行,HTML标签由浏览器解析

· CSS(Cascading Style Sheet):层叠样式表,用于控制页面的样式(表现)


HTML官方参考文档:HTML 标签参考手册

CSS官方参考文档:CSS 参考手册


一. HTML

HTML(HyperText Markup Language):超文本标记语言

1.1 HTML网页的固定架构

html 复制代码
<html>
    <head>
        <title>标题</title>
    </head>
    <body>
        网页的主体内容
    </body>
</html>

1.2 HTML的特点

· HTML标签不区分大小写

· HTML标签属性值点双引号都可以

· HTML语法松散

1.3 HTML的基础标签

· 图片标签:<img>

· src:指定图像的url(绝对路径 / 相对路径)

· width:图像的宽度(像素 / 相对父元素的百分比)

· height:图像的高度(像素 / 相对父元素的百分比)

· 标题标签:<h1> - <h6>

· 水平线标签:<hr>

· <span>便签:是一个在开发网页时大量会用到的没有语义的布局标签

<span>便签特点是一行可以显示多个(组合行内元素),宽度和高度默认由内容撑开

· 超链接标签:<a href="......" target="......"></a>

· href:指定资源访问的url

· target :指定在何处打开资源链接(_self:默认值,在当前页面打开 _blank:在空白页面打开)

· 视频标签:<video>

· src:规定视频的url

· controls:显示播放控件

· width:播放器的宽度

· height:播放器的高度

· 音频标签:<audio>

· src:规定音频的url

· controls:显示播放控件

· 段落标签:<p>

· 换行标签:<br>

· 文本加粗标签:<b> / <strong>

注意:

在HTML中无论输入多少个空格,只会显示一个,可以使用空格占位符:&nbsp;

1.4 表格便签

场景:在网页中以表格(行、列)形式整齐展示数据,如:班级表

标签:

|---------------|-------------------------|---------------------------|
| 标签 | 描述 | 属性/说明 |
| <table> | 定义表格整体,可以包裹多个**<tr>** | border:规定表格边框的宽度 |
| <table> | 定义表格整体,可以包裹多个**<tr>** | width:规定表格的宽度 |
| <table> | 定义表格整体,可以包裹多个**<tr>** | cellspacing:规定单元之间的空间 |
| <tr> | 表格的行,可以包裹多个**<td>** | |
| <td> | 表格的单元格(普通),可以包裹内容 | 如果是表头单元格,可以替换为**<th>** |

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        td{
            text-align: center;
        }
    </style>
</head>
<body>
    <table border="1px" cellspacing="0" width="600px">
        <tr>
            <th>序号</th>
            <th>品牌名称</th>
            <th>企业名称</th>
        </tr>
        <tr>
            <td>1</td>
            <td>xxxxx</td>
            <td>xxxxxxxxxxxx</td>
        </tr>
        <tr>
            <td>2</td>
            <td>xxxxx</td>
            <td>xxxxxxxxxxxx</td>
        </tr>
    </table>
</body>
</html>

1.5 表单便签

· 场景:在网页中主要哦负责数据采集功能,如 注册、登录等

· 便签:<form>

· 属性:

· action:规定当提交表单时向何处发送表单数据。URL

· method:规定用于发送表单数据的方式。GET、POST

· 表单项:不同类型的input元素,下拉列表、文本域等

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

· <select>:定义下拉列表,<option>定义列表项

· <textarea>:定义文本域

注意:表单项必须有name属性才可以提交

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 
    form表单属性:
        action:表单提交的url,往何处提交数据,如果不指定,默认提交到当前页面
        method:表单的提交方式 
            get(不写默认用get):在url后面拼接表单数据,比如?username=Tom&age=12 ,url长度有限制
            post:在消息体(请求体)中传递的,参数大小无限制的
    -->
    
    <form action="" method="post">
        姓名:<input type="text" name="name"><br><br>
        密码:<input type="password" name="password"><br><br>
        <!-- 单选框要保证每个值的name一致,比如都是gender -->
        <!-- 用label标签包裹,可以使得点击单选框和汉字男都可以选中(聚焦) -->
        性别:<label><input type="radio" name="gender" value="1">男</label>
            <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>
        <!-- cols一行可以有多少个字符,rows默认多少行 -->
        描述:<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>

二. CSS

CSS(Cascading Style Sheet):层叠样式表,用于控制页面的样式(表现)

2.1 CSS的引入方式

· 行内样式:写在标签的style属性中(不推荐)

· 内嵌样式:写在style标签中(可以写在页面任何位置,但通常约定写在head标签中)

· 外联样式:写在一个单独的.css文件中(需要通过link标签在网页中引入)

2.2 CSS选择器

用来选取需要设置样式的元素(标签)

|------------|-----------------------------------------------------------------------------------------------------------|
| CSS选择器 | 格式 |
| 元素选择器 | |
| id选择器 | |
| 类选择器 | |

CSS选择器的优先级:id选择器 > 类选择器 > 元素选择器

2.3 CSS属性

· color:设置文本的颜色

|-------------|----------------------------------------------------------------|
| 颜色表示形式 | 说明 |
| 关键字 | 预定义的颜色名 如red、green、blue...... |
| rgb表示法 | 红绿蓝三原色(每项取值范围:0-255) 如rgb(0,0,0) rgb(255,255,255) rgb(255,0,0) |
| 十六进制表示法 | #开头,将数字转换成十六进制表示 如#000000、#ff0000、#cccccc,简写#000,#ccc |

· font-size:字体大小(注意:记得加px)

· line-height:设置行高

· text-indent:定义第一个行内容的缩进

· text-align:规定元素中的文本的水平对齐方式

· text-decoration : 规定添加到文本的修饰, 属性值none表示定义标准的文本(去除下划线)

2.4 CSS盒子模型

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

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

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

标签:<div><span>

特点:

· <div>标签

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

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

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

· <span>标签:

· 一行可以显示多个

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

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

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <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;  /* 内边距 上 右 下 左 */
            border: 10px solid red;  /* 边框 宽度 线条类型 颜色 */
            margin: 30px 30px 30px 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 
    </div>
</body>
</html>

CSS属性:

width:设置宽度

height:设置高度

border:设置边框的属性

padding:内边距

margin:外边距

注意:如果只需要设置某一个方位的边框、内边距、外边距,可以在属性名后加上 -位置,如:padding-top、padding-left、padding-right......


案例:一个页面

html 复制代码
<!-- Vs Code创建html文件后,输入一个!可以一键生成代码框架 -->
 
<!-- 文档类型为HTML -->
<!DOCTYPE html>
<html lang="en">
<head>
     <!-- 字符集为UTF-8 -->
     <meta charset="UTF-8">
     <!-- 设置浏览器的兼容性 -->
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <!-- title是页面标题 -->
     <title>这是一个html页面</title>
 
 
    <!-- 方式二:内嵌样式 -->
    <style>
        h1{
            /* 
            颜色表示形式:
                1.关键字:预定义的颜色名 如red、green、blue......
                2.rgb表示法:红绿蓝三原色(每项取值范围:0-255) 如rgb(0,0,0)  rgb(255,255,255) rgb(255,0,0)
                3.十六进制表示法:#开头,将数字转换成十六进制表示 如#000000、#ff0000、#cccccc,简写#000,#ccc  
            */
 
            /* color: gray; */
            /* color: rgb(0,255,0); */
            color: #4D4F53;
        }
 
        /* 元素选择器 */
        /* span{
            color: #968D92;
        } */
 
        /* 类选择器 */
        /* .cls{
            color: #968D92;
        } */
 
        /* id选择器 */
        #time{
            color: #968D92;
            font-size: 13px;
        }
 
        a{
            color: black;
            /* 文本装饰,none去除下划线 */
            text-decoration: none;
        }
 
        p{
            /* 首行缩进 text-indent */
            text-indent: 35px;
            /* 设置行高 line-height */
            line-height: 30px;
        }
 
        #plast{
            /* 靠右对齐 */
            text-align: right; 
        }
 
        #center{
            width: 65%;
            /* margin: 0% 17.5% 0% 17.5%;  上右下左 */
            margin: 0 auto; /* 第一个值代表上下 第二个值代表左右 */
        }
    </style>
 
    <!-- 方式三:外联样式 -->
    <!-- <link rel="stylesheet" href="css/news.css"> -->
    <!-- css/news.css 页面内容 -->
        <!-- h1{
            color: red;
        } -->
</head>
<body>
    <!-- 格式化快捷键:ctrl+alt+L -->
    <div id="center">
        <!-- 
        img标签:
            src:图片资源路径
            width:图片宽度(px:像素;%:相对于父元素的百分比)
            height:图片高度(px:像素;%:相对于父元素的百分比)
                <img src="./img/news_logo.png" width="300px" height="300px"> 
    
        路径书写方式:
            绝对路径:
                1.绝对磁盘路径:D:XXX\news_logo.png
                    <img src="D:XXX\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"> <a href="https://www.baidu.com/" target="_self">百度</a> > 正文
 
        <!-- 方式一:行内样式 -->
        <!-- <h1 style="color: red;">春节</h1> -->
        <h1>春节</h1>
        <hr>
        <span class="cls" id="time">2024年5月20日 13:14</span> <span><a
                href="https://www.baidu.com/">来源:百度</a></span>
        <hr>
 
 
        <!-- 正文 -->
        <!-- 视频 -->
        <!-- 如果属性名和属性值一致可以省略属性值 -->
        <!-- <video src="./video/1.mp4" controls = "controls"></video> -->
        <video src="./video/1.mp4" controls width="950px"></video>
        <!-- 音频 -->
        <!-- <audio src="./audio/1.mp3" controls></audio> -->
 
        <!-- <b>消息</b> -->
        <p><strong>消息</strong>春节(Spring Festival),是中国民间最隆重最富有特色的传统节日之一。一般指除夕和正月初一,是一年的第一天,又叫阴历年,俗称"过年",从腊八或小年开始,到元宵节,都叫过年。</p>
        <br>
        <p>春节历史悠久,起源于早期人类的原始信仰与自然崇拜,由上古时代岁首祈岁祭祀演变而来,是一种原始的宗教仪式,人们会在年初之际举行祭祀活动,祈求来年五谷丰登、人畜兴旺。这种祭祀活动随着时间的推移逐渐演变为各种庆祝活动,最终形成了今天的春节。"春节"一词开始使用是在辛亥革命以后。</p>
        <img src="./img/1.jpg">
        <p>春节期间,中国的汉族和很多少数民族都要举行各种活动以示庆祝。这些活动均以祭祖敬老、感恩祈福、阖家团聚、除旧布新、迎禧接福、祈求丰年为主要内容,带有浓郁的民族特色。春节民俗众多,包括喝腊八粥、祭灶神、扫尘、贴春联、贴年画、倒贴福字、除夕守岁、吃饺子、压岁钱、拜年、逛庙会等。</p>
        <img src="./img/2.jpg">
        <p>受到中华文化的影响,世界上一些国家和地区也有庆贺新春的习俗,非洲埃及到南美洲巴西,从纽约帝国大厦到悉尼歌剧院,中国农历新年在世界各地掀起了"中国风"。</p>
        <p>春节内容丰富多彩,具有重要的历史、艺术和文化价值。2006年,春节民俗经国务院批准列入第一批国家级非物质文化遗产名录。当地时间2023年12月22日,第78届联合国大会将春节(农历新年)确定为联合国假日。2024龙年新春,联合国粮农组织、维也纳联合国总部等联合国机构首次正式庆祝中国农历新年。</p>
        <p id="plast">责任编辑:xxxx</p>
    </div>
</body>
</html>
相关推荐
崔庆才丨静觅7 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60618 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了8 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅8 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅8 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅9 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment9 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅9 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊9 小时前
jwt介绍
前端
爱敲代码的小鱼9 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax