前端开发:CSS盒模型

简介: 在前端开发中,CSS的使用是前端开发的“三驾马车”之一,剩余的其他两个是JS和HTML。有关CSS使用设置页面布局的时候,重中之重的就是关于盒模型的理解以及使用,而且CSS是比较抽象的,没有JS那样有很强的逻辑性,需要掌握的内容比较多、比较散,所以就算是入行开发多年的前端工程师也会觉得CSS不好驾驭。本篇博文就来分享一下关于CSS盒模型相关的知识点,方便查阅使用,如有不妥之处还请大家指正。

前言

在前端开发中,CSS的使用是前端开发的“三驾马车”之一,剩余的其他两个是JS和HTML。有关CSS使用设置页面布局的时候,重中之重的就是关于盒模型的理解以及使用,而且CSS是比较抽象的,没有JS那样有很强的逻辑性,需要掌握的内容比较多、比较散,所以就算是入行开发多年的前端工程师也会觉得CSS不好驾驭。本篇博文就来分享一下关于CSS盒模型相关的知识点,方便查阅使用,如有不妥之处还请大家指正。

盒模型概念

关于盒模型的概念,比较专业的官方解释是这样说的:所有HTML元素都可看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。CSS盒模型实质上是一个盒子,封装周围的HTML元素,其中包括:margin(外边距)、border(边框)、padding(内边距/填充)和content(实际内容)等四要素。

* margin(外边距) —— 清除边框区域。Margin没有背景颜色,是完全透明的。
* border(边框) —— 边框周围的填充和内容。边框会受到盒子的背景颜色影响的。
* padding(内边距/填充) —— 清除内容周围的区域。同样会受到框中填充的背景颜色影响。
* content(实际内容) —— 盒子的实际内容,用来显示文本和图像等内容。

注意:在盒模型中,外边距可以设置为负值,而且在很多情况下都会使用负值的外边距操作。

具体的盒模型如下所示:
根据上图可以看到,margin、border、padding是CSS属性,因此可以通过这三个属性来控制盒子对应的这三个模块,而content则是HTML元素的内容模块。

盒模型成分组成(常用的)

1、margin

margin-top:上边距  
margin-buttom:下边距  
margin-left:左边距  
margin-right:右边距  
也可以直接使用简写属性margin同时设置四条边距的宽度。  

2、padding

padding-top:上填充  
padding-bottom:下填充  
padding-left:左填充  
padding-right:右填充  
也可以直接使用简写属性padding同时设置四条边距的宽度,与margin的类似。  

3、border

border-top:上边界  
border-bottom:下边界  
border-left:左边界  
border-right:右边界  

如果border属性的色值不明确指定时,如border: 1px solid,这时边框的颜色和当前元素的字体颜色color一致。

 border-width:边界宽度  
border-style:边界样式  
border-color:边界颜色  

盒模型种类

盒模型分为:标准的W3C盒模型 、怪异的IE盒模型。二者的区别:标准的W3C盒模型总宽度= content,怪异的IE盒模型总宽度=content+padding。

当box-sizing:content-box时,这种盒模型为标准的W3C盒模型,当box-sizing: border-box时,这种盒子模型为怪异的IE盒模型。

盒模型使用

盒模型使用的时候,当指定一个CSS元素的宽度和高度属性时,只是设置了内容区域的宽度和高度。但是,完整大小的元素,还必须要添加内边距、边框和外边距。

示例

1、设置一个div的总宽度为250px:

div {
    background-color: light;
    width: 250px;
    border: 50px solid red;
    padding: 20px;
    margin: 20px;
}

2、在一个只有200px的空间里面,设置总宽度为200px的div:

div{
width:170px;
padding:10px;
border:5px solid yellow;
margin:0px;
}

·最终元素的总宽度计算公式如下所示:

总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距

·元素的总高度最终计算公式如下所示:

总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距

盒模型兼容性

IE8及以上版本支持该属性,Firefox火狐浏览器需要加上浏览器厂商前缀-moz-,对于低版本的IOS和Android浏览器也需要加上-webkit-。

最后

通过上面介绍的关于CSS盒模型的相关知识点,盒模型原理以及使用通过本文内容就可涵盖,在Vue.js开发中的使用就游刃有余了,这也是在开发过程中必用的功能,尤其是对于初中级开发者来说,更应该掌握这些情况的使用,这里不再赘述。以上就是本章的全部内容,欢迎关注三掌柜的微信公众号“程序猿by三掌柜”,三掌柜的新浪微博“三掌柜666”,欢迎关注!

