css_18_盒子模型

一.盒子模型的组成

CSS 会把所有的 HTML 元素都看成一个盒子,所有的样式也都是基于这个盒子。

  • margin(外边距):盒子与外界的距离。
  • border(边框):盒子的边框。
  • border(边框):盒子的边框。
  • content(内容):元素中的文本或后代元素都是它的内容。
  • 注意:盒子的大小= content + 左右 padding + 左右 border。
    外边距 margin 不会影响盒子的大小,但会影响盒子的位置。

二.盒子的内容区

  • width :设置内容区域宽度
  • max-width :设置内容区域的最大宽度
  • min-width :设置内容区域的最小宽度
  • height :设置内容区域的高度
  • max-height :设置内容区域的最大高度
  • min-height :设置内容区域的最小高度

注意:

may-width、min-width 一般不与 width 一起使用。

max-height、 min-height 一般不与 height一起使用。

三.盒子的内边距

  • padding-top:上内边距

  • padding-right:右内边距

  • padding-bottom:下内边距

  • padding-left:左内边距

  • padding:复合属性

padding复合属性的使用规则:

  • padding: 10px;四个方向内边距都是 10px。
  • padding: 10px 20px; 上10px,左右20px 。
  • padding: 10px 20px 30px;上10px,左右20px,下30px。
  • padding: 10px 20px 30px 40px;(上、右、下、左)
  • 注意点:padding 的值不能为负数。

四.盒子的边框

复合属性:

  • border-style:边框线风格

solid:实线

dashed:虚线

dotted:点线

double:双实线

  • border-width:边框线宽度
  • border-color:边框线颜色
  • border:复合属性

各个方向:

  • border-left

border-left-style border-left-with border-left-color

  • border-right

border-right-style border-right-width border-right-color

  • border-left

border-left-style border-left-width border-left-color

  • border-right

border-right-style border-right-width border-right-color

  • border-top

border-top-style border-top-width border-top-color

  • border-bottom

border-bottom-style border-bottom-width border-bottom-color

五.盒子外边距

  • margin-left:左外边距
  • margin-right:右外边距
  • margin-top:上外边距
  • margin-bottom:下外边距
  • margin:复合属性
  • 注意:

1.子元素的 margin,是参考父元素的content计算的。(因为是父亲的content中承装着子元素)

2.上margin、左margin:影响自己的位置;下 margin、右margin:影响后面兄弟元素的位置。

3.块级元素、行内块元素,均可以完美地设置四个方向的 margin;但行内元素,左右margin可以完美设置,上下 margin 设置无效。

4.margin的值也可以是 auto,如果给一个块级元素设置左右 margin都为 auto,该块级元素会在父元素中水平居中。

5.margin的值可以是负值。

margin 塌陷问题

  • 方案一:给父元素设置不为0的padding。
  • 方案二:给父元素设置宽度不为0的border。
  • 方案三:给父元素设置css样式 overflow:hidden

margin合并问题

  • 方案:布局的时候上下的兄弟元素,只给一个设置上下外边距。
相关推荐
东方小月31 分钟前
从零开发一个 Coding Agent(四):使用状态机校验大模型事件流
前端·人工智能·后端
Csvn1 小时前
🧩 ESM vs CJS 混用的 7 个「天坑」——从 TypeScript 编译到 Node 与浏览器
前端
Csvn1 小时前
🎯 Web 性能 API 集合:Performance Observer 的 5 个冷门妙用
前端
Csvn1 小时前
深入 React 闭包陷阱:从根源上理解并根治 stale closure
前端
whyfail1 小时前
前端学 Spring Boot(8):接口为什么越用越慢?
前端·spring boot·后端
用户059540174462 小时前
LangChain 记忆测试踩坑实录:这两个坑让我排查了 4 小时
前端·css
程序员黑豆2 小时前
鸿蒙应用开发:@Monitor 装饰器使用教程
前端·harmonyos
SamChan903 小时前
在Web应用中集成PDF多语言翻译功能:PDFTranslator API实战指南
前端·python·ai·pdf·yapi·机器翻译
kyriewen3 小时前
AI Agent 9秒删光了生产数据库——我给自己的项目做了5个紧急检查
前端·ai编程·claude
IT_陈寒3 小时前
JavaScript的this又双叒叕让我怀疑人生了
前端·人工智能·后端