CSS实现旋转圆角叠加样式,你学会了吗?

简介: CSS实现旋转圆角叠加样式,你学会了吗?

CSS实现旋转圆角叠加样式,你学会了吗?

本文介绍了如何使用CSS实现旋转圆角叠加样式。圆角和旋转可以通过border-radius和transform属性来实现,而叠加可以通过不同的容器来实现。通过灵活运用这些CSS属性,可以创建出各种效果丰富的页面。


<template>
  <view class="container container23285">
    <view class="flex flex-wrap diygw-col-24 flex-direction-column flex4-clz">
      <view class="flex flex-wrap diygw-col-24 flex-direction-column flex-clz">
        <view class="flex flex-wrap diygw-col-24 flex-direction-column flex31-clz">
          <view class="flex flex-wrap diygw-col-24 flex1-clz">
            <view class="diygw-col-0 text4-clz"> </view>
            <view class="flex flex-wrap diygw-col-0 justify-end items-stretch flex3-clz">
              <view class="diygw-col-0 text-clz"> </view>
            </view>
            <view class="diygw-col-0 text1-clz"> </view>
          </view>
        </view>
        <view class="flex flex-wrap diygw-col-24 justify-between flex32-clz">
          <view class="flex flex-wrap diygw-col-0 flex33-clz">
            <text class="flex icon10 diygw-col-0 icon10-clz diy-icon-home"></text>
          </view>
          <view class="flex flex-wrap diygw-col-0 flex34-clz">
            <text class="flex icon13 diygw-col-0 icon13-clz diy-icon-camerafill"></text>
            <text class="flex icon14 diygw-col-0 icon14-clz diy-icon-lihe"></text>
            <text class="flex icon15 diygw-col-0 icon15-clz diy-icon-yuyin"></text>
          </view>
        </view>
        <view class="flex flex-wrap diygw-col-24 flex2-clz">
          <view class="flex flex-wrap diygw-col-24 items-center flex74-clz">
            <image src="/static/10.jpg" class="image8-size diygw-image diygw-col-0 image8-clz" mode="widthFix"></image>
            <view class="flex flex-wrap diygw-col-0 justify-between flex35-clz">
              <view class="diygw-text-line1 diygw-col-0 text2-clz"> DIY可视化 </view>
              <view class="diygw-text-line1 diygw-col-24 text62-clz"> 一个二次喜欢元灵感创意 </view>
            </view>
          </view>
          <view class="flex flex-wrap diygw-col-24 justify-around flex75-clz">
            <view class="flex flex-wrap diygw-col-0 flex-direction-column justify-end items-center flex78-clz">
              <view class="diygw-text-line1 diygw-col-0 text56-clz"> 999 </view>
              <view class="diygw-text-line1 diygw-col-0 text3-clz"> 可用积分 </view>
            </view>
            <view class="flex flex-wrap diygw-col-0 flex-direction-column justify-end items-center flex36-clz">
              <view class="diygw-text-line1 diygw-col-0 text20-clz"> 10 </view>
              <view class="diygw-text-line1 diygw-col-0 text24-clz"> 优惠券 </view>
            </view>
            <view class="flex flex-wrap diygw-col-0 flex-direction-column justify-end items-center flex37-clz">
              <view class="diygw-text-line1 diygw-col-0 text25-clz"> 518.99 </view>
              <view class="diygw-text-line1 diygw-col-0 text26-clz"> 可用余额 </view>
            </view>
            <view class="flex flex-wrap diygw-col-0 flex-direction-column justify-end items-center flex38-clz">
              <view class="diygw-text-line1 diygw-col-0 text27-clz"> 518.99 </view>
              <view class="diygw-text-line1 diygw-col-0 text28-clz"> 可用余额 </view>
            </view>
          </view>
        </view>
      </view>
    </view>
    <view class="flex flex-wrap diygw-col-24 items-start flex24-clz">
      <image src="/static/10.jpg" class="image-size diygw-image diygw-col-0 image-clz" mode="widthFix"></image>
      <view class="flex flex-wrap diygw-col-0 flex-direction-column flex25-clz">
        <view class="flex flex-wrap diygw-col-24 justify-start flex30-clz">
          <view class="diygw-col-0 text23-clz"> DIY可视化 </view>
        </view>
        <view class="flex flex-wrap diygw-col-24 justify-center items-center flex21-clz">
          <text class="flex icon6 diygw-col-0 icon6-clz diy-icon-usefullfill"></text>
          <view class="diygw-col-0 text17-clz"> 气泡样式组件,设置背景样式及图标颜色 </view>
        </view>
      </view>
    </view>
    <view class="flex flex-wrap diygw-col-24 items-start flex26-clz">
      <view class="flex flex-wrap diygw-col-0 flex-direction-column flex27-clz">
        <view class="flex flex-wrap diygw-col-24 justify-end flex29-clz">
          <view class="diygw-col-0 text21-clz"> DIY可视化 </view>
        </view>
        <view class="flex flex-wrap diygw-col-24 justify-center items-center flex28-clz">
          <text class="flex icon9 diygw-col-0 icon9-clz diy-icon-usefullfill"></text>
          <view class="diygw-col-0 text22-clz"> 气泡样式组件,设置背景样式及图标颜色 </view>
        </view>
      </view>
      <image src="/static/kt.png" class="image1-size diygw-image diygw-col-0 image1-clz" mode="widthFix"></image>
    </view>
    <view class="flex flex-wrap diygw-col-24 flex-direction-column flex18-clz">
      <view class="flex flex-wrap diygw-col-24 justify-center items-center flex5-clz">
        <text class="flex icon diygw-col-0 icon-clz diy-icon-usefullfill"></text>
        <view class="diygw-col-0 text5-clz"> 气泡样式组件,设置背景样式及图标颜色 </view>
      </view>
      <view class="flex flex-wrap diygw-col-24 justify-center items-center flex16-clz">
        <text class="flex icon3 diygw-col-0 icon3-clz diy-icon-usefullfill"></text>
        <view class="diygw-col-0 text14-clz"> 气泡样式组件,设置背景样式及图标颜色 </view>
      </view>
      <view class="flex flex-wrap diygw-col-24 justify-center items-center flex17-clz">
        <text class="flex icon4 diygw-col-0 icon4-clz diy-icon-usefullfill"></text>
        <view class="diygw-col-0 text16-clz"> 气泡样式组件,设置背景样式及图标颜色 </view>
      </view>
      <view class="flex flex-wrap diygw-col-24 justify-center items-center flex15-clz">
        <text class="flex icon2 diygw-col-0 icon2-clz diy-icon-usefullfill"></text>
        <view class="diygw-col-0 text13-clz"> 气泡样式组件,设置背景样式及图标颜色 </view>
      </view>
    </view>
    <view class="clearfix"></view>
  </view>
