【笔记】CSS实现商城首页商品布局

前言

CSS实现商城首页商品布局

间隙

通过类去除末尾边距

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<style>
.content {
width: 1190px;
margin: 0 auto;
height: 800px;
}

.item {
width: 230px;
height: 322px;
float: left;
margin-right: 10px;
}

.last-item {
margin-right: 0;
}
</style>

<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item last-item">5</div>
<div class="item">6</div>
<div class="item">7</div>
<div class="item">8</div>
<div class="item">9</div>
<div class="item last-item">10</div>
</div>

通过伪类选择器去除末尾边距

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<style>
.content {
width: 1190px;
margin: 0 auto;
height: 800px;
}

.item {
width: 230px;
height: 322px;
float: left;
margin-right: 10px;
}

.item:nth-child(5n) {
margin-right: 0;
}
</style>

<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
</div>

通过向父级多加宽度

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<style>
.content {
width: 1200px;
margin: 0 auto;
height: 800px;
}

.item {
width: 230px;
height: 322px;
float: left;
margin-right: 10px;
}
</style>

<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
</div>

通过盒子拉伸宽度

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<style>
.content {
width: 1200px;
margin: 0 auto;
height: 800px;
}

.item {
width: 230px;
height: 322px;
float: left;
margin-right: 10px;
}

.wrapper {
margin-right: -10px;
}
</style>

<div class="container">
<div class="wrapper">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
</div>
</div>

边框

通过伪类选择器缩小末尾元素宽度

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<style>
.content {
width: 1100px;
margin: 0 auto;
height: 800px;
}

.wrapper {
margin-left: 1px;
}

.item {
width: 221px;
height: 168px;
float: left;
border: 1px solid black;
margin-right: -1px;
box-sizing: border-box;
}

.item:nth-child(5n) {
width: 220px;
}
</style>

<div class="container">
<div class="wrapper">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
</div>
</div>

完成