CSS之盒模型边框,内边距,外边距,阴影,圆角

盒子模型

盒子模型

  • 盒子模型有元素内容、边框(border)、内边距(padding)、外边距(margin)组成;
  • 盒子里面的文字和图片等元素是内容区域;
  • 盒子的厚度 我们称为 盒子的边框;
  • 盒子内容与盒子之间的距离是内边距;
  • 盒子与盒子之间的距离是外边距;
标准盒子模型

盒子边框(border)

border: border-width || border-style || border-color
属性 作用
border-width 定义边框粗细,单位是 px
border-style 边框的样式
border-color 边框颜色

border-style :

  • none:没有边框即忽略所有边框的宽度(默认值)
  • solid:边框为单实线;
  • dashed:边框为虚线;
  • dotted:边框为点线;
表格细线边框
  • 通过表格的 cellspacing="0",将单元格与单元格之间的距离设为 0
  • 但是两个单元格之间的边框会出现边框,从而使边框变粗;
  • 通过设置 css 属性 table {border-collapse: collapse;} 表示相邻边框合并在一起;
<style>
  table,
  th,
  td {
    border: 1px dashed #ccc;
    border-collapse: collspase;
  }
</style>

内边距(padding)

属性 作用
padding-top 上内边距
padding-bottom 下内边距
padding-left 左内边距
padding-right 右内边距

当我们为盒子添加了内边距之后

  • 内容和边框有了距离;
  • 盒子变大了;
复合写法
padding: 10px 20px 30px 40px;
  • 一个值 : 上下左右 10 px;
  • 两个值 : 上下10px,左右20px;
  • 三个值 : 上10px,左右20px,下30px;
  • 四个值 : 上10px,右20px,下30px,左40px;顺时针
内盒尺寸计算 (元素实际大小)
  • 宽度:ElementHeight = content height + padding + border
  • 高度:ElementWidth = content width + padding + border
  • 盒子实际大小 = 内容的宽度和高度 + 内边距 + 边框
padding不影响盒子大小的情况

如果没有给一个盒子指定宽度,此时如果给这个盒子指定 padding,则不会撑开盒子。

外边距

属性 作用
margin-top 上外边距
margin-bottom 下外边距
margin-left 左外边距
margin-right 右外边距
复合写法

margin 值的简写代表含义,与 padding 值完全一致

块级盒子水平居中
  • 让一个块级盒子实现水平居中,必须:

    • 盒子必须指定宽度;
    • 然后给左右的外边距设置为 auto
  • 实际工作中常用 .container {width: 960px; margin: 0 auto;}
  • 常见的写法包含:
    • margin-left:auto;margin-right:auto;
    • margin:auto;
    • margin:0 auto;
文字居中与盒子居中的区别
  1. 文字水平居中是 text-align: center;,而且还可以让行内元素和行内块元素居中对齐
  2. 盒子水平居中是 左右 margin 改为 auto;
插入图片和背景图片区别
  1. 插入图片 用的最多的是比如产品类 移动位置只能靠盒模型 padding margin
  2. 背景图片我们一般用于小图标或者超大背景图片,背景图片只能通过 background-position
img {
    width: 200px; /* 更改插入图片的大小 */
    height: 210px;
    margin-top: 30px; /* 更改插入图片的位置 可以用 padding 或 margin 盒模型 */
    margin-left: 50px;
}
div {
    width: 400px;
    height: 400px;
    border: 1px dashed #ccc;
    background: #fff url(image/image.png) no-repeat scroll;
    background-position: 30px 50px; /* 背景图片更改位置 */
}
清除元素默认的内外边距
* {
  margin: 0;
  padding: 0;
}

注意:行内元素为了照顾兼容性,尽量只设置左右内外边距,不要设置上下内外边距;

外边距合并

使用 margin 定义块元素的垂直外边距时,可能会出现外边距合并

相邻块元素垂直外边距的合并
  • 当上下相邻的两个块元素相遇时,如果上面的元素有下外边距 margin-bottom 下面的元素有上外边距 margin-top,则他们之间的垂直间距是取两者值中较大者,这种现象称为相邻块元素垂直外边距合并(也称外边距塌陷)
嵌套块元素垂直外边距合并(塌陷)
  • 对于两个嵌套关系的块元素,如果父元素没有上边距及边框,父元素的上外边距会与子元素的上外边距发生合并;合并后取两者中较大者;
  • 解决方案:
    • 可以为父元素定义上边框
    • 可以为父元素定义上内边距
    • 可以为父元素添加overfolw:hidden
  • 还有其他的方法比如浮动、固定、绝对定位的盒子不会有问题;
