简单的HTML

1.HTML介绍

HTML(HyperText Markup Language,超文本标记语言)是用于创建网页的标准标记语言。它使用一系列的元素来描述网页的结构和内容,包括文本、图像、链接、表格等。

1.1HTML基础结构

HTML文件是一种纯文本文件,由一系列的元素构成。每个元素由一对尖括号<>包围,并用于定义网页的不同部分。例如:

<!DOCTYPE html>
<html><head><title>网页标题</title></head><body><h1>这是一个标题</h1><p>这是一段文字</p></body>
</html>
  • <!DOCTYPE html>声明定义了这是一个HTML5文档
  • <html></html>是整个HTML文档的根元素
  • <head></head>包含了文档的元数据,如标题、样式表等
  • <body></body>包含了网页的可见内容

1.2  HTML标题和段落

标题和段落是网页中最基本的元素。标题由<h1><h6>六个级别表示,数字越小级别越高。段落使用<p>元素定义。示例:

<!DOCTYPE html>
<html><head><title>网页标题</title></head><body><h1>这是一个标题</h1><p>这是一段文字</p></body>
</html>

1.3 HTML链接

<a>元素定义了超链接,使用href属性指定链接的URL。链接可以指向另一个网页,也可以指向同一页面的某个位置(锚点链接)。示例:

<a href="https://www.example.com">这是一个链接到example.com的链接</a><a href="https://www.example.com" target="_blank">这个链接会在新标签页中打开</a><a href="#bottom">跳转到页面底部</a><!-- 其他内容 --><h2 id="bottom">这是页面底部</h2>

1.4 HTML媒体标签

<img>元素用于在网页中插入图像,使用src属性指定图像的URL,alt属性提供了图像的替代文本(当图像无法显示时显示)。示例:

<img src="example.jpg" alt="这是一张示例图片"><img src="https://example.com/logo.png" alt="网站Logo">

 如果你想添加音频或视频可以使用<dudio>和<video>:

<div><audio src="https://m10.music.126.net/20240319155649/96db96aeb4629fe864d1843007b11779/yyaac/obj/wonDkMOGw6XDiTHCmMOi/3067332831/9179/0ea1/85ec/645a8325907dc22d0f5adaa165b074fa.m4a", controls></audio></div><div><video src="https://player.vimeo.com/progressive_redirect/playback/617209007/rendition/360p/file.mp4?loc=external&oauth2_token_id=1747418641&signature=d5b4b95263bc1cdd7d56a2592c0370fa35a874ed20271164cb261bdc245f06cf" controls width="50%"></video></div>

插入的链接可以是本地的路径,也可以是外部链接。 

1.5 HTML列表

HTML支持有序列表(<ol>)和无序列表(<ul>),列表项使用<li>元素定义。示例:

<ul><li>这是一个无序列表项</li><li>这是另一个无序列表项</li><li>列表项可以嵌套<ul><li>嵌套无序列表项</li><li>另一个嵌套项</li></ul></li>
</ul><ol><li>这是一个有序列表项</li><li>这是另一个有序列表项</li><li>有序列表也可以嵌套<ol><li>嵌套有序列表项</li><li>另一个嵌套项</li></ol></li>
</ol>

1.6 HTML表格

使用<table>元素创建表格,其中包含行<tr>和单元格<th>(表头)和<td>(数据)。示例:

<table><tr><th>姓名</th><th>年龄</th><th>城市</th></tr><tr><td>张三</td><td>25</td><td>北京</td></tr><tr><td>李四</td><td>30</td><td>上海</td></tr>
</table>

1.7HTML表单

<form>元素定义了用于收集用户输入的HTML表单,其中包含各种表单控件,如文本框、复选框、单选按钮等。示例: 

