如果是单纯实现一个三角形,特别是等腰三角形,我们可以采用border的方式来实现:
div {
margin: 100px auto;
width: 0;
height: 0;
border: 50px solid;
border-color: transparent transparent red;
}
运行结果:

如果我们要实现多边形,我们可以考虑使用裁剪的方式,裁剪出多边形的形状。
clip-path:使用裁剪的方式用于创建元素的可显示区域。裁剪后,区域内的部分为显示,区域外的部分则隐藏。clip-path可选的值有很多,例如:
polygon有两种参数需要传入,一种是可选的填充规则,省略不传则为默认值,通常来说不传;另一种是三对或者更多的坐标值,坐标值按照笛卡尔坐标系,顺序为“上右下左”,分别指定每个点的坐标,坐标采用距离原点的百分比或者具体的px。
div {
clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); // 绘制一个菱形
}
运行结果:

div {
clip-path: polygon(50% 0px, 100% 25%, 75% 100%, 25% 100%, 0px 25%); // 五边形
}
运行结果:

单个元素如果是flex布局无法实现省略号的效果,因此至少需要两层。父元素设置为flex布局,子元素设置省略号展示。
// html
<div class='flex'>
<div>前置内容</div>
<div class="flex-content">这是一段很长的文字放在段落中间并且需要使用省略号展示</div>
<div>后置内容</div>
</div>
// css
/* 父元素设置为flex布局 */
.flex{
display: flex;
border: 1px solid red;
width: 300px;
}
/* 需要省略的元素,需要设置flex:1和min-width:0 */
.flex-content {
text-overflow: ellipsis;
overflow-x: hidden;
white-space: nowrap;
flex: 1;
min-width: 0;
}
运行结果:

采用背景图片渐变的方式:
运行结果:

repeating-linear-gradient
// css
.dash {
width: 100%;
height: 30px;
background-image: linear-gradient(to right, #ccc 0%, #ccc 50%, transparent 50%);
background-size: 24px 6px;
background-repeat: repeat-x;
}

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理