CSS布局之盒子模型[一]
每个HTML标签都会生成一个盒模型,盒模型是正常流布局非常重要的概念。盒模型由内边距(padding)
+长度(width)
+高度(height)
+边框(border)
+外边距(margin)
组成。
1. 宽度(width)和高度(height)
盒模型有2种类型,怪异盒模型
和标准盒模型
,在不同盒模型情况下宽度(width)
和高度(height)
计算方式会不同。
如果没正确声明<!DOCTYPE HTML>
文档类型或设置box-sizing: border-box
CSS属性,则会产生怪异盒模型,此时宽度(width)=内容区宽度+内边距(padding)+边框(border)
,高度也是这样。
正确声明<!DOCTYPE HTML>
文档类型或设置box-sizing: content-box
CSS属性时,会产生标准盒模型,此时宽度(width)=内容区宽度
,高度也是这样。
// 宽度=内容区宽度+左右内边距+左右边框
// 高度=内容区高度+上下内边距+上下边框
box-sizing: border-box;
// 宽度=内容区宽度 高度=内容区高度
box-sizing: content-box;
2. 内边距(padding)
内边距指内容区跟边框之间的距离,可通过padding(内边距)
统一设置,也可通过上内边距(padding-top)
、左内边距(padding-left)
、下内边距(padding-bottom)
、左内边距(padding-left)
单独设置每一边内边距。
// 设置1个值
padding: 1px;
// 等价于
padding-top: 1px;
padding-right: 1px;
padding-bottom: 1px;
padding-left: 1px;
// 设置2个值
padding: 1px 2px;
// 等价于
padding-top: 1px;
padding-right: 2px;
padding-bottom: 1px;
padding-left: 2px;
// 设置3个值
padding: 1px 2px 3px;
// 等价于
padding-top: 1px;
padding-right: 2px;
padding-bottom: 3px;
padding-left: 2px;
// 设置4个值
padding: 1px 2px 3px 4px;
// 等价于
padding-top: 1px;
padding-right: 2px;
padding-bottom: 3px;
padding-left: 4px;
3. 边框(border)
边框指包裹内容区和内边距的框框,可通过border
属性统一设置(border-style(边框样式)
、border-width(边框宽度)
和border-color(边框颜色)
3个属性的合并)。也可以通过border-top(上边框)
、border-right(右边框)
、border-bottom(下边框)
和border-left(左边框)
单独设置。
3.1 边框宽度(border-width)
边框宽度表示边框的粗细,可以取任意合法的长度单位值。
// 1个值:四条边框都为1px
border-width: 1px;
// 2个值:上下边框为1px 右左边框为2px
border-width: 1px 2px;
// 3个值:上边框为1px 右左边框为2px 下边框为3px
border-width: 1px 2px 3px;
// 4个值:上边框为1px 右边框为2px 下边框为3px 右边框4px
border-width: 1px 2px 3px 4px;
PS: 单独设置跟内边距差不多,如border-top-width:2px
3.2 边框样式(border-style)
边框样式可以取下面的值。
// 1个值:4条边框都没有样式
border-style: none;
// 2个值:上下边框样式为实线,右左边框样式为双实线
border-style: solid double;
// 3个值:上边框为点状 右左边框为虚线 下边框为继承
border-style: dotted dashed inherit;
// 4个值:上右下左边框样式分别为:3D凹槽 3D垄状 3D内侧 3D外侧
border-style: groove ridge inset outset ;
3.3 边框颜色(border-color)
边框颜色可取任意合法的颜色模式值。
// 1个值:4条边框都为红色
border-color: red;
// 2个值:上下边框颜色为红色,右左边框颜色为黄线
border-color: red yellow;
// 3个值:上边框为红色 右左边框为黄色 下边框为蓝色
border-color: red yellow blue;
// 4个值:上右下左边框颜色分别为:红色 黄色 蓝色 绿色
border-color: red yellow blue green;
3.4 合并属性
border
可以合并上面3个属性。
// 1px、灰色的实线边框
border: 1px solid grey;
4. 外边距(margin)
外边距是盒模型的最外一层,取值跟上面差不多。
// 1个值:4个外边距都为1px
margin: 1px;
// 2个值:上下外边距为1px 右左外边距为2px
margin: 1px 2px;
// 3个值:上外边距为1px 右左外边距为2px 下外边距为3px
margin: 1px 2px 3px;
// 4个值:上外边距为1px 右外边距为2px 下外边距为3px 左外边距为4px
margin: 1px 2px 3px 4px;
PS:也可以通过margin-top:1px这样的方式来单独设置外边距
CSS布局之盒子模型[一]的更多相关文章
- css布局与盒子模型
一. 盒子模型 注: 1.红色为border; 2.背景应用于内容.内边距.边框组成的区域: 3.Width和height指的是内容区域的高度和宽度. 边框属性: 1. padding属性:( ...
- CSS布局(二) 盒子模型属性
盒子模型的属性 宽高width/height 在CSS中,可以对任何块级元素设置显式高度. 如果指定高度大于显示内容所需高度,多余的高度会产生一个视觉效果,就好像有额外的内边距一样: 如果指定高度小于 ...
- 标准W3C盒子模型和IE盒子模型CSS布局经典盒子模型(转)
盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版.其实盒子模型有两种,分别是 ie 盒子模型和标准 w3c 盒子模型.他们对盒子模型的解释各不相同,先来看看我们熟知的标准盒子模型: 从上 ...
- CSS布局(一) 盒子模型
一.盒子模型 标准盒子模型 从下图可以看到标准 w3c 盒子模型的范围包括 content.padding.border.margin,并且 content 部分不包含其他部分. 怪异盒子模型 从下图 ...
- CSS Flexbox 弹性盒子模型
CSS Flexbox 弹性盒子模型 设置元素样式为 display: flex 或 display: inline-flex, 让元素变成flex容器, 从而可以通过flex模式布局它的子元素. f ...
- css中的盒子模型
css中的盒子模型 css中的盒子模型,有两种,一种是“标准 W3C 盒子模型”,另外一种是IE盒子模型. 1.w3c盒子模型 从图中可以看出:w3c盒子模型的范围包括了:margin,borde ...
- 【CSS学习】--- 盒子模型
一.前言:这篇只作为本人的笔记,以后慢慢再补充. 页面中的所有元素都可以被看作一个一个的“盒子”.这些盒子都包含了:内容(content).内边距(padding).边框(border)以及外边距(m ...
- CSS学习之盒子模型
1. 前言 盒子模型,英文即box model.无论是div.span.还是a都是盒子. 但是,图片.表单元素一律看作是文本,它们并不是盒子.这个很好理解,比如说,一张图片里并不能放东西,它自己就是自 ...
- CSS学习系列1 - CSS中的盒子模型 box model
css中有一个盒子模型的概念. 主要是用来告诉浏览器如何来计算页面元素的宽度和高度, 比如该元素的宽度/高度 是否包括内边距,边框,外边距. 盒子模型有一个属性box-sizing属性来说明是否包括 ...
随机推荐
- 【Hadoop】namenode与secondarynamenode的checkpoint合并元数据
Checkpoint Node(检查点节点) NameNode persists its namespace using two files: fsimage, which is the latest ...
- api.versioning 版本控制 自动识别最高版本
Microsoft.AspNetCore.Mvc.Versioning //引入程序集 .net core 下面api的版本控制作用不需要多说,可以查阅https://www.cnblogs.com/ ...
- Java实现 蓝桥杯 算法训练 Lift and Throw
试题 算法训练 Lift and Throw 问题描述 给定一条标有整点(1, 2, 3, -)的射线. 定义两个点之间的距离为其下标之差的绝对值. Laharl, Etna, Flonne一开始在这 ...
- Java实现蓝桥杯基础练习特殊回文数
基础练习 特殊回文数 时间限制:1.0s 内存限制:512.0MB 提交此题 锦囊1 锦囊2 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这 ...
- Java实现 LeetCode 226 翻转二叉树
226. 翻转二叉树 翻转一棵二叉树. 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 备注: 这个问题是受到 Max ...
- Linux目录处理命令cd、pwd、rmdir、cp、mv、rm详解
命令cd详解 命令cd(英文原意:change directory),命令路径及执行权限为: 可以看到它的路径为/usr/bin/cd,因此,它的执行权限是所有用户 基本功能是切换目录,例如:cd . ...
- Git Gui工具从远程克隆代码总是提示路径已经存在。问题完美解决!
最近使用Git Gui工具从远程克隆代码总是提示路径已经存在,提示如下图, 原因是使用Git Guii克隆代码时的路径不能是选择一个已经建好的目录(D盘的project下的test文件夹是我提前建好的 ...
- 聊一聊高并发高可用那些事 - Kafka篇
目录 为什么需要消息队列 1.异步 :一个下单流程,你需要扣积分,扣优惠卷,发短信等,有些耗时又不需要立即处理的事,可以丢到队列里异步处理. 2.削峰 :按平常的流量,服务器刚好可以正常负载.偶尔推出 ...
- JNI_day01
C语言简介 system()是提供C语言调用系统命令的函数 C语言基本数据类型 C语言中的整数类型:char/short/int/long C中使用ASCII保存字符,所以char所占用的字节数为1 ...
- linux pinmux 引脚多路复用驱动分析与使用
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/code_style/article/de ...