什么是css盒子模型

css盒子模型又称为框模型,盒子的最内部是元素的实际内容即元素内容,紧挨着元素框外部的是内边距,其次是边框,然后最外层是外边距,这几部分共同组成了盒子模型

盒子模型是html+css中最核心的基础知识,理解了这个重要的概念才能更好的排版,进行页面布局。下面是总结的关于css盒子模型的知识,希望对大家有所帮助。

什么是css盒子模型

一、css盒子模型概念

CSS css盒子模型又称框模型 (Box Model) ,包含了元素内容(content)、内边距(padding)、边框(border)、外边距(margin)几个要素。如图:

立即学习“前端免费学习笔记(深入)”;

什么是css盒子模型

图中最内部的框是元素的实际内容,也就是元素框,紧挨着元素框外部的是内边距padding,其次是边框(border),然后最外层是外边距(margin),整个构成了框模型。通常我们设置的背景显示区域,就是内容、内边距、边框这一块范围。而外边距margin是透明的,不会遮挡周边的其他元素。

那么,元素框的总宽度 = 元素(element)的width + padding的左边距和右边距的值 + margin的左边距和右边距的值 + border的左右宽度;

元素框的总高度 = 元素(element)的height + padding的上下边距的值 + margin的上下边距的值 + border的上下宽度。

二、css 外边距合并(叠加)

两个上下方向相邻的元素框垂直相遇时,外边距会合并,合并后的外边距的高度等于两个发生合并的外边距中较高的那个边距值,如图:

未标题-2-恢复的.jpg

未标题-2-恢复的.jpg

比较容易理解,所以在页面中有时候遇到实际情况是需要考虑这个因素的。当然外边距合并其实也有存在的意义,如下图:

未标题-2-恢复的.jpg

需要注意的是:只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。

css reset 中也会经常用到

* {  margin : 0;  padding : 0;}

登录后复制

三、box-sizing属性介绍

box-sizing属性是用户界面属性里的一种,之所以介绍它,是因为这个属性跟盒子模型有关,而且在css reset中有可能会用到它。

box-sizing : content-box|border-box|inherit;

登录后复制

(1) content-box ,默认值,可以使设置的宽度和高度值应用到元素的内容框。盒子的width只包含内容。

即总宽度=margin+border+padding+width

(2) border-box , 设置的width值其实是除margin外的border+padding+element的总宽度。盒子的width包含border+padding+内容

即总宽度=margin+width

很多CSS框架,都会对盒子模型的计算方法进行简化。

(3) inherit , 规定应从父元素继承 box-sizing 属性的值

关于border-box的使用:

1、一个box宽度为100%,又想要两边有内间距,这时候用就比较好

2、全局设置 border-box 很好,首先它符合直觉,其次它可以省去一次又一次的加加减减,它还有一个关键作用——让有边框的盒子正常使用百分比宽度。

四、实际开发中遇到的和框模型相关的应用及小问题。

1、margin越界(第一个子元素的margin-top和最后一个子元素的margin-bottom的越界问题)

以第一个子元素的margin-top 为例:

当父元素没有边框border时,设置第一个子元素的margin-top值的时候,会出现margin-top值加在父元素上的现象,解决方法有四个:

(1)给父元素加边框border (副作用)

(2)给父元素设置padding值  (副作用)

(3)父元素添加 overflow:hidden (副作用)

(4)父元素加前置内容生成。(推荐)

以第四种方法为例:

.parent {     width : 500px;     height : 500px;     background-color : red;       }.parent : before {     content : " ";     display : table;}.child {     width : 200px;     height : 200px;      background-color : green;      margin-top : 50px;}
    
 

登录后复制

2、 浏览器间的盒子模型。

(1)ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值。

(2)标准盒子模型与IE模型之间的差异:

标准的盒子模型就是上述介绍的那种,而IE模型更像是 box-sizing : border-box; 其内容宽度还包含了border和padding。解决办法就是:在html模板中加doctype声明。

