HTML+css+js学习

news/2026/1/20 18:46:15/文章来源:https://www.cnblogs.com/shenleblog/p/19503919

HTML语法学习

供个人使用,学习自菜鸟教程
为了博客自定义设计,来系统学习下相关的HTML+css+js语法
只是一个简单的语法了解


html5(HyperText Markup Language/超文本标记语言)
网页的[结构]和[内容] (网页的骨架)
后缀html,htm
img

基础

<h1>这是一个标题</h1>
<p>这是一个段落</p>
<a href="https://www.cnblogs.com/shenleblog/">这是一个链接</a>
<img src="https://www.runoob.com/wp-content/uploads/2013/06/02A7DD95-22B4-4FB9-B994-DDB5393F7F03.jpg" width="300" />

元素

HTML 标签对大小写不敏感:

等同于

<p>这是第一个段落,p元素定义</p><body>
<p>这是第一个段落,body元素定义html文档主体</p>
</body><html>
<body>
<p>这是第一个段落,html元素定义html文档</p>
</body>
</html><br> 就是没有关闭标签的空元素(<br> 标签定义换行)。

属性

双引号,单引号都可

<a href='https://www.runoob.com'>链接</a>
<div id="header">标识符</div>
<p class="text highlight">类名</p>
<p style="color: blue; font-size: 14px;">css样式</p>
<abbr title="HyperText Markup Language">提示信息</abbr>   
<div data-user-id="12345">存储自定义数据</div>

标题

<h1>这是一个标题。</h1>
<h2>这是一个标题。</h2>
<h3>这是一个标题。</h3>
<h4>这是一个标题。</h4>
<h5>这是一个标题。</h5>
<h6>这是一个标题。</h6>

<hr>等于md的- - -,分割水平线

文本格式化

<b>加粗文本</b><br><br>
<i>斜体文本</i><br><br>
<code>电脑自动输出</code><br><br>
这是 <sub> 下标</sub> 和 <sup> 上标</sup>

链接

<a href="/index.html">本文本</a> 是一个指向本网站中的一个页面的链接。</p>
<p><a href="https://www.microsoft.com/">本文本</a> 是一个指向万维网上的页面的链接。</p>
<a href="https://www.example.com" target="_blank" rel="noopener">新窗口打开 Example</a>

_blank: 在新窗口或新标签页中打开链接。
_self: 在当前窗口或标签页中打开链接(默认)。
_parent: 在父框架中打开链接。
_top: 在整个窗口中打开链接,取消任何框架。

头部

<head> 元素包含了所有的头部标签元素。在 <head>元素中你可以插入脚本(scripts), 样式文件(CSS),及各种meta信息。

可以添加在头部区域的元素标签为: <title>, <style>, <meta>, <link>, <script>, <noscript>, <base>

css

  1. 内联样式,使用style属性
<p style="color:blue;margin-left:20px;">这是一个段落。</p>
  1. 内部样式表,在head元素使用style标签
<head>
<style>
body {background-color: linen;
}
h1 {color: maroon;margin-left: 40px;
}
</style>
</head>
  1. 外部样式表,使用link标签引入外部css文件
<head>
<link rel="stylesheet" href="styles.css">
</head>

脚本

<script> 标签用于定义客户端脚本,比如 JavaScript。
<script> 元素既可包含脚本语句,也可通过 src 属性指向外部脚本文件。
<noscript> 标签提供无法使用脚本时的替代内容,比方在浏览器禁用脚本时,或浏览器不支持客户端脚本时。

<script>
document.write("Hello World!")
</script>
<noscript>抱歉,你的浏览器不支持 JavaScript!</noscript>

CSS学习

先学一些基础点,大头之后查找相关文档即可


CSS语法

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:
img
CSS声明总是以分号 ; 结束,声明总以大括号 {} 括起来:

p
{color:red;text-align:center;/*这是一个注释*/
}

id和class

