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

第8节课:CSS布局与样式——掌握盒模型与定位的艺术

目录

    • 盒模型:网页布局的基础
      • 盒模型的属性
      • 盒模型的示例
    • 定位:控制元素位置
      • 定位的类型
      • 定位的示例
    • 实践:使用CSS布局创建响应式网页
    • 结语

CSS布局是网页设计中的基石,它决定了网页元素的排列和分布。盒模型和定位是CSS布局中的两个核心概念。本节课将深入探讨CSS的盒模型、边距、内边距、边框以及定位技术,帮助你构建专业且响应式的网页布局。

盒模型:网页布局的基础

CSS盒模型是所有HTML元素的默认布局模式。每个盒子由以下几个部分组成:

  • 内容(Content):盒子的实际内容,由元素的widthheight属性定义。
  • 内边距(Padding):内容与边框之间的空间。
  • 边框(Border):围绕内边距和内容的一条线。
  • 外边距(Margin):边框与相邻盒子之间的空间。

盒模型的属性

  • margin:外边距,可以是单个值(如margin: 10px;)或四个值(如margin: 10px 15px 20px 5px;,分别对应上、右、下、左)。
  • padding:内边距,用法与margin类似。

盒模型的示例

.box {width: 300px;height: 200px;margin: 20px;padding: 15px;border: 5px solid #333;
}

定位:控制元素位置

定位是CSS中控制元素位置的机制。通过position属性,我们可以将元素从文档流中取出,并使用toprightbottomleft属性来定位。

定位的类型

  • static:默认值,元素按照正常文档流排列。
  • relative:元素相对于其正常位置进行偏移。
  • absolute:元素相对于其最近的已定位(非static)祖先元素进行定位。
  • fixed:元素相对于浏览器窗口进行定位。
  • sticky:元素根据用户的滚动位置进行定位,类似于relativefixed的结合。

定位的示例

.relative-box {position: relative;top: 10px;left: 20px;
}.absolute-box {position: absolute;top: 30px;right: 0;
}.fixed-box {position: fixed;bottom: 0;left: 0;
}

实践:使用CSS布局创建响应式网页

下面是一个示例,展示如何使用CSS盒模型和定位来创建一个简单的响应式网页布局。