3、用盒子模型画三角形

nbsp;html>              .triangle {            width : 0;            height: 0;            border : 100px solid transparent;            border-top : 100px solid blue; /*这里可以设置border的top、bottom、left、right            四个方向的三角*/        }            
  

登录后复制

页面显示结果为:

未标题-2-恢复的.jpg

以上就是什么是css盒子模型的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2887972.html

(0)
上一篇 2025年3月10日 21:07:18
下一篇 2025年3月10日 21:07:26

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • html盒子模型元素怎么改成行内块元素

    在html中,可以利用display属性来将盒子模型元素改成行内块元素,该属性能设置元素的类型,当值为“inline-block”时可将元素设置为“行内块元素”,语法“盒子模型元素{display: inline-block;}”。 本教程…

    2025年3月11日
    300
  • CSS盒子模型介绍

    什么是css盒子模型?css盒子模型是为了让我们充分理解p+css模型的定位功能,盒子模型在学习p+css布局方式中必须要学习的一个模型 一、什么是CSS? CSS(Cascading Style Sheet):层叠样式表是将网页的内容与样…

    2025年3月11日
    200
  • css盒子模型的理解:5分钟搞懂css盒子模型是什么?

    css盒子模型是什么?毕竟在学习css时经常可以看到css盒子模型,所以,接下来的这篇文章【创想鸟】就跟大家来谈一谈css盒子模型的概念以及对css盒子模型的理解。 首先,我们来看一看css盒子模型是什么? 从百度百科上我们可以知道,网页设…

    2025年3月10日 编程技术
    200
  • 深入理解CSS盒子模型含义和原理

    很多前端人员认为css太简单了,没必要花那么长的时间学习,其实不然,一个前端开发人员把css用好以后,效率和用户体验都会提升不少,最近打算深入的学习一下css,以便遇到问题时,才知道如何下手,从而迅速的对症下药。接下来主要介绍css的盒子模…

    2025年3月10日
    200
  • css的盒子模型是什么?

    css盒子模型就是在网页设计中经常用到的css技术所使用的一种思维模型。 css盒子模型又称为框模型 (Box Model) ,包含了元素内容(content)、内边距(padding)、边框(border)、外边距(margin)几个要素…

    2025年3月10日
    200
  • 什么是css盒子模型?

    CSS盒子模型就是在网页设计中经常用到的CSS技术所使用的一种思维模型。它又称为框模型 (Box Model) ,是由元素内容(content)、内边距(padding)、边框(border)、外边距(margin)几个要素组成的(如下图所…

    2025年3月10日
    200
  • 什么是盒子模型

    什么是盒子模型? CSS盒模型本质上是一个盒子,用来封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。 盒子模型允许我们在其它元素和周围元素边框之间的空间放置元素。 盒子模型图片: (视频教程推荐:css视频教程) 组成部分介绍…

    2025年3月10日 编程技术
    200
  • W3C盒子模型与IE盒子模型有什么区别

    我们通过实例来看看它们有什么不同: (推荐学习:css快速入门) 一个盒子模型如下:margin:20px,border:10px,padding:10px;width:200px;height:50px;   现计算出两种盒子模型下盒子的…

    2025年3月10日
    200
  • css盒子模型尺寸如何计算

    标准盒子模型的尺寸为:“内容的宽高+两侧内边距padding的大小+两侧边框border的大小”;而IE盒子模型的尺寸直接就为:“内容的宽高”,盒子设置的宽/高属性就是盒子自身的整体尺寸,如果带有内边距或边框,则通过缩小内容区域来实现。 本…

    2025年3月10日
    200
  • 最细讲解JS盒子模型的基本属性(图文示例)

    本篇文章给大家通过图文方式讲解JS盒子模型的基本属性:clientWidth/Height、offsetWidth/Height、offsetTop/Left、scrollWidth/Height、scrollTop/Left,希望对需要的…

    2025年3月7日 编程技术
    400

发表回复

登录后才能评论