零基础入门Web应用开发(备赛蓝桥杯)_网页布局原理

一、核心基础:CSS 盒模型

所有网页元素本质上都是一个矩形盒子,由内到外包含四个部分:

  • 内容区(Content):文字、图片等实际内容
  • 内边距(Padding):内容与边框的距离
  • 边框(Border):盒子的边界线
  • 外边距(Margin):盒子与其他元素的距离

盒模型有两种标准模式(通过box-sizing控制):

  • content-box(默认):宽高仅包含内容区
  • border-box(推荐):宽高包含内容区 + 内边距 + 边框

二、传统布局方式

  1. 标准流(Normal Flow)

    • 块级元素(div、p 等)垂直排列,宽度默认占满父容器
    • 行内元素(span、a 等)水平排列,宽度由内容决定
  2. 浮动(Float)

    • 元素脱离标准流,向左 / 右对齐,常用于实现文字环绕或多列布局
    • 需注意清除浮动(clearfix)以避免父容器高度塌陷
  3. 定位(Position)

    • static:默认值,遵循标准流
    • relative:相对自身原位置偏移
    • absolute:相对于最近的非 static 祖先元素定位
    • fixed:相对于浏览器视口固定定位

三、现代布局技术

  1. Flexbox(弹性布局)

    • 一维布局模型,适合处理行或列的对齐与分布
    • 核心概念:容器(flex container)项目(flex item)
    • 通过justify-content(主轴对齐)、align-items(交叉轴对齐)等属性轻松实现居中、等分布局
  2. Grid(网格布局)

    • 二维布局模型,同时控制行和列,适合复杂页面结构
    • 通过grid-template-columns/grid-template-rows定义网格线
    • 支持grid-area进行区域命名,实现语义化布局

四、响应式布局原理

通过媒体查询(@media)根据屏幕尺寸动态调整样式,结合以下技术实现多设备适配:

  • 百分比 /em/rem等相对单位
  • 弹性图片(max-width: 100%
  • 移动优先(Mobile First)策略

一、href 属性

核心作用

全称 Hypertext Reference(超文本引用) ,是 <a> 标签的必填核心属性 ,用于定义超链接跳转的目标地址(资源路径) 。浏览器会根据这个属性的值,决定点击链接后加载什么内容;如果没有 href 属性,<a> 标签就失去了超链接的跳转功能,仅为普通行内文本元素。

详细用法 & 常见取值

1. 相对路径(站内跳转,最常用)

指向当前网站内部的其他页面 / 资源,路径基于当前 HTML 文件的位置计算,是站内页面跳转的首选方式

写法 含义 对应你的代码示例
./文件名 ./ 代表当前 HTML 文件所在的文件夹 href="./01.html":指向和当前文件同目录下的 01.html 页面,和你注释的 "当前 01.html 页面所在的文件夹底下的其他文件" 完全对应
../文件名 ../ 代表当前目录的上一级文件夹 href="../index.html":指向上级目录里的 index.html
文件夹名/文件名 指向当前目录下子文件夹内的文件 href="page/detail.html":指向当前目录 page 文件夹里的 detail.html
2. 绝对 URL(站外跳转)

指向互联网上其他网站的完整地址,必须带完整的协议头(http:// / https://,用于跳转到外部网站。

  • 正确示例(你的代码):href="http://www.baidu.com",点击后直接跳转到百度官网
  • ❌ 错误写法:href="www.baidu.com",浏览器会把它当成站内相对路径,无法正确跳转到外部网站
3. 锚点链接(页内 / 跨页定位跳转)

# 开头,用于跳转到当前页面 / 其他页面内的指定位置(对应元素的 id 属性),常用于长页面的目录、回到顶部等功能。

  • 页内跳转:<a href="#top">回到顶部</a>,点击后跳转到当前页面 id="top" 的元素位置
  • 跨页锚点:<a href="./list.html#comment">查看评论</a>,跳转到 list.html 页面里 id="comment" 的位置
4. 特殊功能链接(系统协议调用)

调用系统自带功能,常用场景:

  • 邮件链接:<a href="mailto:xxx@example.com">发送邮件</a>,点击唤起系统默认邮件客户端
  • 电话链接:<a href="tel:13800138000">拨打电话</a>,移动端点击唤起拨号界面
5. 空链接(占位 / JS 事件绑定)

用于暂时不需要跳转、仅绑定 JS 点击事件的场景:

  • 推荐写法:href="javascript:;",点击后无任何跳转行为,不会改变页面位置
  • 不推荐写法:href="#",点击后会跳转到页面顶部,会触发页面位置变化

二、target 属性

核心作用

用于指定超链接目标页面的打开方式 ,也就是跳转后的页面在哪个浏览器窗口 / 标签页中加载,是可选属性,默认值为 _self

详细用法 & 标准取值

所有标准内置取值都以下划线 _ 开头,常用取值如下:

取值 核心作用 对应你的代码示例
_blank 全新的浏览器标签页 / 窗口中打开目标链接,原页面完整保留,不会被覆盖 <a href="./01.html" target="_blank">网页</a>,和你注释的 "从新的窗口打开网页" 完全对应
_self 默认值 ,在当前的浏览器标签页 / 窗口中打开目标链接,原页面会被新页面覆盖 <a href="http://www.baidu.com" target="_self">百度一下</a>,和你注释的 "在当前页面打开" 完全对应;不写 target 属性时,浏览器默认就是这个行为
_parent 在当前框架的父级框架集中打开链接,仅在嵌套 iframe 框架的页面中生效,现在使用较少 -
_top 在浏览器的顶层窗口中打开链接,会打破所有嵌套的 iframe 框架,让链接页面占满整个浏览器窗口,现在使用较少 -
补充:自定义窗口名称

可以填写非下划线开头的自定义名称(比如 target="myWindow"),规则:

  1. 第一次点击:新开一个名称为myWindow的标签页打开链接
  2. 后续再次点击同 target 名称的链接:不会再开新标签,而是在已打开的myWindow标签页中刷新加载新链接
  3. 常用场景:在指定的 iframe 框架中加载页面,比如 <a href="./list.html" target="contentFrame">,会在name="contentFrame"的 iframe 中打开链接
相关推荐
米粒12 小时前
力扣算法刷题 Day 8
算法·leetcode·职场和发展
zzh0812 小时前
web技术与nginx网站环境部署
运维·前端·nginx
3Katrina2 小时前
RAG技术全拆解:让大模型告别“瞎编”,秒变靠谱助手
前端
a1117762 小时前
堆叠式流程图编辑器(html 开源)
开发语言·前端·javascript·开源·编辑器·html·流程图
墨渊君2 小时前
前端工程化进阶:Monorepos 架构简析(水文)
前端
兆子龙2 小时前
前端必学:完美组件封装的 7 个原则
前端·javascript
兆子龙2 小时前
React 性能坑:别让 AI 踩了,快来添加 rule 吧
前端·javascript
光影少年2 小时前
Vue的生命周期有哪些及执行机制?
前端·vue.js·掘金·金石计划
来碗疙瘩汤2 小时前
Vue 事件绑定完全指南:官方文档未详述的事件大全
前端·javascript·vue.js