• CSS 设置渐变背景 CSS 设置渐变边框


    一、css渐变背景添加透明度opacity

    css渐变背景经常会在项目开发中遇到,此时UI如果给出的是单一的渐变背景(没有背景透明度),这个我们会很快的写出代码,如下:

    <div class="btn">这是一个按钮div>
    1. .btn {
    2. background: linear-gradient(to right, #8B78E6, #50A5A5);
    3. color: #fff;
    4. padding: 10px 20px;
    5. font-size: 16px;
    6. border-radius: 5px;
    7. border: none;
    8. cursor: pointer;
    9. transition: background 0.3s ease;
    10. }
    11. .btn:hover {
    12. background: linear-gradient(to right, #50A5A5, #8B78E6);
    13. }

    但偶尔的时候UI会给煎饼的背景色添加一个透明度,但是使用opacity属性会导致文本也会有透明度,接下来给出我的解决办法

    1. .btn {
    2. position: relative;
    3. color: #fff;
    4. padding: 10px 20px;
    5. font-size: 16px;
    6. border-radius: 5px;
    7. border: none;
    8. cursor: pointer;
    9. transition: background 0.3s ease;
    10. z-index: 0;
    11. }
    12. .btn:hover {
    13. background: linear-gradient(to right, #50A5A5, #8B78E6);
    14. }
    15. .btn::after{
    16. position: absolute;
    17. z-index: -1;
    18. top: 0;
    19. left: 0;
    20. width: 100%;
    21. height: 100%;
    22. content: "";
    23. opacity: 0.3;
    24. background: linear-gradient(to right, #8B78E6, #50A5A5);
    25. }

     二、css按钮添加渐变边框

    1、使用border-image

    1. .btn {
    2. border: 4px solid;
    3. border-image: linear-gradient(to right, #8f41e9, #578aef) 1;
    4. }
    5. /* 或者 */
    6. .btn {
    7. border: 4px solid;
    8. border-image-source: linear-gradient(to right, #8f41e9, #578aef);
    9. border-image-slice: 1;
    10. }

    2、使用伪元素

    1. <div class="border-box">
    2. <div class="content">
    3. 这是一个使用伪元素实现渐变边框的按钮
    4. div>
    5. div>
    1. .border-box {
    2. border: 1px solid transparent;
    3. border-radius: 16px;
    4. position: relative;
    5. color: #F2B05E;
    6. background-color: #fff;
    7. background-clip: padding-box; /*important*/
    8. }
    9. .border-box::before {
    10. content: '';
    11. position: absolute;
    12. top: 0;
    13. right: 0;
    14. left: 0;
    15. bottom: 0;
    16. z-index: -1;
    17. margin: -1px;
    18. border-radius: inherit; /*important*/
    19. background: linear-gradient(to right, #8F41E9, #578AEF);
    20. }

    3、使用单个元素background-clipbackground-originbackground-image 

    1. .border-box {
    2. border: 1px solid transparent;
    3. border-radius: 16px;
    4. color: #F2B05E;
    5. background-clip: padding-box, border-box;
    6. background-origin: padding-box, border-box;
    7. background-image: linear-gradient(to right, #fff,#fff), linear-gradient(90deg, #8F41E9, #578AEF);
    8. }

    background-clip 、background-origin属性添加了解释链接,没弄清的童鞋可以点击看下~

    分享完毕~~

  • 相关阅读:
    LinkedBlockingQueue源码分析
    神经网络实现鸢尾花分类(Tensorflow2.0)
    UEC++ 多线程(一) FRunnable
    vulnhub靶机:Kioptrix : Level 1.2
    图片上传流程&前端上传文件&后端保存文件&并返回图片地址
    LongAdder功能和原理
    【LittleXi】地址空间三题
    Linux学习第36天:Linux RTC 驱动实验:时间是一条流淌的河
    Spring_day03
    9.axios 拦截器的使用,对config 拦截器做的封装
  • 原文地址:https://blog.csdn.net/codingLeader/article/details/132715014