当前位置: 首页 > news >正文

简单学习HTML+CSS+JavaScript

一、HTML

HTML被称为 超文本标记语言,是由一系列标签构成的语言。

下面介绍HTML中的标签:

(一)HTML文件基本结构

<!DOCTYPE html><html><head><title>Document</title></head>
<body></body></html>
  • html 标签是整个 html 文件的根标签 (最顶层标签)。
  • head 标签中写页面的属性。
  • title 标签中写的是页面标题。
  • body 标签中写的是页面上显示的内容。

(二)HTML中标签层次结构

  • head 和 body 是 html 的子标签 (html 就是 head 和 body 的父标签)。
  • title 是 head 的子标签. head 是 title 的父标签。
  • head 和 body 之间是兄弟关系。

(三)HTML常见标签

1.标题标签<h1>

标题标签一共有六个,h1-h6,数字越大标题字体越小。

<h1>hello</h1>
<h2>hello</h2>
<h3>hello</h3>
<h4>hello</h4>
<h5>hello</h5>
<h6>hello</h6>

2.段落标签<p>

表示一个段落,段落与其他格式的文本之间会自动空出一行,但是前面没有缩进。

<p>这是一个段落</p>
<p>这是一个段落</p>
<p>这是一个段落</p>

3.换行标签<br/>

换行标签是一个单标签。

这是一个br标签<br/>
这是一个br标签<br/>
这是一个br标签<br/>

观察段落标签和换行标签的区别:

4.图片标签 img

img标签内必须带有src属性,来表示图片的路径。

<img src="rose.jpg">

img标签的其他属性:

width、height:控制宽度和高度,单位是像素(px)。往往只用修改一个即可,修改一个属性 图片会等比例变化。

border:表示图片的边框,单位是像素(px)。

<img src="" width="500px" height="500px" border="2px">
  • 属性可以有多个,不能写到标签之前。
  • 属性之间用空格分割,可以是多个空格,也可以是换行。
  • 属性之间不分先后顺序。
  • 属性使用 "键值对" 的格式来表示。

5.超链接:a

<a href="http://www.baidu.com" target="_blank">百度</a>
  • href:必须具备,表示点击后会跳转到哪个页面。
  • target:打开方式.默认是 _self.如果是 _blank 则用新的标签页打开。

