class="hljs-ln-code"> class="hljs-ln-line"><html > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"><head > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> <meta charset ="UTF-8" > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line"> <title > My Web Pagetitle > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line">head > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line"><body > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line">body > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line">html > class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
:声明文档类型为 HTML5,确保浏览器以正确的模式解析页面。
:根元素,包含整个网页的内容。
:包含网页的元数据,如字符编码、标题等。其中,
设置字符编码为 UTF-8,以支持多种语言和字符。
标签定义了网页的标题,显示在浏览器的标签栏上。
:包含网页的可见内容,如文本、图像、链接等。
(三)常用 HTML 标签
语义化标签 :
:表示网页或章节的头部,通常包含标题、导航链接等。有助于提高网页的可读性和可访问性,方便搜索引擎理解页面结构。
:用于定义导航链接的部分,如网站的主导航菜单、侧边栏导航等。
:代表页面的主要内容区域,一个页面应该只有一个
元素。突出页面的核心内容。
:表示独立的、可复用的内容块,如博客文章、新闻报道等。
:用于对页面内容进行分组,通常有一个标题来描述该部分的内容。
:表示与页面主要内容相关但可以独立存在的部分,如侧边栏、广告、引用等。
:包含页面的底部信息,如版权声明、联系信息、相关链接等。多媒体标签 :
和
:允许在网页中直接嵌入音频和视频文件,无需依赖第三方插件。可设置属性如controls
来显示播放控制条。表单标签 :
其他重要标签 :
:超链接,使用href
属性指定链接目标地址,target
属性可设置链接在新窗口或当前窗口中打开。
:图像,使用src
属性指定图像路径,alt
属性提供图像的替代文本,以便在图像无法显示时显示给用户。:通用容器,用于将其他元素组合在一起,进行布局和样式设置。
:内联容器,用于对文本或其他内联元素进行样式设置。
三、CSS 基础
(一)CSS 概述
CSS(Cascading Style Sheets)即层叠样式表,用于控制网页的外观和布局。它可以定义网页中元素的颜色、字体、大小、位置等样式,使网页更加美观和易于阅读。
(二)CSS 引入方式
1.内联 样式:直接在 HTML 标签中使用style
属性。这种方式将样式直接应用于特定的元素,但会导致代码重复和难以维护。
<p style ="color: blue;" > This is a paragraph.p > 。
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
2.内部样式表:在 HTML 文件的
部分使用
标签。将样式集中在一个地方,方便管理和修改,但只适用于单个 HTML 文件。
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line"> <head > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"> <style > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> p { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> color : blue; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line"> } class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> style > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line"> head >
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
3.外部样式表:将 CSS 代码保存为一个独立的文件,然后在 HTML 文件中使用
标签引入。可以在多个 HTML 文件中共享样式,提高开发效率和代码的可维护性。
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line"> <head > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"> <link rel ="stylesheet" href ="styles.css" > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> head >
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
(三)CSS 选择器
元素选择器:选择特定的 HTML 元素。例如,p { color: blue; }
选择所有
元素。 类选择器:选择具有特定类名的元素。使用.class-name { }
的语法,可在 HTML 元素中使用class
属性指定类名,然后通过类选择器应用样式。
例如:.my-class { color: red; }
选择所有具有class="my-class"
的元素。 ID 选择器:选择具有特定 ID 的元素。使用#id-name { }
的语法,在 HTML 元素中使用id
属性指定唯一的 ID,然后通过 ID 选择器应用样式。
例如:#my-id { color: green; }
选择具有id="my-id"
的元素。 后代选择器:选择特定元素的后代元素。使用parent-element child-element { }
的语法,可以选择父元素内部的任何级别的子元素。
例如:div p { color: purple; }
选择元素内的所有
元素。
(四)CSS 属性
字体属性:
font-family
:设置字体类型,可以指定一个或多个字体名称,浏览器会按照顺序查找可用的字体。font-size
:设置字体大小,可以使用像素(px)、百分比(%)、em 等单位。font-weight
:设置字体的粗细,可以使用数值(100 - 900)或关键字(normal、bold 等)。 颜色属性:
color
:设置文本颜色,可以使用颜色名称、十六进制值、RGB 值或 HSL 值。 背景属性:
background-color
:设置背景颜色。background-image
:设置背景图像,可以使用 URL 指定图像的路径。 边框属性:
border
:设置边框的样式、宽度和颜色。可以使用border: width style color;
的语法。 布局属性:
display
:设置元素的显示方式,可以是block
(块级元素)、inline
(内联元素)、inline-block
(内联块级元素)等。float
:设置元素的浮动方向,可以是left
(向左浮动)、right
(向右浮动)或none
(不浮动)。position
:设置元素的定位方式,可以是static
(静态定位)、relative
(相对定位)、absolute
(绝对定位)或fixed
(固定定位)。
(五)CSS 高级特性
变量函数(var ()) :可以使用var()
函数来引用 CSS 变量。calc () 函数 :用于在 CSS 中进行数学计算。object-fit 和 object-position 属性 :用于控制图像或视频在其容器中的适应方式和位置。will-change 属性 :提示浏览器哪些属性可能会发生变化,以便浏览器进行优化。transform-origin 属性 :用于设置变换的原点。过渡的延迟(transition-delay) :可以为过渡效果设置延迟时间。多背景图像 :可以为一个元素设置多个背景图像。:is()
和:where()
伪类 :这两个伪类允许你组合多个选择器,并以更简洁的方式应用相同的样式。:has()
伪类(部分浏览器支持有限) :用于选择具有特定子元素的元素。容器查询(Container Queries) :类似于媒体查询,但作用于特定的容器元素,而不是整个视口。级联层(Cascade Layers) :可以将 CSS 规则分组到不同的层中,以更好地控制样式的优先级。颜色函数的更多用法 :rgb()
和rgba()
函数可以接受百分比值作为参数,用于更灵活地定义颜色。hsl()
和hsla()
函数用于定义颜色的色相、饱和度和亮度。视口单位的更多应用 :除了vw
(视口宽度)和vh
(视口高度),还有vmin
(视口宽度和高度中的较小值)和vmax
(视口宽度和高度中的较大值)。自定义属性范围和继承 :CSS 自定义属性(变量)可以在不同的选择器范围内定义,并可以通过继承在子元素中使用。使用 CSS Grid 和 Flexbox 结合 :可以结合 CSS Grid 和 Flexbox 来创建复杂的布局。clip-path
属性 :用于创建不规则形状的元素。backdrop-filter
属性 :为元素后面的区域添加滤镜效果。scroll-snap
属性 :用于创建平滑的滚动效果,使页面在滚动时停在特定的位置。
四、JavaScript 基础
(一)JavaScript 概述
JavaScript 是一种高级编程语言,用于为网页添加交互性和动态效果。它可以在浏览器中运行,与 HTML 和 CSS 结合使用,实现网页的各种功能。
(二)JavaScript 引入方式
1.内联脚本:在 HTML 文件中使用
标签直接编写 JavaScript 代码。适用于小型脚本或快速测试。
例如:
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1">
class="hljs-ln-code"> class="hljs-ln-line">
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"> <script > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> console .log ('Hello, World!' ); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> script > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line">
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
2.外部脚本:将 JavaScript 代码保存为一个独立的文件,然后在 HTML 文件中使用
标签引入。可以将代码分离出来,提高代码的可维护性和可重用性。
例如:
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"> <script src ="script.js" > script > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line">
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
(三)JavaScript 基本语法
变量声明:使用let
、const
或var
关键字声明变量。
let
:用于声明块级作用域的变量,可以在声明后重新赋值。const
:用于声明常量,一旦赋值后不能再被修改。var
:在 ES6 之前使用的变量声明方式,存在一些作用域和提升的问题,现在不推荐使用。例如:let x = 10;
、const y = 20;
。 数据类型:包括数字、字符串、布尔值、数组、对象等。
数字:可以是整数或浮点数,如let num = 42;
。 字符串:用单引号或双引号括起来的文本,如let str = 'Hello';
。 布尔值:只有true
和false
两个值,如let isTrue = true;
。 数组:用方括号括起来的一组值,可以包含不同类型的元素,如let arr = [1, 2, 3];
。 对象:用花括号括起来的一组键值对,键必须是字符串,值可以是任何类型,如let obj = { name: 'John', age: 30 };
。 控制流语句:如if
语句、for
循环、while
循环等。
if
语句:用于根据条件执行不同的代码块。for
循环:用于重复执行一段代码指定的次数。while
循环:在条件为真时重复执行一段代码。 函数定义:使用function
关键字定义函数。函数可以接受参数,并返回一个值。
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line"> function add (a, b ) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"> return a + b; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> }
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
(四)JavaScript 高级特性
模板字面量(Template Literals) :允许在字符串中插入变量和表达式,使用反引号()包裹字符串,并使用
${expression}` 的形式插入变量或表达式。
例如:const name = "John"; const message =
Hello, ${name}!;
。 解构赋值(Destructuring Assignment) :可以从数组或对象中提取值,并将其赋值给变量。
数组解构赋值:const numbers = [1, 2, 3]; const [a, b, c] = numbers;
。 对象解构赋值:const person = { name: "John", age: 30 }; const { name, age } = person;
。 展开运算符(Spread Operator) :可以将数组或对象展开为单个元素或属性。
数组展开:const arr1 = [1, 2, 3]; const arr2 = [4, 5, 6]; const combinedArray = [...arr1,...arr2];
。 对象展开:const obj1 = { name: "John", age: 30 }; const obj2 = { city: "New York", hobby: "Reading" }; const combinedObject = {...obj1,...obj2 };
。 箭头函数(Arrow Functions) :是一种更简洁的函数定义方式,具有更简洁的语法和词法作用域。
例如:const add = (a, b) => a + b;
。 Promise :用于处理异步操作的对象,代表了一个异步操作的最终完成或失败。
例如: class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">const fetchData = ( ) => { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"> return new Promise ((resolve, reject ) => { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> setTimeout (() => { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> const data = { name : "John" , age : 30 }; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line"> resolve (data); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> }, 2000 ); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line"> }); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line"> }; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line"> fetchData () class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line"> .then ((data ) => console .log (data)) class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="11"> class="hljs-ln-code"> class="hljs-ln-line"> .catch ((error ) => console .error (error));
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)"> async/await :基于 Promise 的异步编程语法糖,使异步代码看起来更像同步代码。
Set 和 Map 数据结构 :
Set
:是一种集合数据结构,存储任意类型的唯一值。Map
:是一种键值对的数据结构,存储任意类型的键和值。模块(Modules) :在 ES6 中,可以使用模块来组织和封装代码。模块可以导出变量、函数和类,其他模块可以导入这些导出的内容。
例如: class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"> export const message = "Hello from module1" ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> export function add (a, b ) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> return a + b; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line"> } class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line"> import { message, add } from "./module1.js" ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line"> console .log (message); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line"> console .log (add (2 , 3 ));
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)"> 函数参数默认值 :可以为函数参数设置默认值,当调用函数时如果没有传入该参数,则使用默认值。
例如: class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">function greet (name = "Anonymous" ) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"> console .log (Hello , ${name}!); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line">}
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)"> 剩余参数(Rest Parameters) :允许函数接收不定数量的参数,并将它们作为一个数组处理。
例如:
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">function sum (...numbers ) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"> return numbers.reduce ((total, num ) => total + num, 0 ); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> }
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
五、HTML、CSS 和 JavaScript 的结合使用
(一)使用 JavaScript 操作 HTML 元素
可以使用 JavaScript 来获取、修改和创建 HTML 元素。
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">"myParagraph">This is a paragraph.
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"><script > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> let paragraph = document .getElementById ('myParagraph' ); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> paragraph.textContent = 'This is a modified paragraph.' ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line"> let newParagraph = document .createElement ('p' ); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line"> newParagraph.textContent = 'This is a new paragraph.' ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line"> document .body .appendChild (newParagraph); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="11"> class="hljs-ln-code"> class="hljs-ln-line">script >
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
在这个例子中,首先使用document.getElementById
方法获取具有id="myParagraph"
的
元素。然后,通过修改textContent
属性来改变元素的文本内容。最后,使用document.createElement
方法创建一个新的
元素,并设置其文本内容,然后使用appendChild
方法将新元素添加到
元素中。
(二)使用 JavaScript 操作 CSS 样式
可以使用 JavaScript 来修改元素的 CSS 样式。
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">"myDiv">This is a div.
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"><script > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> let div = document .getElementById ('myDiv' ); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line"> div.style .backgroundColor = 'red' ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line"> div.style .fontSize = '20px' ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line">script >
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
在这个例子中,首先获取具有id="myDiv"
的元素。然后,通过修改
style
属性的
backgroundColor
和
fontSize
属性来改变元素的
背景颜色 和字体大小。
六、实用案例
(一)创建一个简单的待办事项列表
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1">
class="hljs-ln-code"> class="hljs-ln-line">html >
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"><html > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"><head > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> <meta charset ="UTF-8" > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line"> <title > To-Do Listtitle > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> <link rel ="stylesheet" href ="styles.css" > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line">head > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line"><body > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line"> <h1 > To-Do Listh1 > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line"> <input type ="text" id ="newItemInput" > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="11"> class="hljs-ln-code"> class="hljs-ln-line"> <button id ="addItemButton" > Add Itembutton > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="12"> class="hljs-ln-code"> class="hljs-ln-line"> <ul id ="todoList" > ul > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="13"> class="hljs-ln-code"> class="hljs-ln-line"> <script src ="script.js" > script > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="14"> class="hljs-ln-code"> class="hljs-ln-line">body > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="15"> class="hljs-ln-code"> class="hljs-ln-line">html > class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">body { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"> font-family : Arial, sans-serif; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line">} class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line">h1 { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> text-align : center; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line">} class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line">input { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line"> padding : 10px ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="11"> class="hljs-ln-code"> class="hljs-ln-line"> font-size : 16px ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="12"> class="hljs-ln-code"> class="hljs-ln-line">} class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="13"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="14"> class="hljs-ln-code"> class="hljs-ln-line">button { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="15"> class="hljs-ln-code"> class="hljs-ln-line"> padding : 10px 20px ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="16"> class="hljs-ln-code"> class="hljs-ln-line"> font-size : 16px ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="17"> class="hljs-ln-code"> class="hljs-ln-line"> background-color : #4CAF50 ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="18"> class="hljs-ln-code"> class="hljs-ln-line"> color : white; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="19"> class="hljs-ln-code"> class="hljs-ln-line"> border : none; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="20"> class="hljs-ln-code"> class="hljs-ln-line"> cursor : pointer; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="21"> class="hljs-ln-code"> class="hljs-ln-line">} class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="22"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="23"> class="hljs-ln-code"> class="hljs-ln-line">ul { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="24"> class="hljs-ln-code"> class="hljs-ln-line"> list-style-type : none; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="25"> class="hljs-ln-code"> class="hljs-ln-line"> padding : 0 ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="26"> class="hljs-ln-code"> class="hljs-ln-line">} class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="27"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="28"> class="hljs-ln-code"> class="hljs-ln-line">li { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="29"> class="hljs-ln-code"> class="hljs-ln-line"> padding : 10px ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="30"> class="hljs-ln-code"> class="hljs-ln-line"> border : 1px solid #ddd ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="31"> class="hljs-ln-code"> class="hljs-ln-line"> margin-bottom : 5px ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="32"> class="hljs-ln-code"> class="hljs-ln-line">}
class="hide-preCode-box"> class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">document .getElementById ('addItemButton' ).addEventListener ('click' , function ( ) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"> let input = document .getElementById ('newItemInput' ); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> let value = input.value ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> if (value) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line"> let list = document .getElementById ('todoList' ); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> let li = document .createElement ('li' ); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line"> li.textContent = value; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line"> list.appendChild (li); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line"> input.value = '' ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line"> } class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="11"> class="hljs-ln-code"> class="hljs-ln-line">});
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
(二)创建一个图片轮播器
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">html > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"><html > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"><head > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> <meta charset ="UTF-8" > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line"> <title > Image Slidertitle > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> <link rel ="stylesheet" href ="styles.css" > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line">head > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line"><body > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line"> <div id ="slider" > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line"> <img src ="image1.jpg" alt ="Image 1" > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="11"> class="hljs-ln-code"> class="hljs-ln-line"> <img src ="image2.jpg" alt ="Image 2" > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="12"> class="hljs-ln-code"> class="hljs-ln-line"> <img src ="image3.jpg" alt ="Image 3" > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="13"> class="hljs-ln-code"> class="hljs-ln-line"> div > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="14"> class="hljs-ln-code"> class="hljs-ln-line"> <button id ="prevButton" > Previousbutton > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="15"> class="hljs-ln-code"> class="hljs-ln-line"> <button id ="nextButton" > Nextbutton > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="16"> class="hljs-ln-code"> class="hljs-ln-line"> <script src ="script.js" > script > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="17"> class="hljs-ln-code"> class="hljs-ln-line">body > class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="18"> class="hljs-ln-code"> class="hljs-ln-line">html >
class="hide-preCode-box"> class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
这里有一个包含三张图片的容器,以及两个用于切换图片的按钮。
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1">
class="hljs-ln-code"> class="hljs-ln-line">#slider { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"> width : 500px ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> height : 300px ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> overflow : hidden; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line">} class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line">#slider img { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line"> width : 100% ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line"> height : 100% ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line">}
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
设置图片轮播器的大小,并确保超出部分隐藏,同时让图片自适应容器大小。
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">let images = document .querySelectorAll ('#slider img' ); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">let currentImage = 0 ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line">function showImage (index ) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line"> for (let i = 0 ; i < images.length ; i++) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> images[i].style .display = 'none' ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line"> } class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line"> images[index].style .display = 'block' ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line">} class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="11"> class="hljs-ln-code"> class="hljs-ln-line">showImage (currentImage); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="12"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="13"> class="hljs-ln-code"> class="hljs-ln-line">document .getElementById ('nextButton' ).addEventListener ('click' , function ( ) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="14"> class="hljs-ln-code"> class="hljs-ln-line"> currentImage++; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="15"> class="hljs-ln-code"> class="hljs-ln-line"> if (currentImage >= images.length ) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="16"> class="hljs-ln-code"> class="hljs-ln-line"> currentImage = 0 ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="17"> class="hljs-ln-code"> class="hljs-ln-line"> } class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="18"> class="hljs-ln-code"> class="hljs-ln-line"> showImage (currentImage); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="19"> class="hljs-ln-code"> class="hljs-ln-line">}); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="20"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="21"> class="hljs-ln-code"> class="hljs-ln-line">document .getElementById ('prevButton' ).addEventListener ('click' , function ( ) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="22"> class="hljs-ln-code"> class="hljs-ln-line"> currentImage--; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="23"> class="hljs-ln-code"> class="hljs-ln-line"> if (currentImage < 0 ) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="24"> class="hljs-ln-code"> class="hljs-ln-line"> currentImage = images.length - 1 ; class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="25"> class="hljs-ln-code"> class="hljs-ln-line"> } class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="26"> class="hljs-ln-code"> class="hljs-ln-line"> showImage (currentImage); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="27"> class="hljs-ln-code"> class="hljs-ln-line">});
class="hide-preCode-box"> class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
这段代码首先获取所有的图片元素,定义了一个显示特定图片的函数 ,初始时显示第一张图片。然后为 “下一张” 和 “上一张” 按钮添加点击事件监听器,实现图片的切换功能。
七、总结
通过本教程,你应该对前端开发的核心技术 HTML、CSS 和 JavaScript 有了初步的了解。要成为一名优秀的前端开发人员,需要不断学习和实践。可以通过在线教程、书籍和实际项目来提高自己的技能。祝你在前端开发的道路上取得成功!
data-report-view="{"mod":"1585297308_001","spm":"1001.2101.3001.6548","dest":"https://blog.csdn.net/weimengen/article/details/142970837","extend1":"pc","ab":"new"}">>
id="blogExtensionBox" style="width:400px;margin:auto;margin-top:12px" class="blog-extension-box"> class="blog_extension blog_extension_type1" id="blog_extension">
class="blog_extension_card" data-report-click="{"spm":"1001.2101.3001.6470"}" data-report-view="{"spm":"1001.2101.3001.6470"}">
class="blog_extension_card_left">
class="blog_extension_card_cont">
class="blog_extension_card_cont_l">
魏大帅
class="blog_extension_card_cont_r">
微信公众号
专注于前端技术分享
评论记录:
回复评论: