当前位置: 首页 > news >正文

给你的边框加点渐变

目录

    • 前言
    • border-image
    • border-image
    • 实现
    • background+父子div
    • backgorund+一个div+一个伪元素
    • background-clip

🧨🧨🧨

大家好,我是搞前端的半夏 🧑,一个热爱写文的前端工程师 💻.
如果喜欢我的文章,可以关注 ➕ 点赞 👍 一起学习交流前端,成为更优秀的工程师~ 更多故事—点我探索新世界!

🧨🧨🧨

前言

总有人觉得CSS就是一个布局的工具,忽视了CSS的重点,CSS的全称是啥?层叠样式表(Cascading Style Sheets)第二个词是啥,样式样式样式!总有人把CSS的强大忽略了。同样的效果,不同的实现方式,总会有好有坏,但是就怕你一种也不会!本文主要通过一个边框的实现方式来学习不同的属性。

border-image

我之前写过一篇文章来专门来介绍这个属性。《24张图攻克border-image 》这里再简单的介绍一下。

border-image

首先这个属性是下面个属性的缩写,

border-image-source 指定资源

border-image-slice规定图片剪裁位置

border-image-width指定宽度

border-image-outset 指定在边框外部绘制 区域 的量

border-image-repeat 这个是和background-repeat基本差不多*

实现

border-image-source不仅可以接受图片,还可以接受渐变。

注意:这种实现方式有一个缺点就是, border-radius:是无法生效的。所以圆角渐变边框,只能say bye!

这里将整个div分割,然后使用streach拉伸整个border-image.

     .border-image {width: 200px;height: 100px;border: 2px solid;border-image-source: linear-gradient(45deg, #56ECC7, #9f5ad8);border-image-slice: 1;border-image-repeat: stretch;}

image-20211108232240601

background+父子div

<div class="container"><div class="box"></div>
</div>
    <style>.container {background: linear-gradient(45deg,#56ECC7 0%, #6067f3 100%);padding: 1px;width: 200px;height: 100px;border-radius: 4px;}.box {background: #fff;border-radius: 4px;width: 100%;height: 100%;}</style></head><body><div class="container"><div class="box"></div></div>

image-20211108232246825

backgorund+一个div+一个伪元素

看到上一个例子,可能有人此时会想到既然可以使用两个div,那为何不使用一个div加上:after呢?当然是可以的

image-20211108232725786

注意:这里的伪元素充当的是上面父div的角色,可能有人非不信,一定要把渐变加在container上,然后为元素设置白色。你有没有考虑容器有内容的情况。

 .container::after {content: "";z-index: -1;background: linear-gradient(45deg,#56ECC7 0%, #6067f3 100%);
}<div class="container">渐变边框</div>

background-clip

这个属性不多介绍了,请看之前的文章:http://sylblog.xin/archives/38

background-clip: content-box;背景被裁剪至内容区(content box)外沿.

background-clip: border-box;背景延伸至边框外沿(但是在边框下层).

我们这里设置两个渐变,一个全白的渐变,使用background-clip: content-box让他覆盖内容区域。然后使用background-clip: border-box;将 linear-gradient(45deg, #56ecc7, #6067f3);放到border上面。这样是为啥要设置 background-origin: border-box;

   .container {border: solid 1px transparent;border-radius: 5px;background-image: linear-gradient(#fff, #fff),linear-gradient(45deg, #56ecc7, #6067f3);background-origin: border-box;background-clip: content-box, border-box;text-align: center;line-height: 80px;}
http://www.lryc.cn/news/4911.html

相关文章:

  • 【目标检测】如何使用Yolov8
  • NVM安装、配置环境、简单使用
  • 【SPSS】数据预处理基础教程(附案例实战)
  • 某饿了么APP最新版逆向分析(二):加密参数初探
  • 程序的编译与链接(预处理详解)+百度面试笔试题+《高质量C/C++编程指南》笔试题
  • 全解析 ESM 模块语法,出去还是进来都由你说了算
  • MATLAB 粒子群算法
  • java微信小程序音乐播放器分享系统
  • VS各版本VC各版本对应关系
  • 如何处理“WLAN没有有效的IP配置”这一问题?
  • ElasticSearch-学习笔记05【SpringDataElasticSearch】
  • 【GlobalMapper精品教程】045:空间操作(2)——相交(Intersect)
  • Android 一体机研发之修改系统设置————自动锁屏
  • 七天实现一个go rpc框架
  • EMQX Cloud Serverless 正式上线:三秒部署、按量计费的 MQTT Serverless 云服务
  • 快速排序 容易理解的版本
  • Linux体系结构
  • 【汽车电子】什么是ADAS?
  • java: 错误: 不支持发行版本 5(快速解决办法)
  • QT中pro文件常用qmake语法
  • Android 一体机研发之修改系统设置————声音
  • 挖掘长尾关键词的五大思路
  • ccc-Brief Introduction of Deep Learning-李宏毅(6)
  • 【TVM 学习资料】用 Schedule 模板和 AutoTVM 优化算子
  • 蓝牙Mesh学习笔记(一)
  • 【1234. 替换子串得到平衡字符串】
  • 独自开:提供创业机会、享受平台分红、推出新颖赚钱副业
  • C++【二叉树进阶(二叉搜索树)】
  • 【C++初阶】vector的使用
  • OPenPCDet windows流程及其问题