href的链接可以是外部链接(如http://www.baidu.com),也可以是内部链接(在同一个目录下的文件,比如1.html)或者空链接(填入#表示空链接)。

6.表格标签

 <table style="width: 200px;height: 300px;" border="1px black"><tr><td>aaa</td><td>bbb</td></tr><tr><td>ccc</td><td>ddd</td></tr><tr><td>eee</td><td>fff</td></tr><tr><td>ggg</td><td>hhh</td></tr></table>
  • table标签:表示的是整个表格。
  • tr标签:表示表格中的一行。
  • td标签:表示表格中的一个单元格。

7.表单标签

表单是让用户输入信息的重要途径。

分为表单域(form)和表单控件(input)。

form标签
<form action="test.html"></form>

action表示将要把表单提交到哪个页面。

input标签
<input type="text">

用于各种输入控件,单行文本框,按钮,单选框,复选框.

  • type (必须有), 取值种类很多,button, checkbox, text, file, image, password, radio 等。
  • name: 给 input 起了个名字。尤其是对于单选按钮,具有相同的 name 才能多选一。类似于一个四选一选择题,要将四个选项的name都设置成一样的,才知道这是个选项针对的是这一道题。
  • value: input 中的默认值。
  • checked: 默认被选中(用于单选按钮和多选按钮)。

下面是一些常见的type类型:

文本框:
<input type="text">密码框:
<input type="password">单选框(多个选项的name一样):
<input type="radio" name="sex">男性
<input type="radio" name="sex" checked="checked">女性复选框:
<input type="checkbox">吃饭 <input type="checkbox">睡觉 <input type="checkbox">打豆豆普通按钮:
<input type="button" value="我是一个普通按钮">提交按钮:
<form action="1.html"><input type="text" name="username"><input type="submit" value="提交">
</form>
slecet标签

表示下拉菜单。

 下拉菜单<select><option>北京</option><option selected="selected">上海</option></select>

option标签中selected属性值为selected时,表示默认选中。

textarea标签

用于改变设置文本框的长宽大小。

<textarea rows="50px" cols="50px">你好呀</textarea>

8.无语意标签:div&span

div和span就是两个盒子,用于网页布局。

  • div 是独占一行的,是一个大盒子。
  • span 不独占一行,是一个小盒子。
<div><span>咬人猫</span><span>咬人猫</span><span>咬人猫</span>
</div>
<div><span>兔总裁</span><span>兔总裁</span><span>兔总裁</span>
</div>
<div><span>阿叶君</span><span>阿叶君</span><span>阿叶君</span>
</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><h1>用户注册</h1><table><tr><td>用户名</td><td><input type="text" value="请输入用户名"></td></tr><tr><td>手机号</td><td><input type="text" value="请输入手机号"></td></tr><tr><td>密码</td><td><input type="password" value="请输入密码"></td></tr></table><div><span><input type="button" value="注册"></span><span>已有账号?</span><span><a href="#">登录</a></span></div>
</body>
</html>

二、CSS

从这幅图中可以看出HTML、CSS、JavaScript的区别和特点:

  • HTML是网页的基础结构层,本身不涉及样式美化和交互功能,只是单纯地组织内容。
  • CSS专注于视觉呈现,依赖 HTML 的结构,通过选择器来针对特定的 HTML 元素应用样式规则。
  • JavaScript是网页的行为层,能够让静态的网页变得动态、可交互,常与 HTML 和 CSS 配合,增强网页的功能性和用户体验。

(一)基本语法规范

选择器+{一条/n条声明},一般写在head标签中的style中。

  • 选择器决定针对谁进行修改。
  • 声明决定怎样进行修改。
  • 声明的属性是键值对。
<style>p {/* 设置字体颜色 */color: red;/* 设置字体大小 */font-size: 30px;}
</style><p>hello</p>

(二)引入方式

一共有三种引入方式:

引入方式语法描述示例
行内样式在标签内使用style属性,属性值是css属性键值对<div style="color:green">绿色</div>
内部样式定义style标签,在标签内部定义css样式<style> h1 {...} </style>
外部样式定义link标签,通过href属性引入外部css文件<link rel="stylesheet" href="[CSS文件路径]">
  • 行内样式,只适合于写简单样式。只针对某个标签生效。缺点是不能写太复杂的样式。
  • 内部样式会出现大量的代码冗余,不方便后期的维护,所以不常用。
  • 外部样式,html 和 css 实现了完全的分离,企业开发常用方式。

(三)CSS中的选择器类型

1.标签选择器

/* 选择所有的a标签,设置颜色为红色 */
a {color: red;
}/* 选择所有的div标签,设置颜色为绿色 */
div {color: green;
}

2.class选择器

/* 选择class为font32的元素,设置字体大小为32px */
.font32 {font-size: 32px;
}

3.id选择器

/* 选择id为submit的元素,设置颜色为红色 */
#submit {color: red;
}

4.复合选择器

/* 设置页面所有元素,颜色为红色*/
* {color: red;
}

5.通配符选择器

/*只设置 ul标签下的 li标签下的 a标签,颜色为红色*/
ul li a {color: blue;
}
  1. 以上三个标签选择器 ul li a 中的任意,都可以替换成类选择器,或者 id 选择器,可以是任意选择器的组合,也可以是任意数量选择器的组合。
  2. 不一定是相邻的标签,也可以是 "孙子" 标签。
  3. 如果需要选择多种标签,可以使用 , 分割,如 p, div { } 表示同时选中 p 标签和 div 标签。逗号前后可以是以上任意选择器,也可以是选择器的组合。

(四)常见的CSS样式

有如下HTML代码:

<div class="text1">我是文本1</div>

设置颜色

.text1{color: red;
}

设置字体大小

.text1{font-size: 32px;
}

设置边框

边框是一个复合属性,可以同时设置多个样式,不分前后顺序,浏览器会根据设置的值自动判断。

.text1{border: 1px solid purple;
}

同时也可以写成这样:

.text1 {/* 这是 border 属性的拆分写法,原本可以用 border: 1px purple solid; 一次性设置,这里拆分为宽度、样式、颜色分别设置 *//* border: 1px purple solid; */border-width: 1px; /* 设置边框宽度为 1px */border-style: solid; /* 设置边框样式为实线(solid) */border-color: purple; /* 设置边框颜色为紫色(purple) */
}

设置宽高

.text {/* 这是 width 和 height 属性的单独设置,分别控制元素的宽度和高度 */width: 200px; /* 设置元素宽度为 200px */height: 150px; /* 设置元素高度为 150px */
}