<form action="/submit-form" method="post"><label for="name">姓名:</label><input type="text" id="name" name="name"><br><label for="email">电子邮件:</label><input type="email" id="email" name="email"><br><label for="password">密码:</label><input type="password" id="password" name="password"><br><label>性别:</label><input type="radio" id="male" name="gender" value="male"><label for="male">男</label><input type="radio" id="female" name="gender" value="female"><label for="female">女</label><br><label>兴趣爱好:</label><input type="checkbox" id="reading" name="hobbies[]" value="reading"><label for="reading">阅读</label><input type="checkbox" id="sports" name="hobbies[]" value="sports"><label for="sports">运动</label><input type="checkbox" id="music" name="hobbies[]" value="music"><label for="music">音乐</label><br><input type="submit" value="提交">
</form>

如果你想使表单能够提交,就必须使用label标签,默认的提交方式是get。 

1.8HTML语义化标签

这个无关紧要,可以用也可以不用,它使你写的网页 结构清晰,这些标签跟div除了名字不同之外,并没有什么不同:

<!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><header><nav></nav></header><main><section><article></article></section></main><aside></aside><footer></footer>
</body>
</html>

header是头,nav代表导航栏,main代表主要内容,其他顾名思义。 

1.9 HTNML标准属性

 即id、class、title、style。

id是唯一的,class代表类名,可重复,可以有多个。这两个都可以用在css选择器中。

title就是标题,style里可以设置标签的样式:

<!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><div id="g1" class="g1 g2 g3 g4" title="g1" style="color:blue; background-color:blueviolet;">g1</div><div id="g2" class="ggg gg2 gg3" title="g2" style="color: brown; background-color: chocolate;">g2</div>
</body>
</html>

1.10 自定义字体

<!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><style>.d1{width: 100px;height: 100px;background-color: brown;}.d1:hover + .d2{width: 100px;height: 100px;background-color: aquamarine;/* 旋转 *//* transform: rotate(180deg); */transform: rotateX(180deg);}.d2{transition: all 2s linear;}@keyframes d3 {100%{transform: rotate(360deg);}}.d3{width: 70px;height: 70px;animation: d3 1s linear  reverse; /*infinite*/background-color: black;text-align: center;line-height: 70px;border-radius: 5%;}</style><div class="d1"></div><div class="d2"></div><div class="d3"><img src="../360/img/hot_up.png" alt=""></div>
</body>
</html>

 1.11 弹性布局

<!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>.container{width: 300px;height: 300px;border-style: solid;border-width: 1px;/* display: flex; */}.container div div{width: 100px;height: 100px;background-color: lightsalmon;font-size: 32px;text-align: center;line-height: 100px;}.container{/* flex-direction 主轴方向row row-reverse columu column-reverse*//*flex *//* justify-content: space-around; *//* 交叉轴位置 *//* align-items: center; */}#d1, #d2, #d3{display: flex;/* width: 300px;height: 100px; */}#d2{justify-content: center;}#d3{justify-content: flex-end;}</style>
</head>
<body><div class="container"><div id="d1"><div class="d1">1</div></div><div id="d2"><div class="d1">2</div></div><div id="d3"><div class="d1">3</div></div><!-- <div class="d1">1</div> --></div>
</body>
</html>

1.12渐变与动画

<!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><style>.d1{width: 100px;height: 100px;background-color: brown;}.d1:hover + .d2{width: 100px;height: 100px;background-color: aquamarine;/* 旋转 *//* transform: rotate(180deg); */transform: rotateX(180deg);}.d2{transition: all 2s linear;}@keyframes d3 {100%{transform: rotate(360deg);}}.d3{width: 70px;height: 70px;animation: d3 1s linear  reverse; /*infinite*/background-color: black;text-align: center;line-height: 70px;border-radius: 5%;}</style><div class="d1"></div><div class="d2"></div><div class="d3"><img src="../360/img/hot_up.png" alt=""></div>
</body>
</html>

1. 13HTML样式

可以使用内联样式、内部样式表或外部样式表(CSS文件)来设置HTML元素的样式。

内联样式
使用style属性直接设置元素的样式:

<h1 style="color:blue;font-size:36px;">这个标题具有内联样式</h1>

