【前端】如何在HTML中调用CSS和JavaScript(完整指南)

ops/2025/3/15 4:06:08/

文章目录

  • 前言
  • 一、HTML调用CSS
    • 1. 内联样式(Inline Style)
    • 2. 内部样式表(Internal Stylesheet)
    • 3. 外部样式表(External Stylesheet)
  • 二、HTML调用JavaScript
    • 1. 内联脚本(Inline Script)
    • 2. 内部脚本(Internal Script)
    • 3. 外部脚本(External Script)
  • 三、最佳实践方案
  • 四、关键注意事项
  • 总结


前言

在Web开发中,HTML、CSS和JavaScript被称为"html" title=前端>前端三剑客"。本文将详细介绍如何在HTML中有效调用CSS和JavaScript,并提供可直接使用的代码示例。

一、HTML调用CSS

1. 内联样式(Inline Style)

直接在HTML标签中使用style属性

<p style="color: red; font-size: 16px;">这是内联样式文本</p>

2. 内部样式表(Internal Stylesheet)

<head> 中使用 <style> 标签
<head><style>.my-class {border: 1px solid #ccc;padding: 20px;}</style>
</head>
<body><div class="my-class">内部样式示例</div>
</body>

3. 外部样式表(External Stylesheet)

推荐方式,通过标签引入

<head><link rel="stylesheet" href="styles/main.css">
</head>

二、HTML调用JavaScript

1. 内联脚本(Inline Script)

直接在HTML标签中使用事件属性

<button onclick="alert('按钮被点击!')">点击我</button>

2. 内部脚本(Internal Script)

使用<script>标签
<body><script>function showMessage() {console.log('页面加载完成!');}window.onload = showMessage;</script>
</body>

3. 外部脚本(External Script)

最佳实践,通过src属性引入

<body><script src="scripts/app.js" defer></script>
</body>

三、最佳实践方案

推荐代码结构

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>最佳实践示例</title><!-- 外部CSS --><link rel="stylesheet" href="css/main.css"><!-- 内部CSS --><style>header {background-color: #f8f9fa;padding: 20px;}</style>
</head>
<body><div style="margin: 10px;"> <!-- 内联CSS --><button id="myBtn">测试按钮</button></div><!-- 外部JS --><script src="js/main.js" defer></script><!-- 内部JS --><script>document.getElementById('myBtn').addEventListener('click', function() {this.textContent = "按钮被点击!";});</script>
</body>
</html>

运行结果:

在这里插入图片描述

webstorm中实际应用例子示意:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>现代风格导航栏</title><link rel="stylesheet" href="myCss.css"> //调用css文件myCss
</head><body>
<nav class="glass-nav"><ul class="nav-list"><li><a href="#home" class="active"><i class="fas fa-home"></i> 主页</a></li><li><a href="#news"><i class="fas fa-newspaper"></i> 新闻</a></li><li class="dropdown-wrapper"><div class="dropdown"><a href="#" class="dropdown-btn"><i class="fas fa-bars"></i> 服务 <i class="dropdown-arrow"></i></a><div class="dropdown-content"><a href="#"><i class="fas fa-cloud"></i> 云服务</a><a href="#"><i class="fas fa-code"></i> 开发工具</a><a href="#"><i class="fas fa-chart-line"></i> 数据分析</a></div></div></li><li><a href="#about"><i class="fas fa-info-circle"></i> 关于</a></li></ul>
</nav>
<main class="content-wrapper"><h1 class="neon-text">现代网页导航解决方案</h1><p class="desc-text">体验流畅的交互设计与视觉美学</p>
</main>
<!-- Font Awesome -->
<script src="myJsp.js"></script> //调用javascript文件myCss
</body>
</html>

四、关键注意事项

1)CSS建议放在<head>中(2)JavaScript通常放在</body>前(3)使用defer属性延迟脚本执行

总结

通过合理组织代码结构:

  • 优先使用外部文件

  • 保持结构(HTML)、表现(CSS)和行为(JavaScript)分离

  • 遵循标准的文件目录规范

  • 注意资源的加载顺序和性能优化

这种开发模式将显著提升代码的可维护性和网站性能。希望本文能帮助您更好地组织html" title=前端>前端代码,Happy coding! 🚀


http://www.ppmy.cn/ops/165838.html

相关文章

C语言数据结构:数组

1. 数组&#xff08;Array&#xff09; 1.1 定义 数组是一种线性数据结构&#xff0c;由相同类型的元素组成&#xff0c;这些元素在内存中按顺序存储。数组的大小在声明时确定&#xff0c;且不可动态改变。 1.2 类型细分 根据维度和用途&#xff0c;数组可以分为以下几种类型…

Spring BOOT 启动参数

Spring BOOT 启动参数 在Java Web的开发完成后&#xff0c;以前我们都会打包成war文件&#xff0c;然后放大web容器&#xff0c;比如tomcat、jetty这样的容器。现在基于SpringBoot开发的项目&#xff0c;我们直接打包成jar文件&#xff0c;基于内嵌的tomcat来实现一样的效果。…

蓝桥杯第三天:2023蓝桥杯省赛 第 1 题

1、总价格要开 long 数据类型 2、直接贪心就行&#xff08;优先找当前价格最贵的两个&#xff0c;然后再找当前能赠的价格最高的&#xff09;&#xff0c;找赠品的时候记得用二分&#xff08;不然超时&#xff09; 3、贪心不总是能找到最优解&#xff0c;但不能找最优解的情况…

数组逆序重存放(信息学奥赛一本通-1105)

【题目描述】 将一个数组中的值按逆序重新存放。例如&#xff0c;原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。 【输入】 两行&#xff1a;第一行数组中元素的个数n&#xff08;1<n<100)&#xff0c;第二行是n个整数&#xff0c;每两个整数之间用空格分隔。 【输出】 一行…

Haskell爬虫:为电商运营抓取京东优惠券的实战经验

一、需求分析&#xff1a;为什么抓取京东优惠券&#xff1f; 京东作为中国领先的电商平台之一&#xff0c;拥有海量的商品和丰富的优惠券资源。这些优惠券信息对于电商运营者来说具有极高的价值。通过分析竞争对手的优惠券策略&#xff0c;运营者可以更好地制定自己的促销方案…

DAY33 贪心算法Ⅱ

122. 买卖股票的最佳时机 II - 力扣&#xff08;LeetCode&#xff09; 想到把整体利润分解为每天的利润&#xff0c;就豁然开朗了。 class Solution { public:int maxProfit(vector<int>& prices) {int result0;for(int i1;i<prices.size();i){resultmax(0,pric…

idea更新git代码报错No Git Roots

idea更新git代码报错&#xff1a; No Git Roots None of configured Git roots are under Git. The configured directory must have ".git directory in it.但是本地项目里是存在.git文件的&#xff0c;就是突然间不能更新代码了 然后尝试重新拉新项目代码提示: Git i…

初阶数据结构(C语言实现)——5.3 堆的应用(1)——堆排序

目录 1 堆的应用1.1 堆排序1.1.1 思路1.1.2 代码实现 1.2 建堆的时间复杂度1.2.1 向下调整1.2.1 向上调整1.2.3 结论 学习堆的应用之前&#xff0c;欢迎学习下堆。 这是博主之前的文章&#xff0c;欢迎学习交流 初阶数据结构&#xff08;C语言实现&#xff09;——5.2 二叉树的…