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

【前端开发】一. html css js 初印象

一、HTML 总结(网页骨架)

1. 核心概念

超文本标记语言,用标签定义网页内容(文字、图片、链接等)。

2. 基础结构

<!DOCTYPE html>
<html>
<head><title>页面标题</title> <!-- 显示在浏览器标签页上 --><meta charset="UTF-8"> <!-- 声明字符编码 -->
</head>
<body><!-- 所有可见内容写在这里 -->
</body>
</html>

3. 常用标签详解

标签

作用

示例/注意点

<h1>-<h6>

标题(重要性递减)

<h1>主标题</h1> (一个页面通常只用1个h1)

<p>

段落

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

<a>

超链接

<a href="百度一下,你就知道" target="_blank">百度</a> (target="_blank"在新标签页打开)

<img>

图片

<img src="cat.jpg" alt="猫咪图片"> (alt在图片加载失败时显示)

<ul>/<ol>

无序/有序列表

<ul><li>苹果</li><li>香蕉</li></ul>

<div>

块级容器

<div>这是一个分区</div> (用于布局或样式分组)

<span>

行内容器

<span style="color:red">红色文字</span> (用于小范围样式)

<input>

表单输入

<input type="text" placeholder="请输入"> (重点掌握text/password/checkbox/radio)

<button>

按钮

<button οnclick="alert('点击')">按钮</button>

4. 语义化标签(HTML5新增)

<header>网页头部</header>
<nav>导航栏</nav>
<main>主要内容</main>
<section>内容区块</section>
<article>独立文章</article>
<footer>页脚</footer>
好处:提升SEO、代码可读性、无障碍访问

5. 高频坑点

  • ❌ 忘记闭合标签(如 <p> 必须有 </p>)
  • ❌ 图片路径错误(src 用相对路径 ./images/logo.png 或绝对路径)
  • ❌ 表单忘记加 name 属性(后端接收数据需要)

二、CSS 超详细总结(网页外观)

1. 核心概念

层叠样式表,控制HTML元素的颜色、大小、位置等。

2. 引入CSS的三种方式

<!-- 1. 内联样式(优先级最高) -->
<p style="color: blue;">蓝色文字</p><!-- 2. 内部样式表 -->
<head><style>p { color: red; }</style>
</head><!-- 3. 外部样式表(最推荐!) -->
<head><link rel="stylesheet" href="styles.css">
</head>

3. 选择器详解(如何选中元素)

选择器

示例

说明

元素选择器

p { ... }

选中所有<p>标签

类选择器

.intro { ... }

选中class="intro"的元素

ID选择器

#header { ... }

选中id="header"的元素(页面唯一)

后代选择器

div p { ... }

选中div内部所有p

伪类选择器

a:hover { ... }

鼠标悬停在链接时的样式

4. 盒模型(核心!)

div {width: 200px;     /* 内容宽度 */height: 100px;    /* 内容高度 */padding: 20px;    /* 内边距(内容与边框的距离) */border: 2px solid black; /* 边框 */margin: 10px;     /* 外边距(元素与其他元素的距离) */
}
📐 总宽度 = width + padding-left/right + border-left/right
用 box-sizing: border-box; 可让 width 包含 padding 和 border

5. 布局技术

  • Flex布局(新手首选)
.container {display: flex;          /* 启用Flex布局 */justify-content: center; /* 水平居中 */align-items: center;    /* 垂直居中 */
}
.item {flex: 1; /* 子元素等分剩余空间 */
}
  • 定位(Position)
.box {position: relative; /* 相对定位(相对于自身原位置) */top: 10px; left: 20px;
}
.absolute-box {position: absolute; /* 绝对定位(相对于最近的非static父元素) */top: 0;right: 0;
}

6. 高频属性速查

属性

常用值

作用

color

red, #ff0000

文字颜色

background

#eee, url(bg.jpg)

背景颜色或图片

font-size

16px, 1.2rem

字体大小

display

block, inline, none

元素显示方式

border-radius

5px, 50%

圆角

7. 必知技巧

  • 用 margin: 0 auto; 实现水平居中(需设置宽度)
  • 用 :hover 制作悬停效果(如按钮变色)
  • 用 transition: all 0.3s; 添加简单动画

三、JavaScript 超详细总结(网页行为)

1. 核心概念

脚本语言,用于处理用户交互、动态修改页面

2. 三种引入方式

<!-- 1. 内部脚本 -->
<script>console.log("Hello!");
</script><!-- 2. 外部脚本(推荐) -->
<script src="app.js"></script><!-- 3. 内联脚本(不推荐) -->
<button onclick="alert('点击')">按钮</button>

