CSS 基础 2 - Box Model 盒模型

Box Model 盒模型是网页布局的前提。网页布局的几种方式:

  • Table(过时):在 CSS 出现之前,一般用表格布局(将表格边框线隐藏)
  • Float(过时):最初用于“文字环绕图片”,但广泛用于网页布局,非常成熟(IE6也支持)
  • Flexbox(推荐):专门用于网页布局,一个 Flexbox 容器只能控制一个方向
  • Grid:专门用于网页布局,二维网格,可以控制两个方向

先学习 Box Model,然后 Flexbox/Grid/Float 三选一即可搞定网页布局!

BOX Model

四大属性:Content、Padding、Border、Margin

  • Content:内容
  • Border:边框线
  • padding:内容与边框的距离
  • margin:边框与其他元素的距离

margin 与 padding 的区别

除了 padding 在边框内,margin 在边框外:

  • padding 部分有背景颜色,margin 无背景颜色
  • 如果元素可点击(如超链接),padding 部分可点击,而 margin 部分不可点击
  • 相邻 margin 会合并(margin collapse)

设置值格式

  • padding/margin: 10px; 上下左右
  • padding/margin: 10px 20px; 上下,左右
  • padding/margin: 10px 20px 30px; 上,左右,下
  • padding/margin: 10px 20px 30px 40px; 逆时针:上,右,下,左
  • padding/margin-top/left/right/bottom 单独指定某一边

inline

以上针对 block 元素。对于 inline 元素(如 strong),margin 只影响左右,对上下不起作用;padding 影响左右,上下虽然有效果(如背景颜色、边框),但不影响垂直方向布局。改成 display:inline-block; 即可符合预期(行为类似 block)。

总结:inline 不影响垂直方向的版面布局!

居中对齐

  • 对于 inline 元素:复用父元素的 text-align:center
  • 对于 block 元素:如果宽度小于 100%,margin-left 和 margin-right 设为 auto 即可

Box-sizing

默认值:content-box,width、height 设置的是 content;而设为 border-box 时,width、height 包含了 padding 及 border 的宽度

Reference

https://www.bilibili.com/video/BV1WA411h7Y1/

CSS 基础 2 - Box Model 盒模型的更多相关文章

  1. Box Model 盒子模型

    Box Model盒子模型,是初学者在学习HTMl5时会学到的一个重要的模型,也有一些人称它为框模型,因为盒子是属于3维,而框是平面的.称之为盒子模型,是因为其结构和盒子十分相似,其最外面是margi ...

  2. Web前端篇:CSS常用格式化排版、盒模型、浮动、定位、背景边框属性

    目录 Web前端篇:CSS常用格式化排版.盒模型.浮动.定位.背景边框属性 1.常用格式化排版 2.CSS盒模型 3.浮动 4.定位 5.背景属性和边框属性 6.网页中规范和错误问题 7.显示方式 W ...

  3. CSS Box Model 盒子模型

    1. 介绍 1.1 什么是 Box Model 在HTML中的每个element(元素)都可以看作一个矩形的盒子,矩形从内到外依次由元素的内容(content).内边距(padding).边框(bor ...

  4. CSS3-页面布局基础二——Box Model、边距折叠、内联与块标签

    一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...

  5. 被废了的display:box弹性盒模型

    这几天在研究弹性布局,看书中写的是display:box,结果在chrome浏览器中是正常的,想着移动端大部分浏览器也是webkit内核的应该也没啥问题,结果确实没问题,但仔细一看,高度呢?好吧,严重 ...

  6. CSS选择器、样式、盒模型

    一.CSS基础选择器 # 1.*(通配选择器):html,body以及body下用于显示的标签 #html和body颜色会被改变,但是div标签不会发生改变,由于不同的选择器具有优先级 # 语法:* ...

  7. CSS基础深入之细说盒子模型

    Html任何一个元素(element)都可以当成一个盒子(box)来看待,可以结合现实中的盒子来理解下文,下文其中一些单词应该是通俗易懂的需要记录的单词. 基本情况 每一个盒子都有一个内容区域(con ...

  8. css学习の第三弹—盒模型的创建和使用

    一.css盒模型: 元素分类: 块状元素.内联元素(又叫行内元素)和内联块状元素. >>常用的块状元素有: <div>.<p>.<h1>...<h ...

  9. 第一章入门篇CSS样式的分类、盒模型

    1.CSS样式的分类 CSS样式分为一项4种: 1.内联样式表,直接写在元素style属性里面的样式,如 <p style="color:red;">内联样式</ ...

  10. CSS(二) 颜色 盒模型 文字相关 border

    一.颜色 rgb(r,g,b)  rgb取值 0-255   分别是 色光三元色  red green blue rgba(r,g,b,a) rgb同上  a 是 alpha  代表透明度 colot ...

随机推荐

  1. 临时表、视图与系统函数_Lab2

    MySQL数据库操作 Lab1.md body { font-family: var(--vscode-markdown-font-family, -apple-system, BlinkMacSys ...

  2. interface 接口相关【GO 基础】

    〇.接口简介 接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节.也就是说,接口可以将一种或多种特征归纳到一起,其他不同的对象通过实现此接口,来表示可以 ...

  3. 基于.Net 的 AvaloniUI 多媒体播放器方案汇总

    基于.Net 的 AvaloniUI 多媒体播放器方案汇总 摘要 随着国产化的推进,相信.Net的桌面端的小伙伴的可能已经有感受到了. 为了让.Net的桌面框架能够跨桌面平台,首选的就是Avalona ...

  4. .NET中的数组在内存中如何布局?

    总的来说,.NET的值类型和引用类型都映射一段连续的内存片段.不过对于值类型对象来说,这段内存只需要存储其字段成员,而对应引用类型对象,还需要存储额外的内容.就内存布局来说,引用类型有两个独特的存在, ...

  5. .Net Core 3.1 服务端配置跨域

    一.在Startup.cs 的 ConfigureServices 配置好跨域策略 原文链接:https://www.jianshu.com/p/534b9a6a6ed5 public void Co ...

  6. Centos7.5镜像获取

    Centos.7.5镜像可从以下地址获取 镜像源地址:https://mirrors.tuna.tsinghua.edu.cn/ 1.下拉找到cc目录下的centos-vault 2.点击进入下一级目 ...

  7. zookeeper源码(04)leader选举流程

    在"zookeeper源码(03)集群启动流程"中介绍了leader选举的入口,本文将详细分析leader选举组件和流程. leader选举流程(重要) quorumPeer的st ...

  8. 题解 CF1292A

    题目大意: 给你 \(2\times n\) 的迷宫,初始时没有任何障碍,给定 \(q\) 次询问,每次询问给予坐标 \((x,y)\),问将坐标 \((x,y)\) 反转状态(即无障碍变有障碍,有障 ...

  9. 使用 sed 处理文本文件

    前言 sed 是一款 GNU 流编辑器,可以按照指定的规则去处理文本文件或流,其强大的功能使用户在命令中快捷地修改文本文件成为可能. 它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所 ...

  10. 🔥🔥Java开发者的Python快速进修指南:面向对象进阶

    在上一期中,我们对Python中的对象声明进行了初步介绍.这一期,我们将深入探讨对象继承.组合以及多态这三个核心概念.不过,这里不打算赘述太多理论,因为我们都知道,Python与Java在这些方面的主 ...