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

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

时间2025-05-03 15:41:33分类IT科技浏览3068
导读:📜个人简介...

📜个人简介

⭐️个人主页:微风洋洋

🙋‍♂️

🍑博客领域:编程基础💡,后端💡,大数据,信息安全 🍅写作风格:干货,干货,还是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
macbookpro能用什么浏览器(2022年可在苹果笔记本M1和M2芯片的Macos系统上运行的手机Alook浏览器-8倍速破解版-电脑学习网) stp基本工作原理(STP详解)