首页IT科技css盒子模型的概念和特点(CSS盒子模型)

css盒子模型的概念和特点(CSS盒子模型)

时间2025-06-20 23:36:18分类IT科技浏览3663
导读:📜个人简介...

📜个人简介

⭐️个人主页:微风洋洋

🙋‍♂️

🍑博客领域:编程基础💡,后端💡,大数据,信息安全 🍅写作风格:干货,干货,还是tmd的干货 🌸精选专栏【JavaScript】【HTML+CSS】【Java学习笔记】【Java必刷题】 🚀支持洋洋:点赞👍             、收藏⭐                   、留言💬

好久不见             ,甚是想念!

大家好🙋‍♂️

我是微风洋洋 今天这篇文章就是来和大家详细聊聊CSS盒子模型                   ,希望大家读完有所收获       ,那我辛苦码字也就值了🎈🎈🎈

盒模型是CSS控制页面布局的一个非常重要的概念      ,页面上的所有元素                   ,包括文本       、图像      、超级链接                   、div块等             ,都可以被看作盒子             。

由盒子将页面中的元素包含在一个矩形区域内      ,这个矩形区域则称为“盒模型             ”                   。

网页页面布局的过程可以看作在页面空间中摆放盒子的过程       。通过调整盒子的边框             、边界等参数控制各个盒子                   ,实现对整个网页的布局      。

盒模型由内到外依次分为内容(content)      、填充(padding)                   、边框(border)和边界(margin)4部分                   。

盒子的实际大小为各部分之和             ,下图所示的盒子宽度为:左边界+左边框+左填充+内容宽度+右填充+右边框+右边界             。

一             、盒模型的组成

🍑内容

内容(content)是盒子里的“物品                   ”,是盒模型中必须有的部分                   ,可以是网页上的任何元素                   ,如文本、图片                   、视频等各种信息      。

定义盒模型语法格式如下:

width: auto | length;

height: auto | length;

overflow: auto | visible | hidden | scroll;

举个例子👇

