CSS样式_盒模型样式2

141 阅读3分钟

在浏览器中,开发者工具中,点击每一个元素都可以看到对应的一个模型
image.png
可以看到以下内容

  • 蓝色 content-box 指的是内容区域
  • 绿色 padding-box 指的是padding
  • 黄色 border-box 指的是border
  • 暗黄色 margin

padding的目的是让border和内容之间产生间距。

1. 内填充

padding属性用于实现元素内部的内容和边框区域之间的距离。
添加padding后添加boder一样的效果,会放大元素。

1.1. 语法

我们可以使用padding属性来定义内填充,有四种写法

  • 一个属性值 表示四个边的内填充都是对应的值
  • 两个属性值 表示 上下 左右 第一个值为上下,第二值为左右
  • 三个属性值 表示 上 左右 下 第一个值为上 第二个值为左右 第三个值为下
  • 四个属性值 表示 上 右 下 左
选择器 {
  padding: 10px;
  padding: 10px 20px;
  padding: 10px 20px 30px;
  padding: 10px 20px 30px 40px;
}

如果已经设置好了宽高,然后在这个基础上添加了padding值,那么我们就需要区减去对应的padding值的宽高值,这个操作很麻烦,后续我们有更好的方法。

1.1.1. 单独方向设置

  • padding-left 左填充
  • padding-right 右填充
  • padding-top 上填充
  • padding-bottom 下填充

这些属性都只能写一个值,如果写多个,就会出问题。

1.2. 使用场景

1.2.1. input输入框

为了保证对应的效果美观,输入的文字不贴边框,一般设计师会给输入框设置padding值。

1.2.2. 元素距离对应的边框有padding

image.png

2. 外填充

外填充指边框外和其他元素之间的距离。
外填充叫margin,在我们对应的页面上,元素和元素之间的间距都可以使用外填充实现。

2.1. 语法

2.1.1. 基本使用方法

外填充和内填充一样,可以有多种写法,不同的值的数量代表着不同的方向。

选择器 {
  margin: 10px;
  margin: 10px 20px;
  margin: 10px 20px 30px;
  margin: 10px 20px 30px 40px;
}

2.1.2. 单个方向设置margin

margin和padding相同支持单个方向的设置

  • margin-left
  • margin-right
  • margin-top
  • margin-bottom

同样要记住,这些属性只能写一个值,不能写多个值。

2.2. 样式重置

网页上很多元素上都有默认的margin值,比如:
p、body、hx、列表,而大部分情况下,我们不需要使用这些margin值,所以我们要清除掉。

有默认margin的标签 {
  margin: 0;
}

2.3. 块元素水平居中

当我们有一个固定宽度的块元素时,我们可以让其居中,使用margin操作

选择器 {
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

直接设置 margion: 0 auto这种方法也可以,但是要清楚,我们水平居中的核心代码是左右auto和上下无关,所以未来上下设置成多少都无所谓。

2.3.1. 版心

为了我们对应的大部分的用户的显示器都能正常访问我们的网站,所以我们会选用一个固定的宽度居中,来作为网页主体内容展示的区域,这个区域叫版心(安全宽度)。
京东的安全宽度是1190,和淘宝一样。小米是1226px
版心的实现,就是借助我们对应的margin属性居中的特性。
一般版心的类名叫container,所以一般我们会给版心设置一个单独的样式

.container {
  width: 1226px;
  margin-left: auto;
  margin-right: auto;
}

补充

同胞选择器

+用于选择到某个元素紧挨着的下一个同胞元素
div + p 选中的是p标签

<div></div>
<p></p>

当我们的列表中,第一个没有相关属性时,可以使用同胞选择器实现对应的效果

列表项 + 列表项 {
  样式
}
<ul>
  <li></li>
  <li></li>
</ul>