设置内外边距

.text {/* 内边距(padding):控制元素边框与内容之间的距离 */padding-top: 10px; /* 上内边距为 10px */padding-right: 20px; /* 右内边距为 20px */padding-bottom: 15px; /* 下内边距为 15px */padding-left: 25px; /* 左内边距为 25px *//* 外边距(margin):控制元素与其他元素之间的距离 */margin-top: 5px; /* 上外边距为 5px */margin-right: 10px; /* 右外边距为 10px */margin-bottom: 8px; /* 下外边距为 8px */margin-left: 12px; /* 左外边距为 12px */
}

三、JavaScript

(一)引入方式

引入方式语法表述示例
行内样式直接嵌入到 html 元素内部<input type="button" value="点我一下" οnclick="alert('haha')">
内部样式定义<script>标签,写到 script 标签中<script>
alert("haha");
</script>
外部样式定义<script>标签,通过 src 属性引入外部 js 文件<script src="hello.js"></script>

(二)基础语法

1.创建变量

创建变量常用到下面三个关键字:

关键字解释示例
var早期JS中声明变量的关键字,作用域在该语句的函数内var name="zhangsan";
letES6中新增的声明变量的关键字,作用域为该语句所在的代码块内let name="zhangsan";
const声明常量的,声明后不能修改const name="zhangsan";

JavaScript是一门动态的弱类型语言,同一个变量也可以存放不同类型的值。

2.数据类型

数据类型描述
number数字,不区分整数和小数。
string字符串类型,字符串字面值需要使用引号引起来,单引号双引号均可。
boolean布尔类型:true 真,false 假。
undefined表示变量未初始化,只有唯一的值 undefined。
<script>var a = 10;console.log(typeof a); //numbervar b = 'hello';console.log(typeof b); //stringvar c = true;console.log(typeof c); //booleanvar d;console.log(typeof d); //undefinedvar e = null;console.log(typeof e); //null
</script>

3.运算符

JavaScript中的运算符和Java中基本一致,介绍一下==和===的区别:

  • ==是仅仅比较值是否一样。
  • ===在比较值是否一样的基础上,还要比较其类型。
<script>var age = 20;var age1 = "20";var age2 = 20;console.log(age == age1); //true,比较值console.log(age === age1); //false,类型不一样console.log(age == age2); //true,值和类型都一样
</script>

(三)JavaScript对象

1.数组

创建方式:

//使用关键字new创建
// Array 的 A 要大写
var arr = new Array();//使用字面量方式创建 [常用]
var arr = [];
var arr2 = [1, 2, 'haha', false]; // 数组中保存的内容称为 "元素"

对数组的操作:

<script>var arr = [1, 2, 'haha', false];// 读取数组console.log(arr[0]); // 1// 添加数组元素arr[4] = "add"console.log(arr[4]); // addconsole.log(arr.length); // 5,获取数组的长度// 修改数组元素arr[4] = "update"console.log(arr[4]); // update// 删除数组元素arr.splice(4, 1); // 第一个参数表示从下标为4的位置开始删除。第二个参数表示要删除的元素个数是 1 个console.log(arr[4]); // undefined 元素已经删除,如果元素不存在,结果为undefinedconsole.log(arr.length); // 4,获取数组的长度
</script>

2.函数

函数的语法格式:

// 创建函数/函数声明/函数定义
function 函数名(形参列表) {函数体return 返回值;
}// 函数调用
函数名(实参列表);          // 不考虑返回值
let 返回值 = 函数名(实参列表);  // 考虑返回值

注意点:

  • JavaScript中函数可以先调用再声明。
  • 如果调用时实参与声明时的形参数量不匹配,多出来的不管,缺少的被当做undefined。

3.对象

使用{}创建对象:

var a = {}; // 创建了一个空的对象var student = {name: '蔡徐坤',height: 175,weight: 170,sayHello: function() {console.log("hello");}
};

使用Object创建对象:

var student = new Object(); // 和创建数组类似
student.name = "蔡徐坤";
student.height = 175;
student['weight'] = 170;
student.sayHello = function () {console.log("hello");
}console.log(student.name);
console.log(student['weight']);
student.sayHello();

(四)JQuery

jQuery是一个快速、简洁且功能丰富的JavaScript框架,于2006年发布。它封装JavaScript常用的功能代码,提供了简洁而强大的选择器和DOM操作方法。使用JQuery可以轻松地选择和操作HTML元素,从而减少了开发人员编写的代码量,提高了开发效率,它提供的API易于使用且兼容众多浏览器,这让诸如HTML文档遍历和操作、事件处理、动画和Ajax操作更加简单。JQuery对于事件的处理也进行了简化,提供了一个简单的API来绑定、触发和处理事件,使开发人员能够更方便地处理各种交互行为。

基础语法:

$(selector).action()
  • $() 是一个函数,它是 jQuery 提供的一个全局函数,用于选择和操作 HTML 元素。
  • Selector 选择器,用来 "查询" 和 "查找" HTML 元素。
  • action 操作,执行对元素的操作。

JQuery 的代码通常都写在 document ready 函数中。
document:整个文档对象,一个页面就是一个文档对象,使用 document 表示。
这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码,即在文档加载完成后才可以对页面进行操作。
如果在文档没有完全加载之前就运行函数,操作可能失败。

示例如下:

<button type="button">点我消失</button>
<script>$(document).ready(function(){$('button').click(function(){//给按钮添加了click事件,点击后元素消失。$(this).hide();});});
</script>

JQuery也有一些自定义的选择器:

$("标签/#id/.对象").action()

JQuery事件

事件代码
文档就绪事件 (完成加载)$(document).ready(function)
点击事件$(selector).click(function)
双击事件$(selector).dblclick(function)
元素的值发生改变$(selector).change(function)
鼠标悬停事件$(selector).mouseover(function)

操作元素

获取/设置元素内容
JQuery方法说明
text()设置或返回所选文本内容
html()设置或返回所选文本内容(包括HTML标签)
val()设置或返回表单字段的值

设置内容:

<div id="test"></div>
<div id="test2"></div>
<input type="text" value=""><script>$(document).ready(function () {$("#test").html('<h1>设置html</h1>');$("#test2").text('<h1>设置text</h1>');$("input").val("设置内容");});
</script>

获取内容:

<div id="test"><span>你好</span></div>
<input type="text" value="hello"><script>$(document).ready(function () {var html = $("#test").html();console.log("html内容为:" + html);var text = $("#test").text();console.log("文本内容为:" + text);var inputVal = $("input").val();console.log(inputVal);});
</script>
获取/设置元素属性

JQuery attr() 方法用于获取属性值。

设置元素属性

<p><a href="https://www.bitejiuyeke.com/index" id="bite">比特就业课</a></p>
<script>$(function(){$("p a").attr("href","baidu.com")console.log($("p a").attr("href"));});
</script>

获取元素属性

<p><a href="https://www.bitejiuyeke.com/index" id="bite">比特就业课</a></p>
<script>$(function(){var href = $("p a").attr("href")console.log(href);});
</script>
获取/返回css属性

获取元素属性

<div style="font-size: 36px;">我是一个文本</div>
<script>$(function(){var fontSize = $("div").css("font-size");console.log(fontSize);});
</script>

设置元素属性

<div style="font-size: 36px;">我是一个文本</div>
<script>$(function(){$("div").css("font-size","24px");});
</script>
添加元素/删除元素

添加元素

<ol><li>List item 1</li><li>List item 2</li><li>List item 3</li>
</ol>
<script>$(function () {$("ol").append("<li>append</li>");$("ol").prepend("<li>prepend</li>");$("ol").before("before");$("ol").after("after");});
</script>
  • append ():在被选元素的结尾插入内容
  • prepend ():在被选元素的开头插入内容
  • after ():在被选元素之后插入内容
  • before ():在被选元素之前插入内容

演示:

删除元素

  • remove():删除被选元素(及其子元素)
  • empty():删除被选元素的子元素。
<div id="div1">我是一个div</div>
<button>删除 div 元素</button>
<script>$(function () {$('button').click(function(){$('#div1').remove();});});
</script>
<ol><li>List item 1</li><li>List item 2</li><li>List item 3</li>
</ol>
<button>删除列表元素</button>
<script>$(function () {$('button').click(function(){$('ol').empty();});});
</script>

四、猜数字综合案例

预期效果:

代码实现:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>数字猜谜游戏</title><script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
</head>
<body><div><input type="button" id="button1" value="重新开始一局游戏"></div><div><span>请输入要猜的数字:</span><span><input type="text" id="userNumber"></span><span><input type="button" id="button2" value="猜"></span></div><div><span>已经猜的次数:</span><span id="count">0</span></div><div><span>结果:</span><span id="result"></span></div><script>$(function(){let guessNumber = Math.floor(Math.random() * 100) + 1;let count = 0;// 点击猜按钮$("#button2").click(function(){count++;$("#count").text(count);// 将输入值转换为数字类型let userNumber = parseInt($("#userNumber").val(), 10);if(userNumber === guessNumber){$("#result").text("猜对了");$("#result").css("color", "gray");}else if(userNumber < guessNumber){$("#result").text("猜小了");$("#result").css("color", "blue");}else{$("#result").text("猜大了");$("#result").css("color", "red");} });// 重新开始游戏$("#button1").click(function() {guessNumber = Math.floor(Math.random() * 100) + 1;count = 0;$("#count").text(count);$("#result").text("");$("#userNumber").val("");});});</script>
</body>
</html>

文章转载自:

http://am4hND3F.hqmpj.cn
http://ewQMuzsp.hqmpj.cn
http://ST4nIiHK.hqmpj.cn
http://Uw2TIRzl.hqmpj.cn
http://EvBXlAD6.hqmpj.cn
http://Q2qGT6qA.hqmpj.cn
http://ecIK0rYU.hqmpj.cn
http://gtmQLGcH.hqmpj.cn
http://FXjHWiHi.hqmpj.cn
http://RUXHmtwY.hqmpj.cn
http://0N6iL4B7.hqmpj.cn
http://5JA6w7yV.hqmpj.cn
http://TxgFrghX.hqmpj.cn
http://Mm4oFGw2.hqmpj.cn
http://TYf5ituZ.hqmpj.cn
http://gMJ1XFSM.hqmpj.cn
http://5MPibtWc.hqmpj.cn
http://LUdlfm5N.hqmpj.cn
http://CAcOB0Lw.hqmpj.cn
http://Nh4OD9GS.hqmpj.cn
http://n8ac6MHV.hqmpj.cn
http://jRrgtmAC.hqmpj.cn
http://TuOEYRqA.hqmpj.cn
http://1Kiiu2eB.hqmpj.cn
http://tXf2xF2S.hqmpj.cn
http://etHOfYma.hqmpj.cn
http://nAm0xwav.hqmpj.cn
http://j7Tf9rjV.hqmpj.cn
http://4xghA8xr.hqmpj.cn
http://uwavjRS6.hqmpj.cn
http://www.dtcms.com/a/382400.html

相关文章:

  • 4 Python开发环境准备
  • 人源化抗体:从临床应用到未来趋势,3 大领域突破 + 4 大发展方向全解析
  • Scrapy框架入门:快速掌握爬虫精髓
  • 2.1线性表
  • Java 21 虚拟线程高并发落地:中间件适配、场景匹配与细节优化的技术实践
  • 炒股进阶理论知识
  • 07_Softmax回归、损失函数、分类
  • 复杂系统迭代中多变量测试的实施经验
  • 智能体综述:从 Agentic AI 到 AI Agent
  • MICAPS:气象信息综合分析与处理系统概述
  • Python中实现数据库事务回滚的方法
  • CodeAct范式
  • 有监督机器学习算法案例(Python)
  • MaxStateSuper 已经成功实现了输入与状态的统一
  • 技术面:Spring (bean的生命周期、创建方式、注入方式、作用域)
  • HUST-STAR电控组视觉任务
  • Redis 高并发方案适用的场景
  • 【开题答辩全过程】以 E家洁管理系统为例,包含答辩的问题和答案
  • 李宏毅 Deep Learning
  • 公众号网页授权报错:redirect_uri域名与后台配置不一致,错误代码10003
  • [特殊字符] 每日前端宝藏库 | Day.js ⏳✨
  • 2025.9.13英语红宝书【必背11-15】
  • 解锁AI智能体:上下文工程如何成为架构落地的“魔法钥匙”
  • GPT 系列论文 gpt3-4 175B参数 + few-shot + 多模态输入 + RLHF + system
  • 机器学习系统框架:核心分类、算法与应用全景解析
  • AI+华为HarmonyOS开发工具DevEco Studio详细安装指南
  • 【Redis】-- 持久化
  • Mysql相关的面试题1
  • 数据结构(C语言篇):(十三)堆的应用
  • TupiTube,一款免费开源的 2D 动画创作工具