内部样式表
<head>部分使用<style>元素定义CSS样式:

<!DOCTYPE html>
<html>
<head><style>h1 {color: blue;font-size: 36px;}p {color: green;}</style>
</head>
<body><h1>这个标题使用内部样式表样式</h1><p>这个段落也使用内部样式表样式</p>
</body>
</html>

外部样式表
使用<link>元素链接外部CSS文件:

<!DOCTYPE html>
<html>
<head><link rel="stylesheet" href="styles.css">
</head>
<body><h1>这个标题使用外部样式表样式</h1><p>这个段落也使用外部样式</p>

html代码很简单,只要你能记住就好了,几乎不需要理解,但设置样式对新手来说是棘手的,因为你并不熟练,并不了解每个标签的特性。下面就介绍一下。

2.HTML各标签的特性

HTML标签特性

全局特性

一些特性可以应用于任何HTML元素,被称为全局特性。常见的全局特性包括:

  • id: 为元素赋予一个唯一的标识符,用于选择器等。
  • class: 为元素赋予一个或多个类名,用于选择器等。
  • style: 内联设置元素的CSS样式。
  • title: 为元素提供附加信息,在鼠标悬停时显示工具提示。
  • lang: 指定元素的语言。
  • data-*: 用于存储私有数据,可通过JavaScript访问。

示例:

<p id="intro" class="important" style="color:red;" title="这是一个重要段落" data-author="张三">这是一段重要文字。</p>

链接特性

<a>标签用于创建链接,它有以下特性:

  • href: 链接的目标URL。
  • target: 指定链接在何处打开,如_blank为新标签页。
  • download: 将链接资源作为下载项而非在浏览器中打开。

示例:

<a href="https://www.example.com" target="_blank">在新标签页中打开</a>
<a href="example.pdf" download>下载PDF文件</a>

图像特性

<img>标签用于插入图像,它有以下特性:

  • src: 图像的URL。
  • alt: 图像无法显示时的替代文本。
  • widthheight: 设置图像的宽度和高度。

示例:

<img src="example.jpg" alt="这是一张示例图片" width="500" height="300">

表格特性

<table>标签用于创建表格,其中包含<tr>(行)和<th>(表头单元格)、<td>(数据单元格),它们有以下特性:

  • border: 设置表格边框宽度。
  • cellpadding: 设置单元格内边距。
  • cellspacing: 设置单元格间距。
  • colspanrowspan: 指定单元格合并列或行。

示例:

<table border="1" cellpadding="5" cellspacing="0"><tr><th colspan="2">学生信息</th></tr><tr><td rowspan="2">张三</td><td>90</td></tr><tr><td>80</td></tr>
</table>

表单特性

<form>标签用于创建表单,其中包含各种输入控件,如<input><textarea><select>等,它们有以下常见特性:

  • name: 控件名称,用于提交数据时标识字段。
  • value: 控件的初始值。
  • required: 指定控件为必填项。
  • pattern: 指定控件值必须匹配的正则表达式模式。
  • minmax: 对数值型控件设置最小和最大值。

示例:

<form><label for="name">姓名:</label><input type="text" id="name" name="name" required><br><label for="email">电子邮件:</label><input type="email" id="email" name="email" pattern="[^@]+@[^@]+\.[a-zA-Z]{2,6}"><br><label for="age">年龄:</label><input type="number" id="age" name="age" min="18" max="65"><br><input type="submit" value="提交">
</form>

CSS样式设置注意事项

在设置HTML元素的CSS样式时,需要注意以下几点:

  1. 选择器优先级

CSS选择器有不同的优先级,按照以下顺序从高到低:

  • 内联样式 > ID选择器 > 类选择器 > 元素选择器
  • 同级选择器,后者覆盖前者
  • 较具体的选择器优先于较不具体的选择器
  1. 继承

一些CSS属性会从父元素自动继承到子元素,如colorfont-family等。如需覆盖继承的样式,需要显式指定。

  1. 盒模型

