CSS之盒子模型

embedded/2024/9/23 10:22:56/

目录

背景:

发展历程:

盒子模型:

总结:


背景:

当我们打开网页时,看到的不仅仅是文字和图片,还有各种各样的排版、布局和设计。这些都离不开 CSS(层叠样式表)的功劳。
层叠样式表(英文全称:Cascading style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标记通用标记语言的一个子集)等文件样式的计算机语言,Css不仅可以可以静态的修饰网页,还可以配合脚本语言动态地对网页各个元素进行格式化。

发展历程:

一、CSS的发展历程 CSS 可谓经历了漫长的发展历程,从早期简单的样式标签到如今强大的 CSS3,它的进步让网页设计变得更加多姿多彩。

  1. CSS的发明者:Håkon Wium Lie

    • CSS的概念最早由Håkon Wium Lie提出。他在1994年提出了"样式表"的想法,以解决早期网页设计中样式与内容耦合的问题。Lie的想法是通过定义样式表,让内容和样式分离,从而使网页设计更加灵活和易于维护。
  2. 关键合作伙伴:Bert Bos

    • Bert Bos是另一位对CSS早期发展贡献卓著的人物。Lie和Bos在1995年加入W3C(万维网联盟),共同推动CSS的规范化和标准化。Bert Bos的贡献在于进一步扩展和完善CSS的概念,帮助将CSS变成可行的标准。
  3. CSS1的发布(1996年)

    • 在W3C的推动下,CSS1规范于1996年12月发布。Håkon Wium Lie和Bert Bos是CSS1规范的主要作者。CSS1规范奠定了现代网页设计的基础,引入了样式表的概念,实现了样式与内容的分离。
  4. CSS2和CSS2.1的进展

    • CSS2规范于1998年发布,增加了许多新特性,如定位、浮动、绝对定位等。这进一步增强了CSS的能力。CSS2.1在2004年发布,旨在修正CSS2中的错误并提高浏览器的兼容性。
  5. CSS3的发展(2005年至今)

    • CSS3是一个模块化的规范,涵盖了众多新特性,如圆角、阴影、渐变、动画、媒体查询等。这些特性使网页设计变得更加丰富和灵活。CSS3的开发涉及了许多开发者、设计师和浏览器厂商的共同努力

盒子模型:

所有的HTML元素可以看做盒子,在CSS中,"box model"这一术语是用来设计布局时使用。
CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容
盒模型允许我们在其它元素和周围元素边框之间的空间放置元素

  1. 内容框(Content Box):这是盒子模型的内部区域,用于显示元素的实际内容,如文本、图片等。

  2. 内边距(Padding):内边距是内容框与边框之间的空间,用于控制内容与边框之间的距离。

  3. 边框(Border):边框是内边距与外边距之间的边界,用于围绕内容框绘制线条或样式。

  4. 外边距(Margin):外边距是盒子与相邻元素之间的空间,用于控制元素与周围元素之间的距离。

通过设置这些属性,我们可以控制元素的大小、间距和样式,从而实现各种不同的页面布局和设计效果。

三、实战应用 让我们通过一个简单的例子来加深对CSS盒子模型的理解。假设我们有一个 div 元素,希望设置它的大小为300像素、内边距为20像素、边框为1像素实线、外边距为10像素。

div {width: 300px;height: 200px;padding: 20px;border: 1px solid green;margin: 10px;
}

在上面的代码中,我们通过设置 width 和 height 属性来定义元素的大小,通过 padding、border 和 margin 属性来设置内边距、边框和外边距的大小和样式。这样,我们就成功地定义了一个带有内边距、边框和外边距的盒子元素。

总结:

CSS 的发展历程让网页设计变得更加丰富多彩,而盒子模型则是布局和设计的基础。通过灵活运用盒子模型的各种属性,我们可以实现各种不同风格的页面布局和设计效果,让网页变得更加生动有趣。希望通过这篇文章,你对 CSS 和盒子模型有了更深入的了解,可以更好地运用它们来设计出精美的网页。


http://www.ppmy.cn/embedded/32078.html

相关文章

【Java 算法实现】合并两个有序数组(逆向双指针)

【Java 算法实现】合并两个有序数组 题目描述 给定两个按非递减顺序排列的整数数组 nums1 和 nums2,以及两个整数 m 和 n,分别表示 nums1 和 nums2 中的元素数目。 你需要将 nums2 合并到 nums1 中,使合并后的数组同样保持非递减顺序排列。…

python笔记:dataclass

1 引子:其他类似实现方法的局限性 假设我们现在需要实现这样的内容: nameChinaarea960population140967 1.1 tuple/list country1_tuple(China,960,140967) country1_tuple[0] #China 缺点:需要记住各个属性是list/tuple第几位的属性&am…

什么是CI/CD流水线

在软件开发中,流水线系统(通常被称为CI/CD流水线或部署流水线)是一种自动化的过程,用以快速、可靠地将软件从开发阶段引向生产阶段。CI代表持续集成(Continuous Integration),而CD代表持续交付&…

行为型设计模式

一、责任链设计模式 (一)概念 使多个对象都有机会处理同一个请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 (二&#xf…

# 从浅入深 学习 SpringCloud 微服务架构(八)Sentinel(1)

从浅入深 学习 SpringCloud 微服务架构(八)Sentinel(1) 一、sentinel:概述 1、前言 – 服务熔断 Hystrix 的替换方案。 1)2018年底 Netflix 官方宣布 Hystrix 已经足够稳定,不再积极开发 Hys…

快速入门Pandas和NumPy数据分析

大家好,从商业智能到科学研究,数据分析在许多领域中都是一项重要技能。Python因其可读性强和强大的库生态系统而成为最受欢迎的数据分析语言之一,Pandas和NumPy是重要的基础工具,适用于任何想要分析和解释数据的人。本文将探讨如何…

恶补《操作系统》4_1——王道学习笔记

4文件管理 4.1_1 初识文件管理 操作系统提供的功能: 处理机管理存储器管理文件管理设备管理 目标:安全高效 关于文件管理: 1)计算机中存放了各种各样的文件,一个文件有哪些属性? 文件名:由创建文件的用户决定文件…

分片上传,分片合并

面是一种基于前端分片上传&#xff0c;后端合并的方法的代码实现&#xff1a; 前端代码&#xff08;HTML JavaScript&#xff09;&#xff1a; <input type"file" id"fileInput"> <button onclick"uploadFile()">Upload</butt…