前端的日常开发小技巧总结(一)

打印 上一主题 下一主题

主题 971|帖子 971|积分 2913

日常开发中的小劳绩

前言

本专栏,主要记录在日常开发当中,学习和劳绩到的一些小诀窍,通过日常的总结与汇总,日积月累~让自己的专业能力可以或许得以提升,同时也能使自己和看到这些的人,少走一些弯路
-------------只要日积月累,微小的积极终将汇聚成巨大的进步----------------

一、使用elementUI,绘制直角梯形

在前端开发中,UI大佬为了让页面更悦目、更具有观赏性,总会设计一些异形按钮,区别于正常的按钮形状,对于用户很友好,但对于开发者而言,却必要花费更多的精力去实现它
这次在实际开发中,就遇到了类似的情形,为了页面更具观赏性,设计师将正常的Tab切换按钮,设计成了直角梯形与平行四边形
如图所示:

正常开发过程中,为了实现上图效果,一般就是使用CSS3样式,然后手写Tab切换效果
但这次,只必要elementUI 的按钮组件+一些属性的修改就可完成

  • 实现思绪
    HTML部门:使用 ElementUI 的 el-button 组件。
    CSS部门:利用 clip-path 来实现直角梯形的形状。
    我们将使用 clip-path 来裁剪按钮,使其成为直角梯形。
梯形代码如下:
  1.   <div class="trapezoid-button-container">
  2.     <el-button class="trapezoid-button">
  3.       直角梯形按钮
  4.     </el-button>
  5.   </div>
  6. <style scoped>
  7. .trapezoid-button-container {
  8.   display: flex;
  9.   justify-content: center;
  10.   align-items: center;
  11.   height: 100vh;
  12. }
  13. .trapezoid-button {
  14.   width: 100px;
  15.   height: 50px;
  16.   line-height: 50px;
  17.   background-color: #409EFF;
  18.   color: white;
  19.   text-align: center;
  20.   font-size: 16px;
  21.   border: none;
  22.   clip-path: polygon(0 100%, 100% 100%, 70% 0, 0 0);
  23.   cursor: pointer;
  24. }
  25. .trapezoid-button:hover {
  26.   background-color: #66b1ff;
  27. }
  28. </style>
复制代码

  • 关键点阐明
    clip-path: 我们使用了 clip-path 来裁剪元素,使其呈现为直角梯形的形状。polygon(0 100%, 100% 100%, 70% 0, 0 0) 定义了这个梯形的四个极点,分别是:
    (0, 100%):左下角
    (100%, 100%):右下角
    (70%, 0):右上角(上边长为 70% 即 70px)
    (0, 0):左上角
    按钮样式:我们设置了按钮的宽度为 100px,高度为 50px,这与梯形的底边和高度相匹配。
    hover 效果:当按钮被悬停时,配景颜色会变为更亮的蓝色。
二、使用elementUI,绘制平行四边形

如上图所示,梯形按钮绘制完毕,接下来绘制平行四边形
代码如下(示例):
  1. <template>
  2.   <div class="parallelogram-button-container">
  3.     <el-button class="parallelogram-button">
  4.       <span class="button-text">按钮2</span>
  5.     </el-button>
  6.   </div>
  7. </template>
  8. <script>
  9. export default {
  10.   name: "ParallelogramButton",
  11. };
  12. </script>
  13. <style scoped>
  14. .parallelogram-button-container {
  15.   display: flex;
  16.   justify-content: center;
  17.   align-items: center;
  18.   height: 100vh;
  19. }
  20. .parallelogram-button {
  21.   display: inline-block;
  22.   width: 100px;
  23.   height: 40px;
  24.   background-color: #409EFF;
  25.   color: white;
  26.   text-align: center;
  27.   line-height: 40px;
  28.   border: none;
  29.   cursor: pointer;
  30.   transform: skew(-20deg); /* 倾斜生成平行四边形 */
  31. }
  32. .parallelogram-button:hover {
  33.   background-color: #66b1ff;
  34. }
  35. </style>
复制代码
关键点阐明
transform: skew(-20deg):使用 CSS 的 transform 属性中的 skew 函数将按钮倾斜。skew(-20deg) 表现将按钮沿着 X 轴倾斜 20 度,从而形成平行四边形的效果。可以根据需求调整倾斜角度。
宽度与高度:按钮的宽度为 100px,高度为 40px,这是通过 width 和 height 来控制的。
居中对齐:使用了 line-height: 40px 使得按钮内部的笔墨居中。
别的留意一点,由于是整体倾斜,所以按钮中的笔墨也会跟着倾斜,这与原型图的设计并不相符,为了解决这一问题,可以给笔墨单独设置新的倾斜角度,使其可以或许回正

  1. /* 抵消按钮的倾斜,使文字保持水平 */
  2. .button-text {
  3.   display: inline-block;
  4.   transform: skew(20deg); /* 抵消按钮倾斜 */
  5. }
复制代码
总结

就如许,简简朴单的几行代码,就实现了在vue2中,使用elementUI 绘制直角梯形和平行四边形的需求
------------------------苦心人,天不负,卧薪尝胆,三千越甲可吞吴
有志者,事竟成,破釜沉舟,百二秦关终属楚-----------------------


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

笑看天下无敌手

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表