<!DOCTYPE html>
<html>
<head><title>CSS布局示例</title><style>* {box-sizing: border-box;}body {margin: 0;padding: 0;font-family: Arial, sans-serif;}.container {width: 100%;max-width: 1200px;margin: 0 auto;padding: 15px;box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);}header, footer {background: #333;color: #fff;text-align: center;padding: 20px 0;margin-bottom: 15px;}footer {margin-top: 15px;}.main-content {display: flex;flex-wrap: wrap;gap: 15px;padding: 15px;}.sidebar {flex: 1;margin: 15px;padding: 15px;border: 1px solid #ddd;}.main {flex: 3;margin: 15px;padding: 15px;border: 1px solid #ddd;}@media (max-width: 768px) {.main-content {flex-direction: column;}.sidebar, .main {flex: none;margin: 15px 0;}}</style>
</head>
<body><header><h1>学问小小谢的响应式网页</h1></header><div class="container"><div class="main-content"><div class="sidebar"><h2>侧边栏</h2><p>这里是侧边栏内容。</p></div><div class="main"><h2>主要内容</h2><p>这里是主要内容区域。</p></div></div></div><footer><p>版权所有 &copy; 2024</p></footer>
</body>
</html>

结语

通过本节课的学习,你应该对CSS盒模型和定位有了深入的理解。掌握这些基础知识,你将能够创建出结构清晰、布局合理的网页。CSS布局是一个不断学习和实践的过程,随着经验的积累,你将能够解决越来越复杂的布局问题。继续探索CSS的高级特性,如Flexbox和Grid,你将能够创建出更加灵活和强大的网页布局。

相关文章:

第8节课:CSS布局与样式——掌握盒模型与定位的艺术

目录 盒模型&#xff1a;网页布局的基础盒模型的属性盒模型的示例 定位&#xff1a;控制元素位置定位的类型定位的示例 实践&#xff1a;使用CSS布局创建响应式网页结语 CSS布局是网页设计中的基石&#xff0c;它决定了网页元素的排列和分布。盒模型和定位是CSS布局中的两个核心…...

electron 主进程和渲染进程

最近在整理electron 相关的项目问题&#xff0c;对自己来说也是温故知新&#xff0c;也希望能对小伙伴们有所帮助&#xff0c;大家共同努力共同进步。加油&#xff01;&#xff01;&#xff01;&#xff01; 虽然最近一年前端大环境不好&#xff0c;但是大家还是要加油鸭&#…...

redis的高可用及性能管理和雪崩

redis的高可用 redis当中&#xff0c;高可用概念更宽泛一些。 除了正常服务以外&#xff0c;数据量的扩容&#xff0c;数据安全。 实现高可用的方式&#xff1a; 1、持久化 最简单的高可用方法&#xff0c;主要功能就是备份数据。 把内存当中的数据保存到硬盘当中。 2、主…...

php基础语法

文章目录 1. PHP(1) 安装php 2. 基础语法(1) 格式(2) 输出语法(3) 注释(4) 变量(无变量类型自动识别)(5) 输入获取(6) 定界符(7) 换行 3. 基本数据类型(1) 字符串(2) 整数(3). 浮点数(4). boolean类型(5). 数组(6). null值 4. 运算符(1) 算术运算符(2) 比较运算符(3) 逻辑运算符…...

js抓取短信验证码发送

油猴(Tampermonkey)是一个流行的浏览器扩展,它允许用户在浏览器中运行自定义的JavaScript脚本。下面是一个简单的示例脚本,用于收集网站上发送短信验证码的API请求,并以JSON格式存储这些信息。请注意,这个脚本需要根据实际网站的API请求进行调整,因为不同的网站可能有不…...

视频怎么加密?常见的四种视频加密方法和软件

视频加密是一种重要的技术手段&#xff0c;用于保护视频内容不被未经授权的用户获取、复制、修改或传播。在加密过程中&#xff0c;安企神软件作为一种专业的加密工具&#xff0c;可以发挥重要作用。 以下将详细介绍如何使用安企神软件对视频进行加密&#xff0c;并探讨视频加密…...

聚焦全局应用可用性的提升策略,详解GLSB是什么

伴随互联网的快速发展和全球化趋势的深入&#xff0c;企业对网络应用的需求日渐增长。为满足全球范围内用户大量的访问需求&#xff0c;同时解决容灾、用户就近访问以及全球应用交付等问题&#xff0c;GLSB&#xff08;全局负载均衡&#xff09;也因此应运而生。那么GLSB是什么…...

无水印下载视频2——基于tkinter完成头条视频的下载

在数字化时代的浪潮中&#xff0c;视频内容以其丰富性和便捷性&#xff0c;逐渐成为了我们获取信息和娱乐的重要途径。尤其是在短视频平台上&#xff0c;各种创意十足、内容精彩的视频层出不穷&#xff0c;更是吸引了数以亿计的用户。然而&#xff0c;随着视频内容的增加&#…...

Java学习Day17:基础篇7

继承 Java中的继承是面向对象编程中的一个核心概念&#xff0c;它允许我们定义一个类&#xff08;称为子类或派生类&#xff09;来继承另一个类&#xff08;称为父类或基类&#xff09;的属性和方法。继承提高了代码的复用性&#xff0c;使得我们不必从头开始编写所有的代码&a…...

Vue3 Pinia的创建与使用代替Vuex 全局数据共享 同步异步

介绍 提供跨组件和页面的共享状态能力&#xff0c;作为Vuex的替代品&#xff0c;专为Vue3设计的状态管理库。 Vuex&#xff1a;在Vuex中&#xff0c;更改状态必须通过Mutation或Action完成&#xff0c;手动触发更新。Pinia&#xff1a;Pinia的状态是响应式的&#xff0c;当状…...

手撕数据结构02--二分搜索(附源码)

一、理论基础 二分搜索&#xff0c;也称折半搜索、对数搜索&#xff0c;是一种在有序数组中查找某一特定元素的搜索算法。 二分搜索是一种高效的查找算法&#xff0c;适用于在已排序的数组中查找特定元素。它的基本思想是通过不断将搜索区间对半分割&#xff0c;从而快速缩小…...

单片机工程师继续从事硬件设计还是涉足 Linux 开发?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「linux的资料从专业入门到高级教程」&#xff0c;点个关注在评论区回复“666”之后私信回复“666”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 怎么说呢&#xff0c;感觉绝…...

《昇思25天学习打卡营第25天|第28天》

今天是打卡的第二十八天&#xff0c;实践应用篇中的计算机视觉中Vision Transformer图像分类。 从Vision Transformer&#xff08;ViT&#xff09;简介开始了解&#xff0c;模型结构&#xff0c;模型特点&#xff0c;实验的环境准备和数据读取&#xff0c;模型解析&#xff08…...

Flutter Dio网络请求报错FormatException: Unexpected character

最近开发Flutter项目&#xff0c;网络请求采用的是Dio框架&#xff0c;在发起网络请求的时候报错&#xff1a; 网络请求返回的数据为&#xff1a; var returnCitySN {"cip": "127.0.0.1", "cid": "00", "cname": "未…...

关于@JsonSerialize序列化与@JsonDeserialize反序列化注解的使用(密码加密与解密举例)

注&#xff1a;另一种方式参考 关于TableField中TypeHandler属性&#xff0c;自定义的类型处理器的使用&#xff08;密码加密与解密举例&#xff09;http://t.csdnimg.cn/NZy4G 1.简介 1.1 序列化与反序列化 学习注解之前&#xff0c;我们可以先了解一下什么是序列化与反序列…...

第二届世界科学智能大赛逻辑推理赛道:复杂推理能力评估 #大模型技术之逻辑推理方向 #Datawhale #夏令营 <二>

第二届世界科学智能大赛逻辑推理赛道&#xff1a;复杂推理能力评估 #大模型技术之逻辑推理方向 #Datawhale #夏令营-CSDN博客 这里在上一篇的基础上&#xff0c;已经充分理解了一遍baseline的流程&#xff0c;并修复了一些后处理的问题&#xff0c;包括答案抽取&#xff0c;中间…...

C# 关于Linq延迟查询

demo: int Count 0;string[] obj { "item1", "item2", "item3", "item4", "item5", "item6" };var query obj.Where(item > IsTrue(item));// 第一次遍历foreach (var item in query){Console.WriteLine(it…...

Navicat For Mysql连接Mysql8.0报错:客户端不支持服务器请求的身份验证协议

windows通过navicat连接本地mysql时报错:Client does not support authentication protocol requested by server; consider upgrading MySQL client 一、问题原因二、解决方法1--失败1. 连接mysql客户端2. 修改加密方式3.正确的解决方法1.查找my.ini文件2.修改my.ini文件3.重…...

以西门子winCC为代表的组态界面,还是有很大提升空间的。

组态界面向来都是功能为主&#xff0c;美观和体验性为辅的&#xff0c;这也导致了国内的一些跟随者如法炮制&#xff0c;而且很多操作的工程师也是认可这重模式&#xff0c;不过现在一些新的组态软件可是支持精美的定制化界面&#xff0c;还有3D交互效果&#xff0c;这就是确实…...

HomeServer平台选择,介绍常用功能

​​ 平台选择 HomeServer 的性能要求不高&#xff0c;以下是我的硬件参数&#xff0c;可供参考&#xff1a; ‍ 硬件&#xff1a; 平台&#xff1a;旧笔记本CPU&#xff1a;i5 4210u内存 8G硬盘&#xff1a;128G 固态做系统盘&#xff0c;1T1T 机械盘组 RAID1 做存储。硬…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

go 里面的指针

指针 在 Go 中&#xff0c;指针&#xff08;pointer&#xff09;是一个变量的内存地址&#xff0c;就像 C 语言那样&#xff1a; a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10&#xff0c;通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础

第三周 Day 3 &#x1f3af; 今日目标 理解类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;的关系学会定义类的属性、方法和构造函数&#xff08;init&#xff09;掌握对象的创建与使用初识封装、继承和多态的基本概念&#xff08;预告&#xff09; &a…...

Visual Studio Code 扩展

Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后&#xff0c;命令 changeCase.commands 可预览转换效果 EmmyLua…...