项目需求:在每段文字的前面添加一个小圆点,方案一:使用ul-li布局,方案二:使用flex布局。
使用flex布局发现,子元素设置了宽度,但是有的段落前面的小圆点有细微的变形
出现受到挤压的图片:
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.paragraph {
display: flex;
align-items: center;
width: 100px;
}
.dot {
background-color: #7181FF;
width: 8px;
height: 8px;
display: inline-block;
border-radius: 50%;
margin-right: 10px;
}
</style>
</head>
<body>
<div class="paragraph">
<span class="dot"></span>
<div>这是一段文字</div>
</div>
</body>
</html>
出现这种现象的原因是:定义flex布局的div宽度不够,flex布局有一个默认的属性
flex-shrink
,flex-shrink
的默认值为1
,flex-shrink为1时,
子项将会缩小以填充可用空间。解决的方案就是在子元素中设置
flex-shrink:0,flex-shrink为0时,子项不会缩小
添加flex-shrink
属性后:
代码:
.dot {
flex-shrink: 0;
background-color: #7181FF;
width: 8px;
height: 8px;
display: inline-block;
border-radius: 50%;
margin-right: 10px;
}
效果图: