简单漂亮的首页

效果图

 

说明 

    这个首页我也是构思了很久,才想出这个界面,大家喜欢的话,可以拿走去使用

技术的话,采用的就是vue的语法,但是不影响,很多样式我都是直接手敲出来的

代码实现

标语

 <!-- 标语 start-->
    <div class="text">
      <p><span>Do something you love.</span></p>
      <p>"Success is not final, failure is not fatal: it is the courage to continue that counts."</p>
      <!-- 这句话出自英国前首相温斯顿·丘吉尔之口,意为“成功并不是终点,失败并不致命,真正重要的是拥有继续前进的勇气。”-->
    </div>
    <!-- 标语 end-->
.text {
    padding-top: 300px;
    text-align: center;
    height: 600px;

    p {
      color: #dbedf2;
      font-size: 28px;
      margin-bottom: 20px;

      span {
        font-size: 50px;
        color: white;
      }
    }
  }

 

卡片

 <!-- 卡片 start-->
    <div class="card">
      <!-- 卡片列表 start-->
      <div class="card-list">
        <div class="card-item">
          <el-icon class="card-icon" size="80px">
            <Sunny/>
          </el-icon>
          <p><span>{{ cardList[0].title }}</span></p>
          <p>{{ cardList[0].content }}</p>
          <button>{{ cardList[0].button }}</button>
        </div>
        <div class="card-item">
          <el-icon class="card-icon" size="80px">
            <Ship/>
          </el-icon>
          <p><span>{{ cardList[1].title }}</span></p>
          <p>{{ cardList[1].content }}</p>
          <button>{{ cardList[1].button }}</button>
        </div>
        <div class="card-item">
          <el-icon class="card-icon" size="80px">
            <Sunrise/>
          </el-icon>
          <p><span>{{ cardList[2].title }}</span></p>
          <p>{{ cardList[2].content }}</p>
          <button>{{ cardList[2].button }}</button>
        </div>
      </div>
      <!-- 卡片列表 end-->
      <!-- 斜块 start-->
      <div class="tilt"></div>
      <!-- 斜块 start-->
      <!-- 视频 start-->
      <div class="video">
        <p>WATCH THE VIDEO</p>
        <el-icon @click="videoActive=!videoActive" class="video-icon">
          <VideoPlay/>
        </el-icon>
        <el-dialog v-model="videoActive" show-close>
          <vue3VideoPlay v-bind="options"/>
        </el-dialog>
      </div>
      <!-- 视频 start-->
    </div>
    <!-- 卡片 end-->
.card {
    .tilt {
      background-color: #fff;
      height: 750px;
      transform: skewY(-1.5deg); /* 使顶部向左倾斜10度 */
    }

    .card-list {
      margin-left: 10%;
      position: absolute;
      z-index: 9;
      margin-top: -100px;
      display: flex;

      .card-item {
        background-color: #fff;
        height: 400px;
        width: 400px;
        box-shadow: 7px 14px 42px 3px rgb(163 174 184 / 40%);

        .card-icon {
          margin-top: 40px;
          margin-left: 41%;
          color: #52d3aa;
        }

        p {
          text-align: center;
          line-height: 30px;
          font-size: 17px;
          margin-top: 20px;
          margin-left: 10%;
          margin-right: 10%;

          span {
            font-size: 28px;
          }
        }

        button {
          margin-top: 20px;
          margin-left: 30%;
          width: 40%;
          border-radius: 5px;
          background: #52d3aa;
          color: #fff;
          border: none !important;
          border: 10px solid transparent !important;
          text-transform: uppercase;
          letter-spacing: 2px;

        }

        button:hover {
          cursor: pointer;
          background: #fff;
          color: #52d3aa;
        }
      }

      .card-item:hover {
        background-image: url("@/assets/image/背景图片/img_7.jpg");
        background-size: cover;
        color: #fff;

        .card-icon {
          color: #fff !important;
        }

      }
    }

    .video {
      position: absolute;
      z-index: 9;
      margin-top: -340px;
      margin-left: 38%;

      p {
        font-size: 24px;
        font-weight: bolder;
        color: #7f7f7f;
      }

      .video-icon {
        margin-top: 30px;
        margin-left: 40px;
        font-size: 150px;
        color: #52d3aa;
      }

      .video-icon:hover {
        cursor: pointer;
        font-size: 153px;
      }
    }
  }

图片墙

<!-- 图片墙 start-->
    <div class="work">
      <div class="work-title">
        <p><span>图片墙</span></p>
        <hr/>
        <p>
          图片墙记录着我们团队的欢笑、汗水和努力。在这里,你可以看到我们团队成员充满激情地合作、创新和研发出优秀的产品。这些照片展示了多元化的团队文化,我们鼓励员工发挥创造力,分享彼此的成功和成长。
        </p>
      </div>
      <div class="picture-list">
        <div @click="showImage(index)" class="picture-item" v-for="(item,index) in imgList.list" :key="index">
          <el-image class="image" fit="cover" :src="item.bannerUrl"></el-image>
          <p><span>{{ item.bannerData1 }}</span></p>
          <p>{{ item.bannerData2 }}</p>
        </div>
        <el-dialog v-model="showImageActive">
          <el-image style="width: 100%;height: 500px;border-radius: 5px" fit="cover"
                    :src="imgDesc.bannerUrl"></el-image>
        </el-dialog>
      </div>
    </div>
    <!-- 图片墙 end-->
.work {
    margin-top: 100px;
    margin-bottom: 300px;

    .work-title {
      text-align: center;
      margin-left: 25%;
      margin-right: 25%;

      p {
        color: #daedf7;
        font-size: 25px;
        line-height: 50px;

        span {
          color: #ffffff;
          font-size: 50px;

        }
      }

      hr {
        margin-top: 30px;
        margin-bottom: 30px;
        width: 4%;
      }
    }

    .picture-list {
      margin-top: 100px;
      margin-left: 10%;
      width: 100%;
      display: flex;
      flex-wrap: wrap; //自动换行

      .picture-item {
        border-radius: 8px;
        background-color: #fff;
        height: 370px;
        width: 370px;
        margin: 20px;

        .image {
          border-radius: 8px 8px 0 0;
          height: 300px;
          width: 100%;
        }

        p {
          text-align: center;
          line-height: 30px;
          color: #b3b3b3;
          font-size: 16px;

          span {
            font-weight: bolder;
            color: #000000;
          }

          span:hover {
            color: #57d4ac;
          }
        }

      }

      .picture-item:hover {
        box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3);
        margin-top: -1px;
        cursor: pointer;
      }
    }
  }

理念

  <!-- 理念 start-->
    <div class="evaluate">
      <!-- 斜块 start-->
      <div class="tilt"></div>
      <!-- 斜块 start-->
      <div class="title">
        <p><span>理念</span></p>
        <hr color="#52d3aa">
        <p>我们的理念是通过技术与人文的结合,解决现实生活中的问题,推动社会的进步和发展。</p>
        <p>
          我们相信,现代互联网技术可以拓展人类的视野,打破地域的限制,让人们更加便捷地获取信息、交流和合作。通过创新,我们为客户提供前瞻性的产品和服务,帮助他们在激烈的市场竞争中脱颖而出。</p>
      </div>
    </div>
    <!-- 理念 end-->
.work {
    margin-top: 100px;
    margin-bottom: 300px;

    .work-title {
      text-align: center;
      margin-left: 25%;
      margin-right: 25%;

      p {
        color: #daedf7;
        font-size: 25px;
        line-height: 50px;

        span {
          color: #ffffff;
          font-size: 50px;

        }
      }

      hr {
        margin-top: 30px;
        margin-bottom: 30px;
        width: 4%;
      }
    }

    .picture-list {
      margin-top: 100px;
      margin-left: 10%;
      width: 100%;
      display: flex;
      flex-wrap: wrap; //自动换行

      .picture-item {
        border-radius: 8px;
        background-color: #fff;
        height: 370px;
        width: 370px;
        margin: 20px;

        .image {
          border-radius: 8px 8px 0 0;
          height: 300px;
          width: 100%;
        }

        p {
          text-align: center;
          line-height: 30px;
          color: #b3b3b3;
          font-size: 16px;

          span {
            font-weight: bolder;
            color: #000000;
          }

          span:hover {
            color: #57d4ac;
          }
        }

      }

      .picture-item:hover {
        box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3);
        margin-top: -1px;
        cursor: pointer;
      }
    }
  }

全部代码

<template>
  <div class="container">
    <!-- 标语 start-->
    <div class="text">
      <p><span>Do something you love.</span></p>
      <p>"Success is not final, failure is not fatal: it is the courage to continue that counts."</p>
      <!-- 这句话出自英国前首相温斯顿·丘吉尔之口,意为“成功并不是终点,失败并不致命,真正重要的是拥有继续前进的勇气。”-->
    </div>
    <!-- 标语 end-->
    <!-- 卡片 start-->
    <div class="card">
      <!-- 卡片列表 start-->
      <div class="card-list">
        <div class="card-item">
          <el-icon class="card-icon" size="80px">
            <Sunny/>
          </el-icon>
          <p><span>{{ cardList[0].title }}</span></p>
          <p>{{ cardList[0].content }}</p>
          <button>{{ cardList[0].button }}</button>
        </div>
        <div class="card-item">
          <el-icon class="card-icon" size="80px">
            <Ship/>
          </el-icon>
          <p><span>{{ cardList[1].title }}</span></p>
          <p>{{ cardList[1].content }}</p>
          <button>{{ cardList[1].button }}</button>
        </div>
        <div class="card-item">
          <el-icon class="card-icon" size="80px">
            <Sunrise/>
          </el-icon>
          <p><span>{{ cardList[2].title }}</span></p>
          <p>{{ cardList[2].content }}</p>
          <button>{{ cardList[2].button }}</button>
        </div>
      </div>
      <!-- 卡片列表 end-->
      <!-- 斜块 start-->
      <div class="tilt"></div>
      <!-- 斜块 start-->
      <!-- 视频 start-->
      <div class="video">
        <p>WATCH THE VIDEO</p>
        <el-icon @click="videoActive=!videoActive" class="video-icon">
          <VideoPlay/>
        </el-icon>
        <el-dialog v-model="videoActive" show-close>
          <vue3VideoPlay v-bind="options"/>
        </el-dialog>
      </div>
      <!-- 视频 start-->
    </div>
    <!-- 卡片 end-->
    <!-- 图片墙 start-->
    <div class="work">
      <div class="work-title">
        <p><span>图片墙</span></p>
        <hr/>
        <p>
          图片墙记录着我们团队的欢笑、汗水和努力。在这里,你可以看到我们团队成员充满激情地合作、创新和研发出优秀的产品。这些照片展示了多元化的团队文化,我们鼓励员工发挥创造力,分享彼此的成功和成长。
        </p>
      </div>
      <div class="picture-list">
        <div @click="showImage(index)" class="picture-item" v-for="(item,index) in imgList.list" :key="index">
          <el-image class="image" fit="cover" :src="item.bannerUrl"></el-image>
          <p><span>{{ item.bannerData1 }}</span></p>
          <p>{{ item.bannerData2 }}</p>
        </div>
        <el-dialog v-model="showImageActive">
          <el-image style="width: 100%;height: 500px;border-radius: 5px" fit="cover"
                    :src="imgDesc.bannerUrl"></el-image>
        </el-dialog>
      </div>
    </div>
    <!-- 图片墙 end-->
    <!-- 理念 start-->
    <div class="evaluate">
      <!-- 斜块 start-->
      <div class="tilt"></div>
      <!-- 斜块 start-->
      <div class="title">
        <p><span>理念</span></p>
        <hr color="#52d3aa">
        <p>我们的理念是通过技术与人文的结合,解决现实生活中的问题,推动社会的进步和发展。</p>
        <p>
          我们相信,现代互联网技术可以拓展人类的视野,打破地域的限制,让人们更加便捷地获取信息、交流和合作。通过创新,我们为客户提供前瞻性的产品和服务,帮助他们在激烈的市场竞争中脱颖而出。</p>
      </div>
    </div>
    <!-- 理念 end-->
  </div>
</template>
<script setup>
import {onMounted, reactive, ref} from "vue";
import 'vue3-video-play/dist/style.css'
import axios from "@/api/index";
//初始化视频对话框
const videoActive = ref(false)
//图片
const showImageActive = ref(false)
//初始化卡片数据
const cardList = reactive([
  {
    icon: '',
    title: '创意',
    content: '创新力是我们的翅膀,驱动我们超越边界,开创全新的未来。激发创新思维,释放潜能,让创意翻飞,颠覆现状。因为创新,所以精彩。',
    button: 'originality',
  },
  {
    icon: '',
    title: '探索',
    content: '在探索的旅程中,我们发现真正的力量来自于勇往直前的勇气。无畏地掌握新知识,拥抱新技术,我们追逐未知的可能性。',
    button: 'explore',
  },
  {
    icon: '',
    title: '愿景',
    content: '无论是在科技创新、社会变革还是环境保护的领域,我们秉持着超越极限,引领潮流的信念。在我们的愿景中,没有不可能,只有争取。',
    button: 'vision',
  },
])
//初始化图片数据
const imgList = reactive({list: []})
//初始图片基础信息
const imgDesc = reactive({
  src: ''
})
//视频参数
const options = reactive({
  width: "720px", //播放器宽度
  height: "470px", //播放器高度
  color: "#409eff", //主题色
  title: "测试", //视频名称
  src: "http://118.31.60.184:8020/月木学途/接口测试/1.接口测试基础.mp4", //视频源
  muted: false, //静音
  speed: false, // 关闭进度条拖动
  webFullScreen: false,
  speedRate: ["0.75", "1.0", "1.25", "1.5", "2.0"], //播放倍速
  autoPlay: false, //自动播放
  loop: false, //循环播放
  mirror: false, //镜像画面
  ligthOff: false, //关灯模式
  volume: 0.3, //默认音量大小
  control: true, //是否显示控制
  controlBtns: [
    "audioTrack",
    "quality",
    "speedRate",
    "volume",
    "setting",
    "pip",
    "pageFullScreen",
    "fullScreen",
  ], //显示所有按钮,
});
onMounted(() => {
  axios.banner_findByTypeId(
      {
        bannerTypeId: 2
      }
  ).then(res => {
    if (res.data.code == 200) {
      imgList.list = res.data.data
    }
  })
})
/**
 * 展现图片
 */
const showImage = (index) => {
  showImageActive.value = true
  imgDesc.bannerUrl = imgList.list[index].bannerUrl
}
</script>
<style scoped lang="scss">
.container {
  background-image: -webkit-gradient(linear, 0% 0%, 100% 100%, color-stop(0, #3f95ea), color-stop(1, #52d3aa));
  background-image: -webkit-repeating-linear-gradient(top left, #3f95ea 0%, #52d3aa 100%);
  background-image: repeating-linear-gradient(to bottom right, #3f95ea 0%, #52d3aa 100%);
  background-image: -ms-repeating-linear-gradient(top left, #3f95ea 0%, #52d3aa 100%);
  padding-bottom: 200px;

  .text {
    padding-top: 300px;
    text-align: center;
    height: 600px;

    p {
      color: #dbedf2;
      font-size: 28px;
      margin-bottom: 20px;

      span {
        font-size: 50px;
        color: white;
      }
    }
  }

  .card {
    .tilt {
      background-color: #fff;
      height: 750px;
      transform: skewY(-1.5deg); /* 使顶部向左倾斜10度 */
    }

    .card-list {
      margin-left: 10%;
      position: absolute;
      z-index: 9;
      margin-top: -100px;
      display: flex;

      .card-item {
        background-color: #fff;
        height: 400px;
        width: 400px;
        box-shadow: 7px 14px 42px 3px rgb(163 174 184 / 40%);

        .card-icon {
          margin-top: 40px;
          margin-left: 41%;
          color: #52d3aa;
        }

        p {
          text-align: center;
          line-height: 30px;
          font-size: 17px;
          margin-top: 20px;
          margin-left: 10%;
          margin-right: 10%;

          span {
            font-size: 28px;
          }
        }

        button {
          margin-top: 20px;
          margin-left: 30%;
          width: 40%;
          border-radius: 5px;
          background: #52d3aa;
          color: #fff;
          border: none !important;
          border: 10px solid transparent !important;
          text-transform: uppercase;
          letter-spacing: 2px;

        }

        button:hover {
          cursor: pointer;
          background: #fff;
          color: #52d3aa;
        }
      }

      .card-item:hover {
        background-image: url("@/assets/image/背景图片/img_7.jpg");
        background-size: cover;
        color: #fff;

        .card-icon {
          color: #fff !important;
        }

      }
    }

    .video {
      position: absolute;
      z-index: 9;
      margin-top: -340px;
      margin-left: 38%;

      p {
        font-size: 24px;
        font-weight: bolder;
        color: #7f7f7f;
      }

      .video-icon {
        margin-top: 30px;
        margin-left: 40px;
        font-size: 150px;
        color: #52d3aa;
      }

      .video-icon:hover {
        cursor: pointer;
        font-size: 153px;
      }
    }
  }

  .work {
    margin-top: 100px;
    margin-bottom: 300px;

    .work-title {
      text-align: center;
      margin-left: 25%;
      margin-right: 25%;

      p {
        color: #daedf7;
        font-size: 25px;
        line-height: 50px;

        span {
          color: #ffffff;
          font-size: 50px;

        }
      }

      hr {
        margin-top: 30px;
        margin-bottom: 30px;
        width: 4%;
      }
    }

    .picture-list {
      margin-top: 100px;
      margin-left: 10%;
      width: 100%;
      display: flex;
      flex-wrap: wrap; //自动换行

      .picture-item {
        border-radius: 8px;
        background-color: #fff;
        height: 370px;
        width: 370px;
        margin: 20px;

        .image {
          border-radius: 8px 8px 0 0;
          height: 300px;
          width: 100%;
        }

        p {
          text-align: center;
          line-height: 30px;
          color: #b3b3b3;
          font-size: 16px;

          span {
            font-weight: bolder;
            color: #000000;
          }

          span:hover {
            color: #57d4ac;
          }
        }

      }

      .picture-item:hover {
        box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3);
        margin-top: -1px;
        cursor: pointer;
      }
    }
  }

  .evaluate {
    .tilt {
      background-color: #fff;
      height: 600px;
      transform: skewY(-1.5deg); /* 使顶部向左倾斜10度 */
    }

    .title {
      margin-top: -500px;
      position: absolute;
      text-align: center;
      margin-left: 25%;
      margin-right: 25%;

      p {
        color: #929292;
        font-size: 25px;
        line-height: 50px;

        span {
          color: #444444;
          font-size: 50px;

        }
      }

      hr {
        margin-top: 30px;
        margin-bottom: 30px;
        width: 4%;
      }
    }
  }
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/159270.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《QT从基础到进阶·三十》QVariant的基础用法

很多时候&#xff0c;需要几种不同的数据类型需要传递&#xff0c;如果用结构体&#xff0c;又不大方便&#xff0c;容器保存的也只是一种数据类型&#xff0c;而QVariant则可以统统搞定。 QVariant可以保存QT和C常用类型&#xff0c;如果是自定义类型&#xff0c;比如struct,c…

【配置环境】VS Code怎么使用JavaScript的Mocha测试框架和Chai断言库

一&#xff0c;环境 Windows 11 家庭中文版&#xff0c;64 位操作系统, 基于 x64 的处理器VS Code 版本: 1.83.1 (user setup)Node.js 版本&#xff1a;20.9.0 二&#xff0c;安装背景 在运行测试用例时遇到 ReferenceError: describe is not defined 错误&#xff0c;网上搜寻…

JUC工具类_CyclicBarrier与CountDownLatch

最近被问到CyclicBarrier和CountDownLatch相关的面试题&#xff0c;CountDownLatch平时工作中经常用到&#xff0c;但是CyclicBarrier没有用过&#xff0c;一时答不上来&#xff0c;因此简单总结记录一下 1.什么是CyclicBarrier&#xff1f; 1.1 概念 CyclicBarrier&#xff…

MyBatis #{} 和 ${} 的区别

前言&#xff1a; #{} 和 ${} 的区别是 MyBatis 中一个常见的面试题&#xff0c;#{} 和 ${} 是MyBatis 中获取参数的两种方式&#xff0c;但我们在项目中大多数使用的都是 #{} 来获取参数&#xff0c;那么它们两个有什么区别呢&#xff1f; 区别 一. #{} 采用预编译 SQL&…

智能位移监测,更新传统井盖的功能

在城市的街道和人行道上&#xff0c;我们经常可以看到井盖的存在。井盖作为地下管道和设施的入口承载着重要的功能。然而过去我们可能忽视了一个重要的问题&#xff1a;井盖的位移可能会对人们产生潜在的威胁。为了保护我们的生活安全和交通畅通无阻和确保城市生命线安全稳定&a…

SQL Server如何建表

一、数据表的组成 实现完整性的约束有&#xff1a; –6个约束 –非空 not null –主键 primary key –唯一 unique –检查 check –默认 default –主键自增 identity 表约束 主键约束&#xff1a;值不能为null,且不能重复 非空约束&#xff1a;不能为null 默认约束&#xf…

004 OpenCV akaze特征点检测匹配

目录 一、环境 二、akaze特征点算法 2.1、基本原理 2.2、实现过程 2.3、实际应用 2.4、优点与不足 三、代码 3.1、数据准备 3.2、完整代码 一、环境 本文使用环境为&#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、akaze特征点算法 特征点检测算法…

Es 拼音搜索无法高亮

目录 背景&#xff1a; Es 版本&#xff1a; 第一步 第二步 &#xff08;错误步骤 - 只是记录过程&#xff09; 第三步 第四步 第五步 第六步 第七步 背景&#xff1a; app 原有的搜索功能无法进行拼音搜索&#xff0c;产品希望可以支持&#xff0c;例如内容中含有&a…

rv1126-rv1109-openssh

这是一个工具&#xff0c;可以通过ssh远程登录来操作&#xff0c;非常逆天&#xff01; 于是rv1109代码自身自带有openssh 所以只需要打开config即可 diff --git a/buildroot/configs/rockchip_rv1126_rv1109_spi_nand_defconfig b/buildroot/configs/rockchip_rv1126_rv1109…

【力扣】从零开始的动态规划

【力扣】从零开始的动态规划 文章目录 【力扣】从零开始的动态规划开头139. 单词拆分解题思路 45. 跳跃游戏 II解题思路 5. 最长回文子串解题思路 1143. 最长公共子序列解题思路 931. 下降路径最小和解题思路 开头 本力扣题解用5题来引出动态规划的解题步骤&#xff0c;用于本…

我的 2023 秋招总结,拿到了大厂offer

2023秋招小结 前言 & 介绍 作为2024年毕业的学生&#xff0c;在2023年也就是今年秋招。 现在秋招快结束了&#xff0c;人生可能没有几次秋招的机会&#xff08;应该就一次&#xff0c;最多两次吧哈哈&#xff09;&#xff0c;也有一点感悟&#xff0c;所以小小总结一下。…

Unity中Shader纹理的过滤

文章目录 前言一、为什么要过滤&#xff1f;二、过滤方式1、Point(no filter) 无过滤2、Bilinear 双线性过滤3、Trilinear 三线性过滤 前言 Unity中Shader纹理的过滤 一、为什么要过滤&#xff1f; 事实上没有一个纹理上的纹素是与屏幕上的像素是一一对应的。 屏幕上的 一个…

【大模型应用开发教程】动手学大模型应用开发,一起探索LLM Universe

动手学大模型应用开发 01 开源初心02 教程内容03 学习指南04 文章最后 原文链接-奇想星球 LLM 正逐步成为信息世界的新革命力量&#xff0c;其通过强大的自然语言理解、自然语言生成能力&#xff0c;为开发者提供了新的、更强大的应用开发选择。随着国内外井喷式的 LLM API 服…

Flutter笔记:桌面应用 窗口定制库 bitsdojo_window

Flutter笔记 桌面应用窗口管理库 bitsdojo_window 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/13446…

开源与闭源:大模型时代的技术交融与商业平衡

一、开源和闭源的优劣势比较 1.1 开源 优势&#xff1a; 1.技术共享与吸引人才&#xff1a; 开源促进了技术共享&#xff0c;吸引了全球范围内的人才参与大模型的发展&#xff0c;形成了庞大的开发者社区。 2.推动创新&#xff1a; 开源模式鼓励开发者共同参与&#xff0c;推动…

LrC ACR :优化的 AI 天空蒙版

在 Lightroom Classic 和 Adobe Camera Raw 中创建基于 AI 技术的天空蒙版时&#xff0c;可能由于底层算法的原因&#xff0c;选中的天空蒙版在边缘处有晕开的现象&#xff08;又称为“出血” Bleed&#xff09;&#xff0c;从而导致天空蒙版不是很精准。 本文提供了一种特殊方…

vue监听对象属性值变化

一、官方文档 二、实现方法 方法一、直接根据watch来监听 export default {data() {return {object: {username: ,password: }}},watch: {object.username(newVal, oldVal) {console.log(newVal, oldVal)}} }方法二&#xff1a;利用watch和computed来实现监听 利用computed定…

腾讯云4核8G服务器配置价格表,轻量和CVM标准型S5实例

腾讯云4核8G服务器S5和轻量应用服务器优惠价格表&#xff0c;轻量应用服务器和CVM云服务器均有活动&#xff0c;云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元&#xff0c;5年6490.44元&#xff0c;轻量应用服务器4核8G12M带宽一年446元、529元15个月&#xff0c;腾讯云…

【LeetCode刷题日志】20.有效的括号

&#x1f388;个人主页&#xff1a;库库的里昂 &#x1f390;C/C领域新星创作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏✨收录专栏&#xff1a;LeetCode 刷题日志&#x1f91d;希望作者的文章能对你有所帮助&#xff0c;有不足的地方请在评论区留言指正&#xff0c;…

php中RESTful API使用

1、RESTful AP是什么 RESTful API是一种软件架构风格 RESTful API基于HTTP协议&#xff0c;并遵循一系列约定和原则。它的设计理念是将资源&#xff08;Resource&#xff09;作为核心概念&#xff0c;并通过一组统一的接口对资源进行操作。API的资源通常通过URL进行标识&…