3. 基础语法

// 1. 变量声明
let age = 25;         // 可变变量
const PI = 3.14;      // 常量(不可变)// 2. 数据类型
let name = "小明";     // 字符串 (String)
let score = 95;       // 数字 (Number)
let isStudent = true; // 布尔值 (Boolean)
let person = {        // 对象 (Object)name: "小红",age: 20
};
let fruits = ["苹果", "香蕉"]; // 数组 (Array)// 3. 函数
function add(a, b) {return a + b;
}
const multiply = (a, b) => a * b; // 箭头函数(ES6)// 4. 条件语句
if (age >= 18) {console.log("成年人");
} else {console.log("未成年人");
}// 5. 循环
for (let i = 0; i < 5; i++) {console.log(i); // 输出0,1,2,3,4
}

4. DOM操作(核心!)

通过JavaScript访问和修改HTML元素
// 1. 获取元素
const btn = document.getElementById("myBtn"); // 通过ID
const items = document.querySelectorAll(".item"); // 通过CSS选择器// 2. 修改内容
document.querySelector("h1").textContent = "新标题";// 3. 修改样式
document.body.style.backgroundColor = "lightblue";// 4. 事件监听(最重要!)
btn.addEventListener("click", function() {alert("按钮被点击了!");
});// 5. 创建新元素
const newDiv = document.createElement("div");
newDiv.textContent = "我是新创建的div";
document.body.appendChild(newDiv);

5. 常见交互场景代码

// 切换暗色模式
const darkModeBtn = document.getElementById("dark-mode-btn");
darkModeBtn.addEventListener("click", () => {document.body.classList.toggle("dark-theme");
});// 表单验证
const form = document.querySelector("form");
form.addEventListener("submit", (e) => {const input = document.getElementById("email");if (!input.value.includes("@")) {e.preventDefault(); // 阻止表单提交alert("邮箱格式错误!");}
});

6. 高频API

API

作用

示例

document.getElementById()

通过ID获取元素

const el = document.getElementById("header");

element.classList

操作CSS类

el.classList.add("active");

element.addEventListener()

绑定事件

btn.addEventListener("click", handleClick);

localStorage

本地存储数据

localStorage.setItem("theme", "dark");

fetch()

发送网络请求(AJAX)

fetch('data.json').then(response => response.json());

http://www.dtcms.com/a/304049.html

相关文章:

  • 验证pyspark提交参数指定环境变量生效
  • 什么情况下会出现数据库和缓存不一致的问题?
  • VS Code编辑器
  • jvm冷门知识十讲
  • Three.js实现银河螺旋星云粒子特效——原理、实现
  • 译 | 介绍PyTabKit:一个试图超越 Scikit-Learn的新机器学习库
  • 基于dcmtk的dicom工具 第九章 以json文件或sqlite为数据源的worklist服务(附工程源码)
  • JVM指令集
  • LeetCode|Day29|1009. 十进制整数的反码|Python刷题笔记
  • 服装行业SaaS系统有哪些
  • 【C++】指针
  • 基于Coze平台的自动化情报采集与处理引擎—实现小红书图文到飞书的端到端同步
  • 用 Python 轻松实现时间序列预测:Darts 时间序列混合器(TSMixer)Time Series Mixer
  • WAIC 2025观察:昇腾助力AI融入多元化生活场景
  • sqli-labs通关笔记-第25关GET字符注入(过滤or和and 脚本法)
  • 数据手套五指触觉灵巧手遥操作方案
  • Hyperchain安全与隐私机制详解
  • Windows 下使用 Ollama 调试大模型
  • 故障排除---Operator部署Prometheus无法NodePort访问
  • zoho crm为什么xx是deal的关联对象但是调用函数时报错说不是关联对象
  • 译|生存分析Survival Analysis案例入门讲解(一)
  • 电磁兼容(EMC):整改案例(十三)屏蔽外壳开孔解决433MHz无线通信问题
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-45,(知识点:负反馈的作用,基础理解,干扰和噪声的抑制)
  • React--》实现 PDF 文件的预览操作
  • WisFile(文件整理工具) v1.2.19 免费版
  • 自然语言处理NLP(3)
  • Mac m系列芯片安装node14版本使用nvm + Rosetta 2
  • 【第四章:大模型(LLM)】01.神经网络中的 NLP-(3)文本情感分类实战
  • 网络安全运维面试准备
  • 全自动植树机solidwoeks图纸cad【7张】三维图+设计说明说