id 选择器

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
CSS 中 id 选择器以 "#" 来定义。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
<style>
#para1
{text-align:center;color:red;
} 
</style>
</head><body>
<p id="para1">Hello World!</p>
<p>这个段落不受该样式的影响。</p>
</body>
</html>

class 选择器

class 属性表示, 在 CSS 中,类选择器以一个点 . 号显示:

.center {text-align:center;}/*所有拥有 center 类的 HTML 元素均为居中。eg:<h1 class="center">标题居中</h1>*/p.center {text-align:center;}/*所有的 p 元素使用 class="center" 让该元素的文本居中:*/

css创建

  1. 外部样式表(External style sheet)
  2. 内部样式表(Internal style sheet)
  3. 内联样式(Inline style)

(内联样式)Inline style > (内部样式)Internal style sheet >(外部样式)External style sheet > 浏览器默认样式


外部样式表

改变一个文件来改变整个站点的外观。每个页面使用 <link> 标签链接到样式表。 <link> 标签在(文档的)头部

<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>

内部样式表

使用 <style> 标签在文档头部定义内部样式表

<head>
<style>
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("images/back40.gif");}
</style>
</head>

内联样式

使用 style 属性为单个元素定义样式。

<p style="color:blue;margin-left:20px;">这是一个段落。</p>

链接

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
<style>
a:link {color:#000000;text-decoration:none;background-color:#B2FF99;}      /* 未访问链接*/
a:visited {color:#00FF00;text-decoration:none;background-color:#FFFF85;}  /* 已访问链接 */
a:hover {color:#FF00FF;text-decoration:underline;background-color:#FF704D;}  /* 鼠标移动到链接上 */
a:active {color:#0000FF;text-decoration:underline;background-color:#FF704D;}  /* 鼠标点击时 */
</style>
</head>
<body>
<p><b><a href="/css/" target="_blank">这是一个链接</a></b></p>
<p><b>注意:</b> a:hover 必须在 a:link 和 a:visited 之后,需要严格按顺序才能看到效果。</p>
<p><b>注意:</b> a:active 必须在 a:hover 之后。</p>
</body>
</html>

边框

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
<style>
p.none {border-style:none;}
p.dotted {border-style:dotted;}
p.dashed {border-style:dashed;}
p.solid {border-style:solid;}
p.double {border-style:double;}
p.groove {border-style:groove;}
p.ridge {border-style:ridge;}
p.inset {border-style:inset;}
p.outset {border-style:outset;}
p.hidden {border-style:hidden;}
p.mix {border-style: dotted dashed solid double;}
</style>
</head><body>
<p class="none">无边框。</p>
<p class="dotted">虚线边框。</p>
<p class="dashed">虚线边框。</p>
<p class="solid">实线边框。</p>
<p class="double">双边框。</p>
<p class="groove"> 凹槽边框。</p>
<p class="ridge">垄状边框。</p>
<p class="inset">嵌入边框。</p>
<p class="outset">外凸边框。</p>
<p class="hidden">隐藏边框。</p>
<p class="mix">混合边框</p>
</body></html>

定位

js学习

输出

使用 window.alert() 弹出警告框。
使用 document.write() 方法将内容写到 HTML 文档中。
使用 innerHTML 写入到 HTML 元素。
使用 console.log() 写入到浏览器的控制台。

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
</head>
<body><h1>我的第一个 Web 页面</h1>
<p id="demo">我的第一个段落。</p>
<script>
window.alert(5 + 6);
</script>
<script>
document.getElementById("demo").innerHTML="段落已修改。";
</script>
<script>
document.write(Date());
</script>
<button onclick="myFunction()">点我</button>
<script>
function myFunction() {document.write(Date());
}
</script>
<script>
a = 5;
b = 6;
c = a + b;
console.log(c);
</script></body>
</html>

简单语法

语句 描述
break 用于跳出循环。
catch 语句块,在 try 语句块执行出错时执行 catch 语句块。
continue 跳过循环中的一个迭代。
do ... while 执行一个语句块,在条件语句为 true 时继续执行该语句块。
for 在条件语句为 true 时,可以将代码块执行指定的次数。
for ... in 用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
function 定义一个函数
if ... else 用于基于不同的条件来执行不同的动作。
return 返回结果,并退出函数
switch 用于基于不同的条件来执行不同的动作。
throw 抛出(生成)错误 。
try 实现错误处理,与 catch 一同使用。
var 声明一个变量。
while 当条件语句为 true 时,执行语句块。

变量

  • var:ES5 引入的变量声明方式,具有函数作用域。
  • let:ES6 引入的变量声明方式,具有块级作用域。
  • const:ES6 引入的常量声明方式,具有块级作用域,且值不可变。

数据类型

  • 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol。
  • 引用数据类型(对象类型):对象(Object)、数组(Array)、函数(Function),还有两个特殊的对象:正则(RegExp)和日期(Date)。

对象

let person = {firstName:"John",lastName:"Doe",age:50,eyeColor:"blue"
};

访问对象

  • person.lastName;,
  • person["lastName"]; .

对象方法是一个函数定义,并作为一个属性值存储。

var person = {firstName: "John",lastName : "Doe",id : 5566,fullName : function() {return this.firstName + " " + this.lastName;}
};
document.getElementById("demo").innerHTML = person.fullName();

函数

<p>点击这个按钮,来调用带参数的函数。</p>
<button onclick="myFunction('Harry Potter','Wizard')">点击这里</button>
<script>
function myFunction(name,job){alert("Welcome " + name + ", the " + job);
}
</script>
<!--带返回值 -->
<p id="demo"></p>
<script>
function myFunction(a,b){return a*b;
}
document.getElementById("demo").innerHTML=myFunction(4,3);
</script>

事件

HTML 事件是发生在 HTML 元素上的事情。
当在 HTML 页面中使用 JavaScript 时, JavaScript 可以触发这些事件。

  • <some-HTML-element some-event='JavaScript 代码'>
  • <some-HTML-element some-event="JavaScript 代码">

<!--修改 id="demo" 元素的内容 -->
<button onclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button>
<!--修改自身元素的内容 --><button onclick="this.innerHTML=Date()">现在的时间是?</button>
事件 描述
onchange HTML 元素改变
onclick 用户点击 HTML 元素
onmouseover 鼠标指针移动到指定的元素上时发生
onmouseout 用户从一个 HTML 元素上移开鼠标时发生
onkeydown 用户按下键盘按键
onload 浏览器已完成页面的加载

语法

ifelse

if (time<10)
{document.write("<b>早上好</b>");
}
else if (time>=10 && time<20)
{document.write("<b>今天好</b>");
}
else
{document.write("<b>晚上好!</b>");
}

switch

var d=new Date().getDay();
switch (d)
{case 6:x="今天是星期六";break;case 0:x="今天是星期日";break;default:x="期待周末";
}
document.getElementById("demo").innerHTML=x;

for

for (var i=0; i<5; i++)
{x=x + "该数字为 " + i + "<br>";
}
//循环遍历对象 "person" 的属性
var person={fname:"Bill",lname:"Gates",age:56}; for (x in person)  // x 为属性名
{txt=txt + person[x];
}

while

while (i<5)
{x=x + "The number is " + i + "<br>";i++;
}
do
{x=x + "The number is " + i + "<br>";i++;
}
while (i<5);

break、continue

for (i=0;i<10;i++)
{if (i==3) break;x=x + "The number is " + i + "<br>";
}
for (i=0;i<=10;i++)
{if (i==3) continue;x=x + "The number is " + i + "<br>";
}

typeof

typeof 操作符来检测变量的数据类型。

表达式 返回值 说明
typeof undefined "undefined" 未定义的值
typeof true "boolean" 布尔值
typeof 42 "number" 所有数字类型
typeof "text" "string" 字符串
typeof "object" 对象、数组、null
typeof function(){} "function" 函数
typeof Symbol() "symbol" ES6新增符号类型
typeof BigInt(10) "bigint" ES2020新增大整数类型

错误

  1. try 语句测试代码块的错误。
  2. catch 语句处理错误。
  3. throw 语句创建自定义错误。
  4. finally 语句在 try 和 catch 语句之后,无论是否有触发异常,该语句都会执行。
//finally 语句不论之前的 try 和 catch 中是否产生异常都会执行该代码块。
//throw 语句允许我们创建自定义错误。
function myFunction() {var message, x;message = document.getElementById("p01");message.innerHTML = "";x = document.getElementById("demo").value;try { if(x == "") throw "值是空的";if(isNaN(x)) throw "值不是一个数字";x = Number(x);if(x > 10) throw "太大";if(x < 5) throw "太小";}catch(err) {message.innerHTML = "错误: " + err + ".";}finally {document.getElementById("demo").value = "";}
}

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

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

相关文章

指纹浏览器分布式协同计算技术架构与构建

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

螺纹磨床选购全攻略:优质厂家与品牌大揭秘! - 品牌推荐大师

在高端制造业迈向智能化、精密化的今天,螺纹磨床作为加工核心功能部件——如滚珠丝杠、行星滚柱丝杠等——的关键装备,其重要性日益凸显。尤其是在人形机器人、新能源汽车、高端医疗器械等新兴领域,对螺纹的精度、效…

不知道写什么

怎么才第三天写鲜花就已经进入不知道写什么的阶段了。 倒不是没东西写,有太多想写的,反而不知道写啥了。其实好像也不多,有很多零散的想法。 容斥 昨天模拟赛两个容斥题,感觉有的时候其实容斥是有点反直觉的,就像…

啥牌子灵芝孢子油好 灵芝孢子油选购白皮书权威指南实用排行榜 - 资讯焦点

啥牌子灵芝孢子油好 灵芝孢子油选购白皮书权威指南实用排行榜一:摘要 芝素堂灵芝孢子油在全链自控、生态臻料、品高控严、超高含量、高纯高效、严控保真、销量评价七大维度综合表现突出,实测总三萜含量达67.2%,依托…

双模型透视 GEO 优化服务商:2026 能力解码与选型逻辑

当用户习惯向AI直接“提问”而非在搜索引擎中“筛选”时&#xff0c;一场深刻的流量入口革命已然发生。易观分析报告预测&#xff0c;中国生成式引擎优化&#xff08;GEO&#xff09;市场规模将在未来三年内呈几何级数增长&#xff0c;从2025年的2.5亿元激增至2027年的90亿元&a…

解锁Bilibili-Evolved:10个改变B站体验的隐藏技巧

解锁Bilibili-Evolved&#xff1a;10个改变B站体验的隐藏技巧 【免费下载链接】Bilibili-Evolved 强大的哔哩哔哩增强脚本 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved Bilibili-Evolved作为一款功能强大的B站增强脚本&#xff0c;为普通用户和内容创…

中兴光猫配置解密工具:3分钟掌握家庭网络配置核心技能

中兴光猫配置解密工具&#xff1a;3分钟掌握家庭网络配置核心技能 【免费下载链接】ZET-Optical-Network-Terminal-Decoder 项目地址: https://gitcode.com/gh_mirrors/ze/ZET-Optical-Network-Terminal-Decoder 中兴光猫配置解密工具是一款基于Qt框架开发的实用软件&a…

谁在领跑AI时代的“认知基建”?2026年全国GEO服务市场最新排名与趋势 - 资讯焦点

据行业权威报告显示,2025年,中国GEO服务市场规模已达42亿元,市场高度集中,头部10%的服务商掌控着60%的成功案例。本指南基于2025年末至2026年第一季度的全国市场调研,从定位、技术、模式、案例四大维度进行综合评…

详细介绍:【攻防世界】reverse | Mysterious 详细题解 WP

详细介绍:【攻防世界】reverse | Mysterious 详细题解 WPpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

时间紧任务重?三个月攻克副主任护师备考全拆解(2026考生适用) - 医考机构品牌测评专家

时间紧任务重?三个月攻克副主任护师备考全拆解(2026考生适用)对于 2026 年副主任护师考生而言,若备考时间紧张,如何在三个月内高效攻克考试难点、覆盖核心考点,成为待解决的问题。副主任护师考试知识点多且杂,既…

sql介绍及命令

1、rpm -qa|grep mysql 检查mysql安装包 2、删除mysql指定的包 (1)rpm -e --nodeps 包名 删除指定的包名 如:rpm -e --nodeps mysql-libs-5.1.71-1.el6.i686 (2)yum remove mysql* 删除在线安装点包 3、yum in…

2026副主任护师高效通关:三个月速成计划表与备考攻略测评 - 医考机构品牌测评专家

2026副主任护师高效通关:三个月速成计划表与备考攻略测评前言面对2026年副主任护师考试,若备考时间仅剩三个月,传统的备考模式往往难以为继。如何在有限时间内实现高效突破,成为决定成败的关键。本文旨在构建一份以…

AI图像编辑神器:Inpaint Anything完全指南

AI图像编辑神器&#xff1a;Inpaint Anything完全指南 【免费下载链接】Inpaint-Anything Inpaint anything using Segment Anything and inpainting models. 项目地址: https://gitcode.com/gh_mirrors/in/Inpaint-Anything 想要轻松移除照片中的多余物体&#xff1f;或…

Mermaid Live Editor完整教程:免费在线实时编辑流程图

Mermaid Live Editor完整教程&#xff1a;免费在线实时编辑流程图 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-editor…

2026 年仓库地坪漆哪家靠谱?多家厂家场景细分 个性化精准匹配实用指南 - 深度智识库

近年来,国内仓储物流行业保持年均 8% 以上的增长速度,2025 年全国仓储设施总面积突破 20 亿平方米,其中新建及改造仓库对地坪漆的年需求量超 50 万吨。随着环保政策收紧,京津冀、长三角、珠三角等重点区域已明确限…

绝地求生罗技压枪脚本实战配置秘籍

绝地求生罗技压枪脚本实战配置秘籍 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 你是否在"吃鸡"时总是因为后坐力控制不住而错失良机…

Java领航AI转型:原生框架助力企业智能升级

Java转型AI&#xff1a;挑战与机遇并存在当今数字化浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;已成为推动企业创新与发展的关键力量。Java&#xff0c;作为企业级应用开发的主导语言&#xff0c;其稳定性和强大的生态系统使其在传统业务领域占据着举足轻重的地位。…

短期速成指南:2026主任护师三个月详细备考安排助高效过考 - 医考机构品牌测评专家

短期速成指南:2026主任护师三个月详细备考安排助高效过考前言2026主任护师考试备考已进入关键阶段,对于时间紧张、希望短期高效通关的考生而言,科学的三个月备考安排至关重要。主任护师考试涉及知识点繁杂,覆盖专业…

北航多无人机编队控制研究:基于光学动作捕捉的在线轨迹规划与复杂障碍环境的实时避障实验验证

在多无人机编队控制领域,如何在复杂障碍环境中实现安全、平滑、实时的飞行轨迹规划,一直是无人机自主控制研究的关键难题。北京航空航天大学研究团队提出了一种基于分布式编队控制方法与在线轨迹规划的新型多无人机编…

FigmaCN中文插件完整指南:5分钟快速实现界面本地化

FigmaCN中文插件完整指南&#xff1a;5分钟快速实现界面本地化 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma全英文界面而烦恼吗&#xff1f;FigmaCN中文插件通过专业设计…