圆角边框 (CSS3)
border-radius: length;
/* 数值也可以为百分比形式,如果需要一个盒子变成圆 可以指定 50% */
盒子阴影 (CSS3)
box-shadow: 水平阴影 垂直阴影 模糊距离 阴影尺寸 阴影颜色 内外阴影
box-shadow: 2px 2px 2px 2px rgba(0,0,0,0.2);
描述
h-shadow 必须。水平阴影位置。允许负值
v-shadow 必须。垂直阴影位置。允许负值
blur 可选,模糊距离
spread 可选,阴影的尺寸
color 可选,阴影的颜色。十六进制
inset 可选,将外部阴影(outset)改为内部阴影

原文地址:https://www.cnblogs.com/article-record/p/12250755.html

时间: 2024-10-14 04:35:15

CSS之盒模型边框,内边距,外边距,阴影,圆角的相关文章

css盒子模型、边框border、外边距margin、填充padding、轮廓outline

盒子模型 一个盒子包括外边距.边框.内边距和实际内容 Margin(外边距):清除边框外的区域,外边距是透明的. Border(边框):围绕在内边距和外边距的边框. Padding(内边距):清除内容周围的区域,内边距是透明的. Content(内容):盒子的内容,显示文本和图像. 例如下面一个例子 <!DOCTYPE html> <html> ······ <style> div { background-color: lightgrey; width: 300px;

css样式之边框和内外边距

1.css样式之边框:border 实心的边框: <!DOCTYPE html><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><title>页面一</title> </head><body> <div style="border:1px solid

CSS盒模型--边框设置:border: 1px solid red(像素 样式 颜色 ),border-bottom:1px dotted #ccc

盒模型--边框(一) 盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细.样式和颜色(边框三个属性). 如下面代码为div来设置边框粗细为2px.样式为实心的.颜色为红色的边框: div{ border:2px solid red; } 上面是border代码的缩写形式,可以分开写: div{ border-width:2px; border-style:solid; border-color:red; } 注意: 1.border-style(边框样式)常见样式有: dashed

css的盒模型,及css3的box-sizing新属性

css的盒模型包含了content(元素自身).padding(内边距).border(边框)及margin(外边距). 如图,浏览器控制台elements的computed可以清晰显示元素盒模型,鼠标多动动就明白了:(蓝色区域表示content元素自身,这里是整个窗口的内容) 盒模型有两种:标准模式和怪异模式.在<!DOCTYPE>声明缺失时就会在ie6.ie7.ie8下触发怪异模式 标准模式下:盒子总宽度/高度 = content + padding + border + margin,c

CSS基础 - 盒模型、浮动、定位

1 CSS盒模型 在以前,程序员们是通过表格来对一个网页进行排版,也就是通过大小不一的表格和表格嵌套来定位排版网页的内容.后来,CSS出现之后,在网页布局中,为了能够使页面中的各个部分合理的进行组织,开发人员们总结出了一套完整的.行之有效的原则和规范,也就是"盒模型".它是通过使用CSS来定义大小不一的盒子和盒子嵌套来编排网页. 因为用这种方式排版的网页代码简洁,更新方便,能兼容更多的浏览器. 页面中的所有元素都可以看成是一个盒子,一个页面由很多的盒子组成,这些盒子之间会相互影响,所以

css之去除html标签默认的外边距margin和内边距padding,通用工具类 base.css

@charset "utf-8"; /*! * @名称:base.css * @功能:1.重设浏览器默认样式 * 2.设置通用原子类 */ /* 防止用户自定义背景颜色对网页的影响,添加让用户可以自定义字体 */ html { background:white; color:black; } /* 内外边距通常让各个浏览器样式的表现位置不同 */ body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,le

学习CSS布局 - 盒模型

盒模型 在我们讨论宽度的时候,我们应该讲下与它相关的另外一个重点知识:盒模型. 当你设置了元素的宽度,实际展现的元素却超出你的设置: 这是因为元素的边框和内边距会撑开元素. 看下面的例子,两个相同宽度的元素显示的实际宽度却不一样. 看看代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>盒模型</title

css之盒模型

盒模型由内容(content).填充(padding).边框(border).边界(margin)组成,一个盒子中主要的属性就5个:width.height.padding.border.margin. 下面一一介绍盒子中的区域 width 宽度,CSS中width指的是内容的宽度,而不是盒子的宽度,CSS中height指的是内容的高度,而不是盒子的高度 width:200px; height: 200px; padding:50px; margin: 50px; border: 5px sol

CSS弹性盒模型(flex box)

本文介绍的是 CSS3 规范中引入的新布局模型:弹性盒模型(flex box).随着响应式用户界面的流行,Web 应用一般都要求适配不同的设备尺寸和浏览器分辨率. 浏览器支持: 弹性盒布局的容器(flex container)指的是采用了弹性盒布局的 DOM 元素,而弹性盒布局的条目(flex item)指的是容器中包含的子 DOM 元素.图中的最外围的边框表示的是容器,而编号 1 和 2 的边框表示的是容器中的条目. 主轴并不固定为水平方向的 X 轴,交叉轴也不固定为垂直方向的 Y 轴.在使用