</template>
 
<script>
  export default {
    data() {
      return {
        //用户全局信息
        userInfo: {},
        //页面传参
        globalOption: {},
        //自定义全局变量
        globalData: {}
      };
    },
    onShow() {
      this.setCurrentPage(this);
    },
    onLoad(option) {
      this.setCurrentPage(this);
      if (option) {
        this.setData({
          globalOption: this.getOption(option)
        });
      }
 
      this.init();
    },
    methods: {
      async init() {
        await this.loadFunction();
      },
      // 新增方法 自定义方法
      async loadFunction(param) {
        let thiz = this;
        this.upload = 'https://www.diygw.com/static/img/pic1.jpg';
        this.uupload = 'https://www.diygw.com/static/img/pic1.jpg';
      }
    }
  };
</script>
 
<style lang="scss" scoped>
  .flex4-clz {
    padding-top: 16rpx;
    border-bottom-left-radius: 30rpx;
    padding-left: 16rpx;
    padding-bottom: 16rpx;
    border-top-right-radius: 30rpx;
    margin-right: 20rpx;
    background-color: #1b233d;
    margin-left: 20rpx;
    overflow: hidden;
    width: calc(100% - 20rpx - 20rpx) !important;
    border-top-left-radius: 30rpx;
    margin-top: 20rpx;
    border-bottom-right-radius: 30rpx;
    margin-bottom: 20rpx;
    padding-right: 16rpx;
  }
  .flex-clz {
    border-bottom-left-radius: 24rpx;
    overflow: hidden;
    border-top-left-radius: 0rpx;
    border-top-right-radius: 24rpx;
    border-bottom-right-radius: 24rpx;
    background-image: linear-gradient(45deg, rgb(4, 159, 187) 0%, rgb(80, 246, 255) 100%);
  }
  .flex1-clz {
    overflow: visible;
  }
  .text4-clz {
    border-bottom-left-radius: 0rpx;
    color: #ede9e9;
    bottom: -30rpx;
    border-top-right-radius: 0rpx;
    background-color: rgba(255, 255, 255, 0);
    flex-shrink: 0;
    box-shadow: -10rpx -10rpx 0rpx 2px #1b233d;
    overflow: hidden;
    left: 0rpx;
    width: 30rpx !important;
    border-top-left-radius: 20rpx;
    border-bottom-right-radius: 0rpx;
    position: absolute;
    height: 30rpx !important;
  }
  .flex3-clz {
    background-color: #1b233d;
    border-bottom-left-radius: 0rpx;
    box-shadow: -20rpx -20rpx 0rpx #1b233d;
    transform: translate(-80rpx, 0rpx) skew(-40deg, 0deg);
    overflow: visible;
    flex: 1;
    border-top-left-radius: 0rpx;
    border-top-right-radius: 0rpx;
    border-bottom-right-radius: 20rpx;
  }
  .text-clz {
    border-bottom-left-radius: 0rpx;
    color: #ede9e9;
    border-top-right-radius: 0rpx;
    right: -30rpx;
    background-color: rgba(255, 255, 255, 0);
    flex-shrink: 0;
    box-shadow: -10rpx -10rpx 0rpx 2px #1b233d;
    overflow: hidden;
    top: 0rpx;
    width: 30rpx !important;
    border-top-left-radius: 20rpx;
    border-bottom-right-radius: 0rpx;
    position: absolute;
    height: 30rpx !important;
  }
  .text1-clz {
    flex-shrink: 0;
    width: 160rpx !important;
    height: 70rpx !important;
  }
  .flex32-clz {
    margin-left: 0rpx;
    width: calc(100% - 0rpx - 0rpx) !important;
    margin-top: -72rpx;
    margin-bottom: 0rpx;
    margin-right: 0rpx;
  }
  .flex33-clz {
    color: #ffffff;
    flex: 1;
  }
  .icon10-clz {
    margin-left: 10rpx;
    margin-top: 10rpx;
    margin-bottom: 10rpx;
    margin-right: 10rpx;
  }
  .icon10 {
    font-size: 40rpx;
  }
  .flex34-clz {
    padding-top: 0rpx;
    color: #1b233d;
    padding-left: 10rpx;
    padding-bottom: 0rpx;
    padding-right: 10rpx;
  }
  .icon13-clz {
    margin-left: 10rpx;
    margin-top: 10rpx;
    margin-bottom: 10rpx;
    margin-right: 10rpx;
  }
  .icon13 {
    font-size: 40rpx;
  }
  .icon14-clz {
    margin-left: 10rpx;
    margin-top: 10rpx;
    margin-bottom: 10rpx;
    margin-right: 10rpx;
  }
  .icon14 {
    font-size: 40rpx;
  }
  .icon15-clz {
    margin-left: 10rpx;
    margin-top: 10rpx;
    margin-bottom: 10rpx;
    margin-right: 10rpx;
  }
  .icon15 {
    font-size: 40rpx;
  }
  .flex2-clz {
    padding-top: 10rpx;
    color: #ffffff;
    padding-left: 10rpx;
    padding-bottom: 10rpx;
    padding-right: 10rpx;
  }
  .flex74-clz {
    margin-left: 10rpx;
    padding-top: 10rpx;
    padding-left: 10rpx;
    width: calc(100% - 10rpx - 10rpx) !important;
    padding-bottom: 10rpx;
    margin-top: 10rpx;
    margin-bottom: 10rpx;
    margin-right: 10rpx;
    padding-right: 10rpx;
  }
  .image8-clz {
    border-bottom-left-radius: 120rpx;
    overflow: hidden;
    border-top-left-radius: 120rpx;
    border-top-right-radius: 120rpx;
    border-bottom-right-radius: 120rpx;
  }
  .image8-size {
    height: 128rpx !important;
    width: 128rpx !important;
  }
  .flex35-clz {
    padding-top: 10rpx;
    flex: 1;
    padding-left: 10rpx;
    padding-bottom: 10rpx;
    padding-right: 10rpx;
  }
  .text2-clz {
    font-weight: bold;
    font-size: 40rpx !important;
  }
  .text62-clz {
    color: #ececec;
  }
  .flex75-clz {
    margin-left: 10rpx;
    padding-top: 10rpx;
    padding-left: 10rpx;
    width: calc(100% - 10rpx - 10rpx) !important;
    padding-bottom: 10rpx;
    margin-top: 10rpx;
    margin-bottom: 10rpx;
    margin-right: 10rpx;
    padding-right: 10rpx;
  }
  .text56-clz {
    font-weight: bold;
    font-size: 40rpx !important;
  }
  .text3-clz {
    color: #ececec;
  }
  .text20-clz {
    font-weight: bold;
    font-size: 40rpx !important;
  }
  .text24-clz {
    color: #ececec;
  }
  .text25-clz {
    font-weight: bold;
    font-size: 40rpx !important;
  }
  .text26-clz {
    color: #ececec;
  }
  .text27-clz {
    font-weight: bold;
    font-size: 40rpx !important;
  }
  .text28-clz {
    color: #ececec;
  }
  .flex24-clz {
    background-color: #f5f5f5;
    padding-top: 20rpx;
    padding-left: 20rpx;
    padding-bottom: 20rpx;
    padding-right: 20rpx;
  }
  .image-clz {
    border-bottom-left-radius: 12rpx;
    overflow: hidden;
    border-top-left-radius: 12rpx;
    border-top-right-radius: 12rpx;
    border-bottom-right-radius: 12rpx;
  }
  .image-size {
    height: 96rpx !important;
    width: 96rpx !important;
  }
  .flex25-clz {
    padding-top: 0rpx;
    flex: 1;
    padding-left: 10rpx;
    padding-bottom: 10rpx;
    padding-right: 10rpx;
  }
  .flex30-clz {
    margin-left: 10rpx;
    width: calc(100% - 10rpx - 10rpx) !important;
    margin-top: 0rpx;
    margin-bottom: 0rpx;
    margin-right: 10rpx;
  }
  .text23-clz {
    color: #797979;
  }
  .flex21-clz {
    padding-top: 20rpx;
    border-bottom-left-radius: 12rpx;
    padding-left: 20rpx;
    padding-bottom: 20rpx;
    border-top-right-radius: 12rpx;
    margin-right: 10rpx;
    background-color: #ffffff;
    margin-left: 10rpx;
    overflow: visible;
    width: calc(100% - 10rpx - 10rpx) !important;
    border-top-left-radius: 12rpx;
    margin-top: 10rpx;
    border-bottom-right-radius: 12rpx;
    margin-bottom: 10rpx;
    padding-right: 20rpx;
  }
  .icon6-clz {
    transform: translate(0rpx, 0rpx) rotate(30deg);
    color: #ffffff;
    top: 30rpx;
    left: -20rpx;
    position: absolute;
  }
  .icon6 {
    font-size: 32rpx;
  }
  .text17-clz {
    font-size: 34rpx !important;
  }
  .flex26-clz {
    background-color: #f5f5f5;
    padding-top: 20rpx;
    padding-left: 20rpx;
    padding-bottom: 20rpx;
    padding-right: 20rpx;
  }
  .flex27-clz {
    padding-top: 0rpx;
    flex: 1;
    padding-left: 10rpx;
    padding-bottom: 10rpx;
    padding-right: 10rpx;
  }
  .flex29-clz {
    margin-left: 10rpx;
    width: calc(100% - 10rpx - 10rpx) !important;
    margin-top: 0rpx;
    margin-bottom: 0rpx;
    margin-right: 10rpx;
  }
  .text21-clz {
    color: #797979;
  }
  .flex28-clz {
    padding-top: 20rpx;
    border-bottom-left-radius: 12rpx;
    padding-left: 20rpx;
    padding-bottom: 20rpx;
    border-top-right-radius: 12rpx;
    margin-right: 10rpx;
    background-color: #ffffff;
    margin-left: 10rpx;
    overflow: visible;
    width: calc(100% - 10rpx - 10rpx) !important;
    border-top-left-radius: 12rpx;
    margin-top: 10rpx;
    border-bottom-right-radius: 12rpx;
    margin-bottom: 10rpx;
    padding-right: 20rpx;
  }
  .icon9-clz {
    transform: translate(0rpx, 0rpx) rotate(-30deg);
    color: #ffffff;
    top: 30rpx;
    position: absolute;
    right: -20rpx;
  }
  .icon9 {
    font-size: 32rpx;
  }
  .text22-clz {
    font-size: 34rpx !important;
  }
  .image1-clz {
    border-bottom-left-radius: 12rpx;
    overflow: hidden;
    border-top-left-radius: 12rpx;
    border-top-right-radius: 12rpx;
    border-bottom-right-radius: 12rpx;
  }
  .image1-size {
    height: 96rpx !important;
    width: 96rpx !important;
  }
  .flex5-clz {
    padding-top: 20rpx;
    border-bottom-left-radius: 12rpx;
    color: #ffffff;
    padding-left: 20rpx;
    padding-bottom: 20rpx;
    border-top-right-radius: 12rpx;
    margin-right: 20rpx;
    background-color: #3e3e3e;
    margin-left: 20rpx;
    overflow: visible;
    width: calc(100% - 20rpx - 20rpx) !important;
    border-top-left-radius: 12rpx;
    margin-top: 20rpx;
    border-bottom-right-radius: 12rpx;
    margin-bottom: 20rpx;
    padding-right: 20rpx;
  }
  .icon-clz {
    transform: translate(-50%, 0rpx);
    color: #3e3e3e;
    top: -24rpx;
    left: 50%;
    position: absolute;
  }
  .icon {
    font-size: 32rpx;
  }
  .text5-clz {
    font-size: 34rpx !important;
  }
  .flex16-clz {
    padding-top: 20rpx;
    border-bottom-left-radius: 12rpx;
    color: #ffffff;
    padding-left: 20rpx;
    padding-bottom: 20rpx;
    border-top-right-radius: 12rpx;
    margin-right: 20rpx;
    background-color: #3e3e3e;
    margin-left: 60rpx;
    overflow: visible;
    width: calc(100% - 60rpx - 20rpx) !important;
    border-top-left-radius: 12rpx;
    margin-top: 20rpx;
    border-bottom-right-radius: 12rpx;
    margin-bottom: 20rpx;
    padding-right: 20rpx;
  }
  .icon3-clz {
    transform: translate(0rpx, -50%) rotate(30deg);
    color: #3e3e3e;
    top: 50%;
    left: -20rpx;
    position: absolute;
  }
  .icon3 {
    font-size: 32rpx;
  }
  .text14-clz {
    font-size: 34rpx !important;
  }
  .flex17-clz {
    padding-top: 20rpx;
    border-bottom-left-radius: 12rpx;
    color: #ffffff;
    padding-left: 20rpx;
    padding-bottom: 20rpx;
    border-top-right-radius: 12rpx;
    margin-right: 60rpx;
    background-color: #3e3e3e;
    margin-left: 20rpx;
    overflow: visible;
    width: calc(100% - 20rpx - 60rpx) !important;
    border-top-left-radius: 12rpx;
    margin-top: 20rpx;
    border-bottom-right-radius: 12rpx;
    margin-bottom: 20rpx;
    padding-right: 20rpx;
  }
  .icon4-clz {
    transform: translate(0rpx, -50%) rotate(-30deg);
    color: #3e3e3e;
    top: 50%;
    position: absolute;
    right: -20rpx;
  }
  .icon4 {
    font-size: 32rpx;
  }
  .text16-clz {
    font-size: 34rpx !important;
  }
  .flex15-clz {
    padding-top: 20rpx;
    border-bottom-left-radius: 12rpx;
    color: #ffffff;
    padding-left: 20rpx;
    padding-bottom: 20rpx;
    border-top-right-radius: 12rpx;
    margin-right: 20rpx;
    background-color: #3e3e3e;
    margin-left: 20rpx;
    overflow: visible;
    width: calc(100% - 20rpx - 20rpx) !important;
    border-top-left-radius: 12rpx;
    margin-top: 20rpx;
    border-bottom-right-radius: 12rpx;
    margin-bottom: 20rpx;
    padding-right: 20rpx;
  }
  .icon2-clz {
    color: #3e3e3e;
    top: -24rpx;
    left: 30rpx;
    position: absolute;
  }
  .icon2 {
    font-size: 32rpx;
  }
  .text13-clz {
    font-size: 34rpx !important;
  }
  .container23285 {
    padding-left: 0px;
    padding-right: 0px;
  }
  .container23285 {
  }
