css

inline-block的详解和应用

Posted by Ethan on 2020-05-14

inline-block的两个兄弟

display:inline; 内联元素,简单来说就是在同一行显示。他没有高度,给内联元素设置width和height是没效果的。
display:block; 块级元素,简单来说就是就是有换行,会换到第二行。同时可以设置宽高。

inline-block

inline-block 的元素既具有 block 元素可以设置宽高的特性,同时又具有 inline 元素默认不换行的特性。当然不仅仅是这些特性,比如 inline-block 元素也可以设置 vertical-align(因为这个垂直对齐属性只对设置了inline-block的元素有效) 属性。
HTML 中的换行符、空格符、制表符等合并为空白符,字体大小不为 0 的情况下,空白符自然占据一定的宽度,使用inline-block 会产生了元素间的空隙。

详细应用

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
@mixin item_style {
width: 20%;
display: inline-block;
text-align: center;
padding: 20px 0 0 12px;
.back_frame {
cursor: pointer;
position: relative;
background-color: #ffffff;
padding: 32px 0 0 0;
border-radius: 3px;
&:hover {
box-shadow: 0px 2px 4px 0px rgba(201,201,201,0.5);
}
.detail_name {
font-size: 13.5px;
font-family: Alibaba-PuHuiTi-M,Alibaba-PuHuiTi;
line-height: 20px;
}
.inited_img {
position: absolute;
right: 0;
width: 35px;
height: auto;
top: 0;
}
.item_img {
height: 80px;
}
}
}

效果
inline-block的详解和应用

这两块之间有一个不同于之前的比较大的空隙,这个空隙是因为块级元素会换行,就有换行。
HTML 中的换行符、空格符、制表符等合并为空白符,所以换行符会占据宽度,产生间隙。

解决inline-block产生的间隙

使用负值的margin:margin:-4px