代码

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style type="text/css"> * { font-size: 16px; } .box1 { height: 60px; width: 200px; background-color: #3CC; } .box2 { height: 60px; width: 70%; overflow: auto; background-color: #CCC; } </style> </head> <body> <div class="box1">第一个盒子高度是固定的,但盒子里信息过多,超出内容属性所限定的大小             ,盒子的高度将自动放大</div> <p> <div class="box2">第二个盒子高度和第一个盒子一样                   ,是固定的       ,但设置了overflow属性为auto             ,出现滚动条                   ,盒子高度不变                   。</div> </body> </html>

效果

🍑边界

边界(margin)是盒模型与其他盒模型之间的距离       ,使用margin属性定义             。示例演示了边界设置.

定义盒模型边界语法格式如下:

margin: auto | length;

举个例子👇

代码

效果

🍑填充

填充(padding)用来设置内容和盒子边框之间的距离      ,可用padding属性设置。

定义盒模型填充语法格式如下:

padding: length;

举个例子👇

代码

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style type="text/css"> div { height: 20px; width: 150px; background-color: #999; margin: 10px; } div#p1 { padding: 20px; } div#p2 { padding: 10px 20px 30px 40px; } </style> </head> <body style="font-size: 14px"> <div id="p1">填充设置1</div> <div>无填充设置</div> <div id="p2">填充设置2</div> </body> </html>

效果

🍑边框

边框(border)是盒模型中介于填充(padding)和边界(margin)之间的分界线                   。

(1)边框样式

(2)边框宽度

(3)边框颜色

举个例子👇

代码

<!DOCTYPE html> <html> <head> <meta charset=utf-8> <style type="text/css"> div { width: 200px; background-color: #EFEFEF; margin: 10px; padding: 10px; } .b1 { border-style: inset; border-width: 10px; border-color: rgb(100%, 0%, 0%); } .b2 { border-style: double; border-width: thick; border-color: black;; } .b3 { border: groove thin rgb(255, 255, 0); } .b4 { border: #000 medium dashed; } </style> </head> <body> <div class="b1">边框设置1</div> <div class="b2">边框设置2</div> <div class="b3">边框设置3</div> <div class="b4">边框设置4</div> </body> </html>

效果

二                   、盒的类型

CSS中的盒子可分为block类型与inline类型                   ,使用display属性来定义                   。

直接来看个例子吧             ,这个例子看懂了      ,盒的类型你也就明白了👇

代码

<!DOCTYPE HTML> <html> <head> <meta charset=utf-8> <title>block、inline             、inline-block对比</title> <style> div.div1 { display: block; /*div默认值*/ width: 120px; height: 40px; margin: 2px; background-color: green; } div.div2 { display: inline; /*修改为inline类型*/ width: 120px; height: 40px; margin: 2px; background-color: blue; } div.div3 { display: inline-block; /*inline-block类型*/ width: 120px; height: 40px; margin: 2px; background-color: red; } div.div4 { display: inline-block; margin: 2px; background-color: grey; } </style> </head> <body> <div class="div1">block类型</div> <div class="div1">block类型</div> <hr/> <div class="div2">inline类型</div> <div class="div2">inline类型</div> <hr/> <h3>inline-block类型                   ,设置width和height属性</h3> <div class="div3">inline-block类型</div> <div class="div3">inline-block类型</div> <hr/> <h3>inline-block类型             ,无width和height属性</h3> <div class="div4">inline-block类型</div> <div class="div4">inline-block类型</div> </body> </html>

效果

🔺 block类型是独占一行,而inline是可一个多个在一行                   ,拓展的inline-block则是把block转换成与inline相似

三                   、CSS3新增的与盒相关的属性

🍑overflow-x与overflow-y属性

指定了盒的宽度与高度后                   ,可能出现盒子无法承载其中内容的情况,为了避免内容溢出             ,使用overflow属性来指定如何显示盒中容纳不下的内容。

举个例子👇

代码

<!DOCTYPE HTML> <html> <head> <meta charset=utf-8> <title>overflow</title> <style> span { display: block; width: 180px; height: 100px; background-color: #CCC; overflow-x: auto; overflow-y: auto; } </style> </head> <body> <span>这个示例将span元素定义为block类型                   ,同时设置了overflow-x和overflow-y的属性             。如果取消这两个属性的设置       ,指定的区域无法承载             ,将出现溢出…… </span> </body> </html>

效果

🍑text-overflow属性

text-overflow属性用于指定盒子中文本溢出的显示方式                   ,可以在盒的末尾显示一个代表省略的符号"…"                   。

举个例子👇

代码

<!DOCTYPE HTML> <html> <head> <meta charset=utf-8> <title>text-overflow</title> <style> div { white-space: nowrap; /*确保水平方向溢出*/ width: 300px; height: 30px; overflow-x: hidden; /*水平滚动条需要隐藏*/ text-overflow: ellipsis; /*text-overflow效果*/ border: 1px solid grey; } </style> </head> <body> <div>text-overflow属性只在当盒中的内容在水平方向上超出盒的容纳范围时有效 </div> </body> </html>

效果

🍑box-shadow属性

box-shadow属性让盒在显示时产生阴影效果       。

box-shadow属性的指定方式如下             。

box-shadow: xlength ylength r color

举个例子👇

代码

<!DOCTYPE HTML> <html> <head> <meta charset=utf-8> <title>box-shadow</title> <style> div { width: 200px; height: 100px; background-color: blue; box-shadow: 10px 10px 5px grey; /*box-shadow: 10px 10px 0px grey; box-shadow: 0px 0px 5px grey; box-shadow: -10px -10px 5px grey;*/ } </style> </head> <body> <div></div> </body> </html>

效果

🍑box-sizing属性

使用box-sizing属性       ,可以指定用width属性与height属性指定的宽度值与高度值是否包含元素的填充区域(padding)与边框(border)的宽度与高度      ,从而实现更为精确的定位                   。

举个例子👇

代码

<!DOCTYPE HTML> <html> <head> <meta charset=utf-8> <title>box-sizing</title> <style> div { width: 300px; border: solid 30px blue; padding: 30px; background-color: #ccc; margin: 20px auto; } div#div1 { box-sizing: content-box; } div#div2 { box-sizing: border-box; } </style> </head> <body> <div id="div1">在第一个div元素的box-sizing属性中指定content-box属性值</div> <div id="div2">在第二个div元素 的box-sizing属性中指定border-box属性值</div> </body> </html>

效果

下面这个例子使用了box-sizing属性                   ,每个盒子的总宽度为浏览器宽度的50%             ,实现了一个精确的布局👇

代码

<!DOCTYPE HTML> <html> <head> <meta charset=utf-8> <title>box-sizing</title> <style> div { width: 50%; height: 200px; float: left; padding: 20px; box-sizing: border-box; } div#div1 { border: solid 20px blue; } div#div2 { border: solid 20px green; } </style> </head> <body> <div id="div1">使用box-sizing属性的目的是对元素的总宽度做一个控制</div> <div id="div2">利用border-box属性值会使得页面布局更加方便</div> </body> </html>

效果

四       、总结

CSS盒子模型在CSS中算是比较重要的部分了      ,他已经开始涉及到网页布局和设计了                   ,对于这一块内容要引起重视             ,多加练习       。

如果觉得对你有一丢丢启发的话,不妨

点赞👍             、收藏⭐                   、留言💬支持一下                   ,你的支持将是我继续创作的最大动力      。下一篇将介绍CSS网页布局                   ,到时不见不散❤️❤️❤️

关注,即可提高学习效率                   。Perfect!

声明:本站所有文章             ,如无特殊说明或标注                   ,均为本站原创发布             。任何个人或组织       ,在未征得本站同意时             ,禁止复制       、盗用      、采集                   、发布本站内容到任何网站             、书籍等各类媒体平台      。如若本站内容侵犯了原著者的合法权益                   ,可联系我们进行处理                   。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
stm32贪吃蛇课程设计分工情况(使用STM32F103ZE开发贪吃蛇游戏) 探秘内容营销的本质剖析(揭开内容营销与SEO优化的区别及优化方法)