相关文章
|
2天前
|
前端开发
|
2天前
|
前端开发
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
|
2天前
|
缓存 移动开发 前端开发
【专栏:HTML与CSS前端技术趋势篇】HTML与CSS在PWA(Progressive Web Apps)中的应用
【4月更文挑战第30天】PWA(Progressive Web Apps)结合现代Web技术,提供接近原生应用的体验。HTML在PWA中构建页面结构和内容,响应式设计、语义化标签、Manifest文件和离线页面的创建都离不开HTML。CSS则用于定制主题样式、实现动画效果、响应式布局和管理字体图标。两者协同工作,保证PWA在不同设备和网络环境下的快速、可靠和一致性体验。随着前端技术进步,HTML与CSS在PWA中的应用将更广泛。
|
2天前
|
前端开发 JavaScript 开发者
【专栏:HTML与CSS前端技术趋势篇】前端框架(React/Vue/Angular)与HTML/CSS的结合使用
【4月更文挑战第30天】前端框架React、Vue和Angular助力UI开发,通过组件化、状态管理和虚拟DOM提升效率。这些框架与HTML/CSS结合,使用模板语法、样式管理及组件化思想。未来趋势包括框架简化、Web组件标准采用和CSS在框架中角色的演变。开发者需紧跟技术发展,掌握新工具,提升开发效能。
|
2天前
|
前端开发 JavaScript UED
【专栏:HTML 与 CSS 前端技术趋势篇】Web 性能优化:CSS 与 HTML 的未来趋势
【4月更文挑战第30天】本文探讨了CSS和HTML在Web性能优化中的关键作用,包括样式表压缩、选择器优化、DOM操作减少等策略。随着未来趋势发展,CSS模块系统、自定义属性和响应式设计将得到强化,HTML新特性也将支持复杂组件构建。同时,应对浏览器兼容性、代码复杂度和性能功能平衡的挑战是优化过程中的重要任务。通过案例分析和持续创新,我们可以提升Web应用性能,创造更好的用户体验。
|
2天前
|
移动开发 前端开发 UED
【专栏:HTML与CSS前端技术趋势篇】渐进式增强与优雅降级在前端开发中的实践
【4月更文挑战第30天】前端开发中的渐进式增强和优雅降级是确保跨浏览器、跨设备良好用户体验的关键策略。渐进式增强是从基础功能开始,逐步增加高级特性,保证所有用户能访问基本内容;而优雅降级则是从完整版本出发,向下兼容,确保低版本浏览器仍能使用基本功能。实践中,遵循HTML5/CSS3规范,使用流式布局和响应式设计,检测浏览器特性,并提供备选方案,都是实现这两种策略的有效方法。选择合适策略优化网站,提升用户体验。
|
2天前
|
前端开发 开发者 UED
【专栏:HTML与CSS前端技术趋势篇】网页设计中的CSS Grid与Flexbox之争
【4月更文挑战第30天】本文对比了CSS Grid和Flexbox两种布局工具。Flexbox擅长一维布局,简单易用,适合导航栏和列表;CSS Grid则适用于二维布局,能创建复杂结构,适用于整个页面布局。两者各有优势,在响应式设计中都占有一席之地。随着Web标准发展,它们的结合使用将成为趋势,开发者需掌握两者以应对多样化需求。
|
2天前
|
前端开发 JavaScript 搜索推荐
【专栏:HTML 与 CSS 前端技术趋势篇】HTML 与 CSS 在 Web 组件化中的应用
【4月更文挑战第30天】本文探讨了HTML和CSS在Web组件化中的应用及其在前端趋势中的重要性。组件化提高了代码复用、维护性和扩展性。HTML提供组件结构,语义化标签增进可读性,支持用户交互;CSS实现样式封装、布局控制和主题定制。案例展示了导航栏、卡片和模态框组件的创建。响应式设计、动态样式、CSS预处理器和Web组件标准等趋势影响HTML/CSS在组件化中的应用。面对兼容性、代码复杂度和性能优化挑战,需采取相应策略。未来,持续发掘HTML和CSS潜力,推动组件化开发创新,提升Web应用体验。
|
2天前
|
前端开发
【专栏:CSS基础篇】CSS盒模型:理解网页布局的核心
【4月更文挑战第30天】CSS盒模型是网页布局关键,将HTML元素视为内容、内边距、边框和外边距的矩形。内容决定元素大小,padding增加内部空间,border设置线条样式,margin控制元素间距。理解盒模型及其计算方式(内容+padding+border+margin)有助于布局设计。通过调整相关属性,实现浮动、Flexbox或定位布局,创建响应式网页。
|
2天前
|
XML 前端开发 JavaScript
前端CSS样式零基础教学总结,UI、前端开发都适用
前端CSS样式零基础教学总结,UI、前端开发都适用