如果是单纯实现一个三角形,特别是等腰三角形,我们可以采用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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理