JavaWeb - 2 - HTML、CSS

news2024/11/24 6:23:39

什么是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>
    <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:规定表格边框的宽度
width:规定表格的宽度
cellspacing:规定单元之间的空间
<tr>表格的行,可以包裹多个<td>
<td>表格的单元格(普通),可以包裹内容如果是表头单元格,可以替换为<th>
<!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属性才可以提交

<!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)

<!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……


案例:一个页面

<!-- 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"> -->
</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/">来源:XXX</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>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</p>
        <br>
        <p>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</p>
        <img src="./img/1.jpg">
        <p>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</p>
        <img src="./img/2.jpg">
        <p>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</p>
        <p>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</p>
        <p id="plast">责任编辑:xxxx</p>
    </div>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1493767.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

不用下载的工具却能保存西瓜视频的原画视频,支持无水印!

近年来&#xff0c;西瓜视频可谓是炙手可热&#xff0c;得益于其强大的后盾——抖音&#xff0c;以及推出的"中视频计划"。这个计划慷慨地斥资20亿用于支持视频制作者&#xff0c;因此在西瓜视频平台上&#xff0c;我们目睹了大量优质的长视频如雨后春笋般涌现。 对于…

SpringCloud 各自组件的停更/升级/替换

一、停更不停用 现在 SpringCloud 不再修复 bug&#xff0c;也不再接收合并请求&#xff0c;也不再发布新版本&#xff0c;但是目前还是可以继续使用的。 二、以前的组件 以前 SpringCloud 常用的组件如下图&#xff0c;服务的注册和发现使用 Eureka&#xff0c;服务的负载和调…

工业镜头的重要参数之视场、放大倍率、芯片尺寸--51camera

今天来简单介绍下工业镜头中常用的参数中的三个&#xff1a; 1、视场 视场&#xff08;FOV&#xff09;也称视野,是指能被视觉系统观察到的物方可视范围。 对于镜头而言&#xff0c;可观察到的视场跟镜头放大倍率及相机芯片选择有关。因此需要根据被观察物体的尺寸&#xff…

threejs展示glb模型

原模型为rvt模型 <template><div ref"threeJsContainer"class"three-js-container"></div> </template> <script> import { defineComponent } from "vue"; import * as THREE from "three"; import…

如何选择阿里云服务器配置,过来人说说

阿里云服务器配置怎么选择&#xff1f;CPU内存、公网带宽和系统盘怎么选择&#xff1f;个人开发者或中小企业选择轻量应用服务器、ECS经济型e实例&#xff0c;企业用户选择ECS通用算力型u1云服务器、ECS计算型c7、通用型g7云服务器&#xff0c;阿里云服务器网aliyunfuwuqi.com整…

C++核心编程之内存分区模型,引用,函数提高

1&#xff0c;类型分区模型 c程序在执行中&#xff0c;将内存大方向划分为4个区域 1&#xff0c;代码区&#xff1a;存放函数体的二进制代码&#xff0c;由操作系统进行管理的 2&#xff0c;全局区&#xff1a;存放全局变量和静态变量以及常量 3&#xff0c;栈区&#xff1…

【学习笔记】java项目:黑马头条(day01)

文章目录 环境搭建、SpringCloud微服务(注册发现、服务调用、网关)1)课程对比2)项目概述2.1)能让你收获什么2.2)项目课程大纲2.3)项目概述2.4)项目术语2.5)业务说明 3)技术栈4)nacos环境搭建4.1)虚拟机镜像准备4.2)nacos安装 5)初始工程搭建5.1)环境准备5.2)主体结构 6)登录6.1…

Openfeign+Ribbon+Hystrix断路器(服务降级)

热部署对于Hystrix的热不是不是很明显 所以最好修改代码之后重启服务 简介 在微服务架构中存在多个可直接调用的服务,这些服务若在调用时出现故障会导致连锁效应,也就是可能让整个系统变得不可用,这种情况我们称之为服务雪崩效应. 服务雪崩效应通常发生在微服务架构中&…

应用监控 eBPF 版:实现 Golang 微服务的无侵入应用监控

作者&#xff1a;古琦 在现代软件架构中&#xff0c;微服务已成为构建可扩展和灵活应用程序的流行方式。每个微服务负责应用程序的一部分功能&#xff0c;它们共同工作以提供完整的服务。由于微服务架构的分散特性&#xff0c;监控变得至关重要&#xff0c;有效的微服务监控是…

缺陷检测:使用PatchCore训练自己的数据集

文章目录 前期准备两种方法 演示运行结果 代码详解见缺陷检测–PatchCore的代码解读 前期准备 必须包含有训练图片&#xff08;无缺陷图片&#xff09;、测试图片&#xff08;缺陷图片&#xff09;和ground_truth&#xff0c;并且ground_truth必须与对应图片的名称相同。 本文…

python_读取txt文件绘制多条曲线II

从给定的列表中来匹配txt文件对应列的数据&#xff1b; import matplotlib.pyplot as plt import re from datetime import datetime from pylab import mplmpl.rcParams["font.sans-serif"] ["SimHei"] # 设置显示中文字体 mpl.rcParams["axes.un…

STM32用标准库做定时器定时1秒更新OLED的计数值(Proteus仿真)

首先新建proteus工程&#xff0c;绘制电路图&#xff1a; 然后赋值我之前文章中提到的文件夹OLED屏幕显示&#xff1a;&#xff08;没有的自己去那篇文章下载去&#xff09; 然后进入文件夹&#xff1a; 新建两个文件在Mycode文件夹中&#xff1a; 文件关系如下&#xff1a; 新…

lowcode-engine接入编辑器

https://lowcode-engine.cn/site/docs/guide/create/useEditor 方案1 pnpm init pnpm add "alilc/create-elementlatest"pnpm create "alilc/element" editor-project-name选择编辑器 进入执行pnpm install命令安装包 pnpm start报错 pnpm add &qu…

springboot-异步、定时、邮件任务

一、异步任务 1、创建项目 2、创建一个service包 3、创建一个类AsyncService 异步处理还是非常常用的&#xff0c;比如我们在网站上发送邮件&#xff0c;后台会去发送邮件&#xff0c;此时前台会造成响应不动&#xff0c;直到邮件发送完毕&#xff0c;响应才会成功&#xff…

高校的虚拟仿真实训室为何要创建数字人实训室?

随着教育信息化、数字化的不断发展&#xff0c;虚拟仿真实训室不再仅限于vr虚拟仿真实训室&#xff0c;数字人实训室也逐步应用于教育领域。 高校虚拟仿真实训室创建数字人实训室课堂&#xff0c;具有两大作用&#xff1a; 1.获得隐形实践知识 在虚拟仿真实训室环境下&#xf…

2024Java开发现状分析,字节java面试题

1. 前言 最近面试了几家公司&#xff0c;体验了一下电话面试和今年刚火起来的视频面试&#xff0c; 虽然之前就有一些公司会先通过电话面试的形式先评估下候选人的能力水平&#xff0c;但好像不多&#xff0c;至少我以前的面试形式100%都是现场面试。 面试过程中&#xff0c…

QT和OPENGL安装和集成

1.QT安装 1.1官网下载&#xff1a; 网址&#xff1a;https://download.qt.io/archive/qt/ 1.2 开始安装 点击运行 首先注册sign up 然后Login in 选择安装目录 改为D盘&#xff1a; 选择安装项&#xff1a; 准备安装 开始安装&#xff1a; 安装完成&#xff1a; 1.3测试 …

小白如何选择阿里云服务器配置?小白不怕

阿里云服务器配置怎么选择&#xff1f;CPU内存、公网带宽和系统盘怎么选择&#xff1f;个人开发者或中小企业选择轻量应用服务器、ECS经济型e实例&#xff0c;企业用户选择ECS通用算力型u1云服务器、ECS计算型c7、通用型g7云服务器&#xff0c;阿里云服务器网aliyunfuwuqi.com整…

第十五届蓝桥杯青少组STEMA测评SPIKE初级真题试卷 2024年1月

第十五届蓝桥杯青少组STEMA测评SPIKE初级真题试卷 2024年1月 ​​​​​​​ 来自&#xff1a;6547网 http://www.6547.cn/doc/vywur8eics

2024年政府工作报告,这些重点网安人应格外注意!

2024年政府工作报告&#xff0c;制定支持数字经济高质量发展政策&#xff0c;积极推进数字产业化、产业数字化&#xff0c;促进数字技术和实体经济深度融合。深化大数据、人工智能等研发应用&#xff0c;开展“人工智能”行动&#xff0c;打造具有国际竞争力的数字产业集群。作…