</style>


目录
相关文章
|
2月前
|
前端开发
如何设置 CSS 盒子模型的边框样式?
CSS盒子模型的边框样式可以通过`border`属性设置,包括边框宽度、样式和颜色。例如:`border: 2px solid red;` 设置了2像素宽的红色实线边框。也可分别设置四边,如`border-top`、`border-right`等。
|
27天前
|
前端开发 JavaScript UED
|
2月前
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
196 1
|
2月前
|
编解码 前端开发 JavaScript
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
59 2
|
1月前
CSS3圆角边框
CSS3圆角边框
39 0
|
1月前
|
前端开发
HTML 样式- CSS3
内部样式表适用于单个文件的特别样式,通过&lt;head&gt;部分的&lt;style&gt;标签定义;外部样式表适用于多个页面,通过&lt;link&gt;标签引用外部CSS文件;&lt;style&gt;定义样式,&lt;link&gt;引用资源;已弃用的标签有&lt;font&gt;、&lt;center&gt;、&lt;strike&gt;,属性有color和bgcolor。
HTML 样式- CSS2
HTML样式实例展示了如何使用`font-family`、`color`和`font-size`属性来定义字体样式,以及使用`text-align`属性来设置文本的对齐方式。示例包括标题和段落的样式设置。
|
1月前
|
前端开发
HTML 样式- CSS1
CSS (层叠样式表) 用于为 HTML 元素添加样式,包括颜色、文本、盒子模型等。CSS 可以通过内联样式、内部样式表或外部引用的方式添加到 HTML 中。推荐使用外部引用方式。本教程将介绍如何使用 CSS 为 HTML 添加样式,并提供实例演示。
|
2月前
|
前端开发
运用CSS伪类与属性,巧妙实现背景图片旋转效果
运用CSS伪类与属性,巧妙实现背景图片旋转效果
38 0
|
2月前
|
前端开发 Ubuntu Linux
CSS 修改鼠标图标样式
CSS 修改鼠标图标样式
43 0