理解CSS盒模型对于设置元素的margin、padding、border等样式很重要。

  1. 单位

CSS支持多种单位,如px(像素)、%(百分比)、em(相对字体大小)等,要根据情况选择合适的单位。

  1. 浏览器兼容性

不同浏览器对某些CSS属性或值的支持情况可能有所不同,需要注意兼容性问题。

  1. CSS重置

不同浏览器对HTML元素的默认样式存在差异,通常需要使用CSS重置来统一默认样式。

示例:清除所有元素的margin和padding:

* {margin: 0;padding: 0;
}

 ok,下篇文章介绍css。

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

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

相关文章

R语言技能 | 不同数据类型的转换

原文链接&#xff1a;R语言技能 | 不同数据类型的转换 本期教程 写在前面 今天是4月份的第一天&#xff0c;再过2天后再一次迎来清明小假期。木鸡大家是否正常放假呢&#xff1f; 我们在使用R语言做数据分析时&#xff0c;会一直对数据进行不同类型的转换&#xff0c;有时候…

Pytorch实用教程: torch.tensor()的用法

在PyTorch中&#xff0c;torch.tensor()函数是用来创建张量&#xff08;Tensor&#xff09;的一个非常基础和重要的函数。张量是PyTorch中的基本数据结构&#xff0c;用于存储和操作数据&#xff0c;可以看作是一个高维数组。torch.tensor()函数可以从数据创建新的张量&#xf…

String Encryptor custom Bean not found with name ‘jasyptStringEncryptor‘...

项目采用 spring boot 2.6.13 jasypt-spring-boot-starter 3.0.5 apollo-client 1.6.0 自定义jasyptStringEncryptor&#xff0c;服务器上启动死活报找不到bean jasyptStringEncryptor&#xff0c;采用默认的&#xff0c;密文配置项自然解密失败导致服务无法启动。 经过一…

海康Ehome2.0与5.0设备接入EasyCVR视频汇聚平台时的配置区别

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

LeetCode热题Hot100 - 最长回文子串

一刷 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同&#xff0c;则该字符串称为回文字符串。 思路&#xff1a; 返回最长回文子串&#xff0c;用maxl、maxr记录最长回文子串的起始和终点位置即可。 二维数组&#xff0c;dp[i][j]…

【AI+编程】AI工具(通义灵码)编写yaml转换properties工具类思考

需求背景&#xff1a;由于公司安装的apollo比较老&#xff0c;虽然新版本已经支持yaml格式了&#xff0c;但升级apollo代价比较大&#xff0c;有个项目配置文件之前放在项目里基于yaml编写的&#xff0c;最近想切换到apollo存储配置文件。 先百度了下&#xff0c;找了一个在线…

plasmo内容UI组件层级过高导致页面展示错乱

我使用plasmo写了一个行内样式的UI组件&#xff0c;但是放到页面上之后&#xff0c;会和下拉组件出现层级错乱&#xff0c;看了一下样式&#xff0c;吓我一跳&#xff1a;层级竟然设置的如此之高 所以就需要将层级设置低一点&#xff1a; #plasmo-shadow-container {z-index: …

使用node更加方便的操作mysql数据库的小工具

这是一个自己封装的小工具,能够更加方便的操作数据库 地址: 工具首页 git仓库地址 功能还在继续开发当中… 安装 npm install mysqinfo已经引入mysql工具包,无需在项目中再次引入mysql工具包 导入 const db require(mysqinfo)获取数据库对象 // db.dbconnect(mysql地址,mys…

HTTPS ECDHE 握手解析(计算机网络)

使用了 ECDHE&#xff0c;在 TLS 第四次握手前&#xff0c;客户端就已经发送了加密的 HTTP 数据&#xff0c;而对于 RSA 握手过程&#xff0c;必须要完成 TLS 四次握手&#xff0c;才能传输应用数据。 所以&#xff0c;ECDHE 相比 RSA 握手过程省去了一个消息往返的时间&#…

【计算机网络】select/poll

多路转接 - select/poll 一、I/O 多路转接之 select1. select 接口2. select 的使用3. select 的优缺点 二、I/O 多路转接之 poll1. poll 接口2. poll 的使用3. poll 与 select 的对比 一、I/O 多路转接之 select 多路转接属于 IO 复用方式的一种。系统提供 select() 函数来实…

Pinia的数据持久化

Pinia的数据持久化可以通过多种方式实现&#xff0c;例如使用vuex-persistedstate插件或专门为Pinia设计的插件如pinia-plugin-persist。下面我将通过一个简单的例子来说明如何使用Pinia及其数据持久化功能。 假设我们有一个简单的Vue 3应用程序&#xff0c;其中包含一个用户模…

R语言,数据类型转换

原文链接&#xff1a;R语言技能 | 不同数据类型的转换 本期教程 写在前面 今天是4月份的第一天&#xff0c;再过2天后再一次迎来清明小假期。木鸡大家是否正常放假呢&#xff1f; 我们在使用R语言做数据分析时&#xff0c;会一直对数据进行不同类型的转换&#xff0c;有时候…

【阅读笔记】《博物馆之眼》

笔记 “不论你踏进哪一所博物馆之前&#xff0c;适当地了解它的历史和藏品内容会给你极大的帮助&#xff0c;正如一份好的攻略会让你的旅途大大增值。” 上篇 博物馆文化现象 大英博物馆的第一批藏品由一个医生在死前捐给英国王室&#xff0c;王室随机修建了大英博物馆。 明长…

百度网站收录提交入口

百度网站收录提交入口 在网站刚建立或者更新内容后&#xff0c;及时将网站提交给搜索引擎是提高网站曝光和获取流量的重要步骤之一。百度作为中国最大的搜索引擎之一&#xff0c;网站在百度中的收录情况尤为重要。下面介绍一下如何通过百度的网站收录提交入口提交网站。 1. 百…

代码随想录算法训练营第39天|62.不同路径 |63. 不同路径 II

代码随想录算法训练营第39天|62.不同路径 |63. 不同路径 II 详细布置 62.不同路径 本题大家掌握动态规划的方法就可以。 数论方法 有点非主流&#xff0c;很难想到。 https://programmercarl.com/0062.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84.html 视频讲解&#xff1a;https…

封装表格组件,最后一列动态生成 vue3子组件通过slot传值向父组件

将表格二次封装&#xff0c;方便以后开发中的复用。每次只需调用表格组件后&#xff0c;在父组件中往子组件标签上写入dataSource&#xff08;表格数据&#xff09;和columns&#xff08;表格列标题&#xff09;即可。 此案例中最后一列是删除按钮&#xff0c;动态生成&#xf…

DFS2 C++

一、指数型枚举 1、题目&#xff1a; 从 1∼n1∼ 这 n 个整数中随机选取任意多个&#xff0c;输出所有可能的选择方案。 输入格式 输入一个整数 n。 输出格式 每行输出一种方案。 同一行内的数必须升序排列&#xff0c;相邻两个数用恰好 11 个空格隔开。 对于没有选任何…

Day29 多线程

Day29 多线程 一、什么是进程 进程是系统进行资源分配和调用的独立单元&#xff0c;每一个进程都有它的独立内存空间和系统资源。 二、单进程操作系统和多进程操作系统的区别 单进程操作系统&#xff1a;dos&#xff08;一瞬间只能执行一个任务&#xff09; 多进程单用户操作系…

Spire.PDF for .NET【文档操作】演示:合并 PDF 文件并添加页码

搜索了这么多有关 PDF 合并的信息后&#xff0c;很容易发现&#xff0c;无论您在线合并 PDF 文件还是使用 C#/VB.NET 来实现此任务&#xff0c;您都无法逃避对 PDF 文件安全等一些重要问题的担忧&#xff0c;因此需要花费多少时间或者合并后的文件是否支持打印页码等等。不过&a…